本地电脑无法连接外网时,只能使用离线安装的模式,好在Docker的官网提供了离线下载的安装包,选择适配自己的环境即可,我本地的环境是运行在x86上的ubuntu16.04的,所以选择amd64的xenial就行,具体的地址是:https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/
需要下载三个文件,我下载的是containerd.io_1.2.5-1_amd64.deb、docker-ce-cli_18.09.43-0ubuntu-xenial_amd64.deb与docker-ce_18.09.43-0ubuntu-xenial_amd64.deb,前面两者是后者的依赖,如果直接安装后者会提示缺少前面的依赖,将这三个文件放到本地目录后分别进行安装:
下载链接:依赖下载
ubuntu@ubuntu:~$ sudo dpkg -i libltdl7_2.4.6-2_amd64.deb
ubuntu@ubuntu:~$ sudo dpkg -i docker-ce-cli_18.09.6~3-0~ubuntu-bionic_amd64.deb
ubuntu@ubuntu:~$ sudo dpkg -i containerd.io_1.2.5-1_amd64.deb
ubuntu@ubuntu:~$ sudo dpkg -i docker-ce_18.09.6~3-0~ubuntu-bionic_amd64.deb
之后Docker的守护进程就自动启动了,可查看Docker的版本:
ubuntu@ubuntu:~$ docker -v
Docker version 18.09.6, build 481bc77
设置docekr-ce开机自启动
sudo systemctl enable docker
sudo systemctl start docker
如果不想每次执行docker命令的时候使用sudo,可执行如下命令:
$ sudo usermod -aG docker your-user
虚拟机环境需要重启,如果不是虚拟机环境的话注销再登录指令就生效了
另外,镜像也需要离线拷贝到本地,需要先pull拉取镜像后另存为tar文件拷贝到本地解压。
例如,拷贝测试Docker的hello-world镜像拷本地使用,首先需要在公网环境拉取镜像:
$ sudo docker pull hello-world
然后将镜像转换为tar文件:
$ sudo docker save -o hello-world.tar hello-world
或者
$ sudo docker save hello-world > hello-world.tar
最后,拷贝tar文件到本地离线环境,解压为镜像文件:
$ sudo docker load -i hello-world.tar
或者
$ sudo docker load < hello-world.tar
注意:使用>、<保存或加载时,方向不能错
之后就可以通过hello-world镜像验证本地Docker
$ sudo docker run hello-world
卸载docker:
sudo apt-get purge docker-ce
②删除镜像、容器、卷
sudo rm -rf /var/lib/docker
国内添加下载镜像加速:
编辑或创建文件,并添加如下内容:
vim /etc/docker/daemon.json
{"registry-mirrors": ["https://7c0dmg0u.mirror.aliyuncs.com","http://hub-mirror.c.163.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn"],
"insecure-registries": ["0.0.0.0/0"],
}
生效:
$ systemctl daemon-reload
$ systemctl restart docker
第一行是:阿里云、163等其他网站的Docker镜像加速
第二行是本地Docker镜像仓库非ssl的镜像地址