在Ubuntu上安装docker的时候因为墙的原因网速非常慢,几乎是没可能安装成功的docker的,之前我在用Centos7上安装docker的时候虽然也是有墙,下载速度慢,但是每次安装失败的时候就重试,重试了几次的时候就意外的安装成功了,但是在Ubuntu上安装不成功就真的安装不成成功,所以需要更换成国内其他源,国内有好几个可用的docker源,我推荐使用阿里云的,官方有详细的教程
为了让sudo apt-get update
软件源更新速度快一些,我们需要先更改Ubuntu的软件源,如果不更换源的话光是更新就要耗费大半天的时间,这里我更换为阿里源
更换Ubuntu的apt源
- 备份原来的源
su #切换到root用户
cat /etc/apt/sources.list > /etc/apt/sources.list.bak #备份Ubuntu原来的源
- 复制下面的字符串覆盖原来的/etc/apt/sources.list文件
deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
- 更新源
sudo apt-get update
以Ubuntu14/Ubuntu16为例,我使用的系统是Ubuntu16,按照下面的步骤安装实测可行。
安装docker
step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
安装指定版本的Docker-CE*
Step 1: 查找Docker-CE的版本:
apt-cache madison docker-ce
#docker-ce | 17.03.1ce-0ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
#docker-ce | 17.03.0ce-0ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1ce-0ubuntu-xenial)
sudo apt-get -y install docker-ce=[VERSION]
权限问题
安装完docker后在使用docker时可能会出现权限问题,需要将当前用户添加到docker用户组。
添加dockers group
sudo groupadd docker
将当前用户添加到docker用户组
sudo gpasswd -a ${USER} docker
重启docker服务
sudo service docker restart
或者
sudo systemctl restart docker
切换当前会话到新的group或者重启会话
newgrp - docker
设置开机自启动
将docker服务设置成开机自启动
systemctl enable docker
查看docker版本
docker version
Client: Docker Engine - Community
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea838
Built: Wed Nov 13 07:50:12 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.12)
Go version: go1.12.12
Git commit: 633a0ea838
Built: Wed Nov 13 07:48:43 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.0
GitCommit: fec3683
更换docker的镜像源
使用默认的docker源拉取镜像的速度非常慢,用移动的网络甚至连接超时,所以我们装好docker后一般都把默认的镜像源更改成国内的镜像源,不然可能连docker-helloworld都运行不起来
更改docker源的方法比较简单,只需要修改(如果没有就创建)/etc/docker/daemon.json
文件
- 创建或修改
daemon.json
文件
vim /etc/docker/daemon.json
或
gedit /etc/docker/daemon.json
- 将以下内容复制到
/etc/docker/daemon.json
文件中
{
"registry-mirrors": ["https://pee6w651.mirror.aliyuncs.com"]
}
Docker
官方中国区
https://registry.docker-cn.com
网易
http://hub-mirror.c.163.com
阿里云
https://pee6w651.mirror.aliyuncs.com
- 重启docker
systemctl restart docker
或
service docker restart
运行第一个docker镜像
运行第一个docker镜像(程序界的helloworld)
docker run hello-world
到这一步docker就可以正常拉取镜像创建容器了