1、卸载旧版本的Docker
旧版本的Docker被称作docker或者docker-engine,Docker CE(社区版)包现在被叫做docker-ce。如果之前安装过了,需要先卸载:
apt-get remove docker docker-engine docker.io

2.1 更新apt安装包索引
apt-get update

复制代码2.2 安装软件包以允许apt通过HTTPS
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

复制代码2.3 添加Docker官方的GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

复制代码2.4 安装稳定版仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

apt-get install docker.io #安装docker

3 通过运行hello-world镜像验证Docker已被正确安装
docker run hello-world

注意:这个时候可能会出现无法连接的情况,这是由于国内访问Docker Hub不稳定,运用下面的命令配置我们的镜像加速器。
编辑下面文件,修改一行代码(增加黄色高亮部分),如下:
sudo vim /lib/systemd/system/docker.service
复制代码修改的行改如下:
ExecStart=/usr/sbin/dockerd -H fd:// --registry-mirror=https://registry.docker-cn.com

输入以下命令后注销并重新登录:
sudo systemctl daemon-reload
sudo systemctl restart docker
复制代码
再次运行hello-world:
sudo docker run hello-world
复制代码
若出现以下信息则表明安装成功:

ps:ubantu 以非root用户身份管理Docker
docker守护程序绑定到一个Unix套接字而不是TCP端口。默认情况下,Unix套接字由用户拥有root,其他用户只能使用它来访问它sudo。
该docker守护进程始终运行的root用户。如果不想在运行docker命令时使用sudo,需要创建一个名为docker的Unix Group向其中添加用户。
当docker守护进程启动时,它使得Unix套接字的所有权可以被docker组读/写。
同时也解决docker-compose up -d 问题
ERROR: Couldn’t connect to Docker daemon at http+docker://localunixsocket - is it running?
If it’s at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
4.1创建docker组并添加用户
4.1.1 创建docke组
sudo groupadd docker
复制代码说明: 若docker安装时此组已创建好了,此步可以忽略
4.1.2 将自己的用户添加到docker组中
假设用户名为:myEdgex
sudo usermod -aG docker myEdgex
复制代码
4.1.3 注销并重新登陆以重新验证组成员关系。
如果在虚拟机上进行测试,则可能需要重新启动虚拟机才能使更改生效。
sudo service docker restart
然后退出当前用户比如切换为root,再次切换为用户名
sudo su
su myEdgex
复制代码
4.1.4 验证不需要sudo运行docker命令
docker run hello-world
4.2 配置Docker在系统启动时启动
systemctl enable docker

复制代码
5、安装docker-compose
5.1 下载最新版本的docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

5.2 更改二进制文件的权限,使其能够运行
sudo chmod +x /usr/local/bin/docker-compose

5.3 测试安装
docker-compose --version

sudo docker ps #列出当前正在运行的容器
sudo docker attach a40cc085c83d #进入当前容器