本文已在我的公众号BigManing_blog原创首发。
转载请标明出处:
https://blog.csdn.net/qq_27818541/article/details/73647797
本文出自:【BigManing的博客】
环境
因工作需要,要使用Docker,参考官网上的安装方法并记录下安装过程,
安装环境:Ubuntu 16.04
一.安装Docker(下面方式任选一)
A.下载deb包的安装方式
ubuntu16.04 amd 架构对应的下载地址:
https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/
ps: ubuntu其他版本/架构的下载地址:
打开: https://download.docker.com/linux/ubuntu/dists/
选择您的Ubuntu版本对应的代号(不清楚代号是多少?看这里)
进到pool / stable /
选择机器支持的架构amd64,armhf或s390x,进入下载列表.安装
sudo dpkg -i /path/to/docker.deb
B.添加源的安装方式
移除旧版本
sudo apt-get remove docker docker-engine docker.io
如果你是Ubuntu14.04,推荐安装 extra 包(Ubuntu版本>=16.04默认有了)
sudo apt update
sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual更新apt包索引
sudo apt update
安装https支持包
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
添加Docker官方GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
添加稳定版的仓库源(按架构选择)
amd64:
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
armhf:
sudo add-apt-repository \ "deb [arch=armhf] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
s390x:
sudo add-apt-repository \ "deb [arch=s390x] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
- 更新apt包索引
sudo apt update
安装(安装慢?可以尝试下切换apt源)
sudo apt-get install docker-ce
二.验证docker是否正确被安装
运行hello world镜像(直接运行即可 自动从服务器上拉取demo镜像)
sudo docker run hello-world
正确结果如下:
....
Hello from Docker!
....
三.更新/卸载Docker
更新
sudo apt upgrade
卸载
sudo apt-get purge docker-ce
sudo rm -rf /var/lib/docker
对于机器差异化不能安装的同学,请阅读官方文档。
https://docs.docker.com/engine/installation/linux/ubuntu/#recommended-extra-packages-for-trusty-1404
四.添加到用户组(可选项)
添加到用户组(so easy)
sudo groupadd docker
sudo usermod -aG docker $USER注销系统重新进入系统,就可以直接使用docker开头了。
sudo service docker restart
如果不添加到用户组会发生什么呢?
如果直接运行:docker run hello-world
你会发现下面的错误:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.30/containers/json: dial unix /var/run/docker.sock: connect: permission denied
这是因为:
docker守护程序绑定到Unix套接字而不是TCP端口。默认情况下,Unix套接字由用户root拥有,其他用户只能使用sudo访问它。 docker守护程序始终以root用户身份运行。 如果您不想在使用docker命令时使用sudo,请创建名为docker的Unix组,并将用户添加到该组。当docker守护进程启动时,它会使Docker组的Unix套接字的所有权读/写。
五.设置仓库镜像地址
为了防墙,加速–>对于Ubuntu 16.04、Debian 8 Jessie、CentOS 7:
在 /etc/systemd/system/multi-user.target.wants/docker.service
文件中 添加你在阿里云镜像的上专属地址:
--registry-mirror=https://jxus37ad.mirror.aliyuncs.com
https://pee6w651.mirror.aliyuncs.com(这两个是从网上收集的,最好换成你自己的)
重新加载配置并且重新启动。
sudo systemctl daemon-reload
sudo systemctl restart docker