由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用HTTPS 传输的软件包以及 CA 证书。
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。
鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。
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 软件源。
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"
更新 apt 软件包缓存,并安装docker-ce:
sudo apt-get update
sudo apt-get install docker-ce
也可以使用脚本自动安装。
在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,Ubuntu系统上可以使用这套脚本安装:
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 Edge 版本安装在系统中。
sudo systemctl enable docker
sudo systemctl start docker
Ubuntu 14.04 请使用以下命令启动:
sudo service docker start
默认情况下,docker命令会使用Unix socket与 Docker 引擎通讯。而只有root用户和docker组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用root用户。因此,更好地做法是将需要使用docker的用户加入docker用户组。
建立docker用户组,并将当前用户加入docker组:
sudo groupadd docker
sudo usermod -aG docker $USER
退出当前终端并重新登录,进行如下测试。
$ docker run hello-world
若能正常输出以上信息,则说明安装成功。
执行以下命令安装依赖包:
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
执行下面的命令添加 yum 软件源:
$ sudo yum-config-manager \
--add-repo \
https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
yum配置,如果需要最新版本的 Docker CE 请使用以下命令:
$ sudo yum-config-manager --enable docker-ce-edge
如果需要测试版本的 Docker CE 请使用以下命令:
$ sudo yum-config-manager --enable docker-ce-test
更新 yum 软件源缓存,并安装 docker-ce 。
$ sudo yum makecache fast
$ sudo yum install docker-ce
也可以使用脚本安装,在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上也可以使用这套脚本安装:
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 Edge 版本安 装在系统中。
$ sudo systemctl enable docker
$ sudo systemctl start docker
默认情况下, docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统 上不会直接使用 root 用户。
因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。
建立docker用户组,并将当前用户加入docker组:
sudo groupadd docker
sudo usermod -aG docker $USER
退出当前终端并重新登录,进行如下测试。
$ docker run hello-world
若能正常输出以上信息,则说明安装成功。
默认配置下,如果在 CentOS 使用 Docker CE 看到下面的这些警告信息:
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
请添加内核配置参数以启用这些功能。
$ sudo tee -a /etc/sysctl.conf <<-EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
然后重新加载 sysctl.conf 即可
$ sudo sysctl -p
国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。
对于Ubuntu 16.04+、Debian 8+、CentOS 7:
在 /etc/docker/daemon.json
中写入如下内容(如果文件不存 在请新建该文件):
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。
之后重新启动服务。
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。