【情况配置】ubuntu中 Docker的安装

打印 上一主题 下一主题

主题 842|帖子 842|积分 2526

前言

   Docker的使用,一直没有系统的梳理和记载,刚好近来看视频又再次的全面介绍到docker。于是记载下方便后面自己的使用,毕竟安装过程中还是会存在小的不丝滑。
  1 Docker的简单介绍

   这里的介绍来自于大模子的问答(LLM时代的到来,使用起来~~)。

Docker 是一个开源的应用容器引擎,它使开发者能够打包他们的应用以及依靠包到一个可移植的容器中,然后发布到任何流行的 Linux 呆板上,也可以实现假造化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app), 更重要的是容器性能开销极低。

传统的假造化技能(如 VMware,KVM 等)是在硬件层面实现假造化,必要模拟硬件,因此无法制止地有一些额外的性能开销。而 Docker 是在操作系统层面上实现假造化,Docker 容器和内核交互,几乎没有性能损耗。

Docker 的三个基本概念

  

  • 镜像(Image):Docker 镜像是一个只读模板,可以用来创建 Docker 容器。一个镜像可以包罗一个完备的操作系统情况,里面仅安装了应用和运行时所需的依靠。镜像可以用来创建 Docker 容器。
  • 容器(Container):Docker 容器是 Docker 镜像的一个可运行实例,它包罗了应用程序及其依靠项,它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
  • 堆栈(Repository):堆栈是会合存放镜像文件的场合。堆栈分为公开堆栈(Public)和私有堆栈(Private)两种形式。最大的公开堆栈是 Docker Hub,存放了数量庞大的镜像供用户下载。国内的公开堆栈包括阿里云、网易云等。

  Docker的组成
  

  • Docker Client客户端:用户通过DockerClient与Docker守护历程进行交互,发送请求并吸收响应。
  • Docker Daemon守护历程:负责吸收来自DockerClient的请求,执行诸如创建、运行、停止、删除容器等操作。
  • Docker Image镜像
  • Docker Container容器

  Docker的使用
  

  • 安装Docker:在Linux或Windows上安装Docker引擎,并验证安装是否成功。
  • 创建和运行容器:通过Docker命令(如docker search、docker pull、docker create、docker start等)来搜索、拉取、创建和启动容器。
  • 构建和发布镜像:使用Dockerfile来定义镜像的构建过程,并通过docker build命令来构建镜像。构建完成后,可以使用docker push命令将镜像发布到Docker Hub等镜像堆栈供其他人使用。
    Docker通过其强大的功能和灵活性,已经成为当代软件开发和运维中不可或缺的工具之一。

  Docker的特点
  

  • 可移植性:Docker容器可以在任何安装了Docker的呆板上运行,无需担心情况差异。
  • 隔离性:Docker容器使用沙箱机制,相互之间不会有任何接口,确保了应用程序的安全性。
  • 轻量级:Docker容器相比于假造机更加轻量级,因为它们共享宿主机的内核,不必要额外的操作系统。
  • 版本控制:Docker镜像可以被版本化,方便管理和追踪汗青变动。

  Docker的用途
  

  • 本地依靠:Docker可以快速搭建开发情况,节流时间,提高开发效率。
  • 搭建情况:Docker可以快速地构建源码所需的情况,无需手动安装和配置各种软件。
  • 微服务:Docker非常得当微服务架构,可以将每个服务打包为一个Docker镜像并使用docker-compose来模拟生产情况。
  • 自动测试:Docker可以将测试用例与镜像紧密运行在一起,提高测试效率和可管理性。
  • 部署过程:Docker可以简化部署过程,使得应用程序可以快速、可靠地部署到目标呆板上。
  • 持续部署:Docker天生得当持续集成/持续部署,可以方便地实现应用程序的自动化更新和升级。
   2 Docker的安装

   第二章节,记载下ubuntu20.04下的Docker的安装。
  1 安装一些依靠

  1. sudo apt update
  2. sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y
复制代码
   2 添加docker官网 GPG 密钥、设置stable 堆栈

  1. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  2. sudo add-apt-repository \
  3. "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
