Docker入门(四):安装使用

2023-10-02 12:56:25 浏览数 (1)

三、安装使用

1. Ubuntu

1.1 apt安装

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用HTTPS 传输的软件包以及 CA 证书。

代码语言:javascript复制
 sudo apt-get update
 sudo apt-get install  
     apt-transport-https   
        ca-certificates     
        curl        
        software-properties-common

为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。

代码语言:javascript复制
 curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
 ​
 # 官方源
 # curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add  -

然后,我们需要向source.list中添加 Docker 软件源。

代码语言:javascript复制
 sudo add-apt-repository 
     "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu 
     $(1sb_release -cs) 
     stable"
     
 #官方源
 # sudo add-apt-repository 
 #   "deb [arch=amd64]h hhttps://download.docker.com/linux/ubuntu 
 #   $(1sb_release -cs) 
 #   stable"
1.2 安装Docker CE

更新 apt 软件包缓存,并安装docker-ce:

代码语言:javascript复制
 sudo apt-get update
 sudo apt-get install docker-ce

也可以使用脚本自动安装。

在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,Ubuntu系统上可以使用这套脚本安装:

代码语言:javascript复制
 curl -fsSL get.docker.com -o get-docker.sh
 sudo sh get-docker.sh --mirror Aliyun

执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 Edge 版本安装在系统中。

1.3 启动 Docker CE
代码语言:javascript复制
 sudo systemctl enable docker
 sudo systemctl start docker

Ubuntu 14.04 请使用以下命令启动:

代码语言:javascript复制
 sudo service docker start
1.4 建立Docker用户组

默认情况下,docker命令会使用Unix socket与 Docker 引擎通讯。而只有root用户和docker组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用root用户。因此,更好地做法是将需要使用docker的用户加入docker用户组。

建立docker用户组,并将当前用户加入docker组:

代码语言:javascript复制
 sudo groupadd docker
 sudo usermod -aG docker $USER

退出当前终端并重新登录,进行如下测试。

1.5 测试
代码语言:javascript复制
 $ docker run hello-world

若能正常输出以上信息,则说明安装成功。

2. CentOS

2.1 yum安装

执行以下命令安装依赖包:

代码语言:javascript复制
 $ sudo yum install -y yum-utils 
     device-mapper-persistent-data 
     lvm2

执行下面的命令添加 yum 软件源:

代码语言:javascript复制
 $ sudo yum-config-manager 
     --add-repo 
     https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

yum配置,如果需要最新版本的 Docker CE 请使用以下命令:

代码语言:javascript复制
 $ sudo yum-config-manager --enable docker-ce-edge

如果需要测试版本的 Docker CE 请使用以下命令:

代码语言:javascript复制
 $ sudo yum-config-manager --enable docker-ce-test
2.2 安装 Docker CE

更新 yum 软件源缓存,并安装 docker-ce 。

代码语言:javascript复制
 $ sudo yum makecache fast
 $ sudo yum install docker-ce

也可以使用脚本安装,在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上也可以使用这套脚本安装:

代码语言:javascript复制
 $ curl -fsSL get.docker.com -o get-docker.sh
 $ sudo sh get-docker.sh --mirror Aliyun

执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 Edge 版本安 装在系统中。

2.3 启动Docker CE
代码语言:javascript复制
 $ sudo systemctl enable docker
 $ sudo systemctl start docker
2.4 建立 docker 用户组

默认情况下, docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统 上不会直接使用 root 用户。

因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。

建立docker用户组,并将当前用户加入docker组:

代码语言:javascript复制
 sudo groupadd docker
 sudo usermod -aG docker $USER

退出当前终端并重新登录,进行如下测试。

2.5 测试
代码语言:javascript复制
 $ docker run hello-world

若能正常输出以上信息,则说明安装成功。

2.6 添加内核参数*

默认配置下,如果在 CentOS 使用 Docker CE 看到下面的这些警告信息:

代码语言:javascript复制
 WARNING: bridge-nf-call-iptables is disabled
 WARNING: bridge-nf-call-ip6tables is disabled

请添加内核配置参数以启用这些功能。

代码语言:javascript复制
 $ sudo tee -a /etc/sysctl.conf <<-EOF
 net.bridge.bridge-nf-call-ip6tables = 1
 net.bridge.bridge-nf-call-iptables = 1
 EOF

然后重新加载 sysctl.conf 即可

代码语言:javascript复制
 $ sudo sysctl -p

3. 镜像加速

国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。

对于Ubuntu 16.04 、Debian 8 、CentOS 7

/etc/docker/daemon.json中写入如下内容(如果文件不存 在请新建该文件):

代码语言:javascript复制
 {
     "registry-mirrors": [
         "https://registry.docker-cn.com"
     ]
 }

注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。

之后重新启动服务。

代码语言:javascript复制
 $ sudo systemctl daemon-reload
 $ sudo systemctl restart docker

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

0 人点赞