三、安装使用
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
中写入如下内容(如果文件不存 在请新建该文件):
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。
之后重新启动服务。
代码语言:javascript复制 $ sudo systemctl daemon-reload
$ sudo systemctl restart docker
我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表