复制代码
正确执行为会打印“OK”。
     大概存在题目:报错
  
  1. curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to download.docker.com:443
  2. gpg: no valid OpenPGP data found.
  3. ...
复制代码
  这阐明连接异常,更换阿里云进行配置GPG 密钥(如下图),以及设置stable堆栈(未贴图)

详细命令如下:

  
  1. curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  2. sudo add-apt-repository  \
  3. "deb [arch=arm64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
复制代码
     3. 安装 Docker

  1. sudo apt-get update
  2. sudo apt install docker-ce docker-ce-cli containerd.io
复制代码
安装完成,Docker 服务将会自动启动。你可以输入下面的命令,验证它:
  1. docker --version
  2. sudo systemctl status docker
复制代码

     但安装过程中,大概报错如下:
  
  1. invoke-rc.d:syntax error: unknown option ".-skip-systemd-native"
  2. dpkg: error processing package docker-ce(--configure):
  3. installed docker-ce package post-installation script subprocess returned error exit status 1
  4. Errors were encountered while processing:
  5. docker-ce
  6. E:Sub-process /usr/bin/dpkg returnedan error code (1)
复制代码
  

则需执行以下操作:
  
  1. cd /var/lib/dpkg
  2. sudo mv info info.bak
  3. sudo mkdir info
  4. sudo apt-get install docker-ce docker-ce-cli containerd.io
复制代码
   
  3.1 查阅安装的版本

  安装汗青版本的docker
  1. apt list -a docker-ce         ## 查看 Docker 软件源中所有可用的版本
  2. sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io
复制代码

  
  3.2 Docher 版本的固定

  假如你想制止 Docker 自动更新,锁住它的版本:
  1. sudo apt-mark hold docker-ce
复制代码
   4 设置非root用户的权限

  默认情况下,只有 root 或者 有 sudo 权限的用户可以执行 Docker 命令。
想要以非 root 用户执行 Docker 命令,必要将用户添加到 Docker 用户组,该用户组在 Docker_ce 软件包安装过程中被创建。输入:

  1. sudo usermod -aG docker $USER   ## $USER是一个环境变量,代表当前用户名。
复制代码
登出,而且重新登录,以便用户组会员信息刷新。
    5 安装docker-compose

  可选,安装命令如下。(实际上就是从github的releases中下载对应系统版本的docker-compose程序文件,授予执行权限即可)
  1. sudo curl -L “https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-linux-$(uname -m)” -o /usr/local/bin/docker-compose
  2. chmod +x /usr/local/bin/docker-compose
  3. docker-compose --version
复制代码

    6 Docker的测试

  Docker Hub是一个云端服务,主要用来储存 公有和私有源中的 Docker 镜像。默认情况下,Docker可以从 从 Docker Hub 拉取镜像。
运行个docker的hello-word,执行docker命令如下:

  1. docker container run hello-world
复制代码
第一次云运行时本地没有该镜像,这个命令将会下载测试镜像,在容器中运行它,打印出 “Hello from Docker”,而且退出。

  
  6.1 阿里云镜像加速器的配置

  拉取 hub.docker.com 的镜像,会发现速度很慢,是因为有墙。可以配置阿里云镜像加速器。
修改Docker配置文件。对于系统系统为Ubuntu 16.04+、Debian 8+、CentOS 7、Fedora 24+、RedHat 7+等,可修改/etc/docker/daemon.json文件(大概不存在)

  1. vim /etc/docker/daemon.json
复制代码
然后添加如下内容
  1. {
  2.   "registry-mirrors": ["https://b2w3942p.mirror.aliyuncs.com"]
  3. }
复制代码
然后重启docker
  1. sudo systemctl daemon-reload
  2. sudo systemctl restart docker
复制代码
   7 卸载 Docker

  在卸载 Docker 之前,最好移除所有的容器,镜像,卷和网络。
运行下面的命令停止所有正在运行的容器,而且移除所有的 docker 对象:

  1. docker container stop $(docker container ls -aq)
  2. docker system prune -a --volumes
复制代码
使用apt像卸载其他软件包一样来卸载 Docker:
  1. sudo apt-get purge docker-ce docker-ce-cli containerd.io
  2. sudo apt autoremove
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

悠扬随风

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表