前言:

Docker分为开源免费的CE(Community Edition)版本和收费的EE(Enterprise Edition)版本,本文安装社区版,该版本也是开发人员和小型团队的理想选择。


版本要求:

Cosmic 18.10
Bionic 18.04 (LTS)
Xenial 16.04 (LTS)

Docker CE支持以上版本的Ubuntu 64位系统,本文的操作系统版本为:16.04.5 LTS (Xenial Xerus)

root@ubuntu1604:~#  more /etc/os-release 
NAME="Ubuntu"
VERSION="16.04.5 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.5 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial


ubuntu安装详见Ubuntu16.04.5以lvm方式安装全记录

操作系统已配置阿里源并允许root直接登录。


一、安装

1.卸载旧的docker版本

root@ubuntu1604:~# root@ubuntu1604:~# apt-get remove docker docker-engine docker.io containerd runc

Docker实践(一):Ubuntu16.04安装Docker_docker

如果之前未装老版本docker,该步骤可忽略。


2.更新软件列表

root@ubuntu1604:~# apt-get update

Docker实践(一):Ubuntu16.04安装Docker_ubuntu1604_02


3.允许apt命令可以使用HTTPS访问Docker repository

root@ubuntu1604:~# apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

Docker实践(一):Ubuntu16.04安装Docker_Docker CE_03


4.添加Docker官方的GPG key

root@ubuntu1604:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Docker实践(一):Ubuntu16.04安装Docker_Docker CE_04

验证key

root@ubuntu1604:~# apt-key fingerprint 0EBFCD88

Docker实践(一):Ubuntu16.04安装Docker_Docker CE_05

搜索后8位即可显示完成秘钥


5.设置repository版本为stable并更新软件列表

root@ubuntu1604:~# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
root@ubuntu1604:~# apt-get update

Docker实践(一):Ubuntu16.04安装Docker_Docker CE_06

Docker CE有三种更新方式:stable、test and nightly,具体差别详见:https://docs.docker.com/install/


6.安装Docker CE和containerd

root@ubuntu1604:~# apt-get install docker-ce docker-ce-cli containerd.io

Docker实践(一):Ubuntu16.04安装Docker_docker_07

查看docker版本

root@ubuntu1604:~# docker --version
Docker version 18.09.2, build 6247962

由于网络原因,安装过程可能会失败,重新执行安装命令即可。该方式安装的为最新版的Docker CE和containerd,版本为18.09.2


如果需要安装指定版本,可进行如下操作:

可用版本查询

root@ubuntu1604:~# apt-cache madison docker-ce

Docker实践(一):Ubuntu16.04安装Docker_docker_08

第二列即为版本列表

指定版本的安装命令

apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

比如安装18.09.0这个版本

root@ubuntu1604:~# apt-get install docker-ce=18.06.2~ce~3-0~ubuntu docker-ce-cli=18.06.2~ce~3-0~ubuntu containerd.io

Docker实践(一):Ubuntu16.04安装Docker_Docker CE_09


7.运行容器

运行apache

root@ubuntu1604:~# docker run -d -p 80:80 httpd

Docker实践(一):Ubuntu16.04安装Docker_Docker CE_10

访问apache

Docker实践(一):Ubuntu16.04安装Docker_Docker CE_11

容器运行正常



二、镜像加速器

由于Docker Hub的服务器在国外,下载镜像会比较慢,可以配置镜像加速器。主要的加速器有:Docker官方提供的中国registry mirror、阿里云加速器、DaoCloud 加速器,本文以阿里加速器配置为例。


1.登陆阿里云容器模块

登陆地址为:https://cr.console.aliyun.com,未注册的可以先注册阿里云账户

Docker实践(一):Ubuntu16.04安装Docker_ubuntu1604_12

选择镜像加速器,操作系统选ubuntu


2.配置镜像加速器

配置daemon.json文件

root@ubuntu1604:~# mkdir -p /etc/docker
root@ubuntu1604:~#tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://v16stybc.mirror.aliyuncs.com"]
}
EOF

Docker实践(一):Ubuntu16.04安装Docker_Docker CE_13

重启服务

root@ubuntu1604:~# systemctl daemon-reload
root@ubuntu1604:~# systemctl restart docker

加速器配置完成



三、命令补全

通过bash_complete脚本,docker提供自动补全功能,在执行该命令时,敲tab即可自动补全参数,大大提高命令输入效率。


1.安装bash-completion

root@ubuntu1604:~# apt install bash-completion


2.加载bash-completion

root@ubuntu1604:~# source /etc/bash_completion


此时即可使用tab进行命令补全:

Docker实践(一):Ubuntu16.04安装Docker_ubuntu1604_14



四、卸载

1.卸载Docker CE安装包

root@ubuntu1604:~# apt-get purge docker-ce


2.删除相关目录和配置文件

root@ubuntu1604:~# rm -rf /var/lib/docker
root@ubuntu1604:~#  rm -rf /etc/docker

如果其他路径有docker相关配置文件或目录,一并删除。



本文参考:

https://docs.docker.com/install/linux/docker-ce/ubuntu/