跳至主要內容

Ubuntu18.04 安装docker

Zenghr大约 2 分钟

Ubuntu18.04 安装docker

1 安装方式

  • ubuntu 在线安装
  • 下载 docker 二进制包离线安装

提示

本文档操作以上两种方式安装,在国内,如果用官方提供的安装方法会很慢。于是国内也有一些提供镜像的网站。

2 在线安装

# 更新包列表
sudo apt update

# 必须安装的包
sudo apt install apt-transport-https ca-certificates curl software-properties-common

# 将官方Docker存储库的GPG密钥添加到您的系统
curl -fsSL https://mirror.azure.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# 添加 docker 仓库到 Apt 源
sudo add-apt-repository "deb [arch=amd64] https://mirror.azure.cn/docker-ce/linux/ubuntu bionic stable"

# 再次更新包列表
sudo apt update

# 安装docker
sudo apt install docker-ce

# 验证 docker 安装是否成功
docker --version

# 安装 docker compose (可选)
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 赋权
sudo chmod +x /usr/local/bin/docker-compose

# 验证
docker-compose --version

3. 离线安装

选择你需要的 docker 版本,下载地址:https://download.docker.com/linux/static/stable/x86_64open in new window

3.1 解压缩二进制包

tar zxvf docker-19.03.9.tgz
mv docker/* /usr/bin

3.2 systemd管理docker

cat > /usr/lib/systemd/system/docker.service << EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
EOF

3.3 创建配置文件

mkdir /etc/docker
cat > /etc/docker/daemon.json << EOF
{
  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF
  • registry-mirrors 阿里云镜像加速器

3.4 启动并设置开机启动

systemctl daemon-reload
systemctl start docker
systemctl enable docker

4. 更换 docker 源

国内的几个源:

设置方法

  1. 在配置文件中添加registry-mirrors的配置。启动时自动配置,Linux下的默认配置文件是/etc/docker/daemon.json.
{
  "registry-mirrors": ["https://<my-docker-mirror-host>"]
}
  1. 手动启动dockerd的时候,添加--registry-mirror参数: dockerd --registry-mirror=https://<my-docker-mirror-host>