Docker安装指南
本节目录
-
Centos
-
Ubuntu
-
Windows
一、Centos
- 查看内核版本是否符合要求
- 查看内核版本
uname -r
- 删除旧版本(可选)
$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine \ docker.io
- 1. (可选)把yum包更新到最新(生产环境慎重!yum update会对软件包和内核升级,此处只是为了排除系统环境的影响。
yum update
- 2. 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
- 3. 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo [root@centos ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo File "/usr/bin/yum-config-manager", line 135 except yum.Errors.RepoError, e: ^ SyntaxError: invalid syntax 若出现这样的错误,vim /usr/bin/yum-config-manager,将首行的解释器改为python2 # 添加官方数据源 $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo # 添加阿里云数据源 $ sudo yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 4. 可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r Repository epel is listed more than once in the configuration File "/usr/libexec/urlgrabber-ext-down", line 28 except OSError, e: ^ SyntaxError: invalid syntax 解决方法与步骤3类似
- 5. 安装Docker,命令:yum install docker-ce-版本号,我选的是18.03.1.ce,如下:
yum install docker-ce-18.03.1.ce
- 6. 启动Docker,命令:systemctl start docker,然后加入开机启动,如下:
systemctl start docker systemctl enable docker # 开机自启
- 7. 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
-
8.卸载
$ sudo yum remove docker-ce # delete all Images, containers, volumes, or customized configuration files $ sudo rm -rf /var/lib/docker
二、Ubuntu
更新ubuntu的apt源索引
sudo apt-get update
安装包允许apt通过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 -
设置Docker稳定版仓库
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
添加仓库后,更新apt源索引
sudo apt-get update
安装最新版Docker CE(社区版)
sudo apt-get install docker-ce
检查Docker CE是否安装正确
sudo docker run hello-world
为了避免每次命令都输入sudo,可以设置用户权限,注意执行后须注销重新登录
sudo usermod -a -G docker $USER
安装完成Docker后,默认已经启动了docker服务,如需手动控制docker服务的启停,可执行如下命令
# 启动docker sudo service docker start # 停止docker sudo service docker stop # 重启docker sudo service docker restart
三、Windows
首先下载好DockerToolbox.exe,官网:https://www.docker.com/ 国内镜像加速:https://get.daocloud.io/
双击Docker Toolbox.exe, 一路点击NEXT
, 安装路径我设置的是F:\DockerToolbox
。
安装完成后,会出现如下几个图标:
双击Docker Quickstart Terminal
, 如果出现如下页面,说明Docker已启动成功,后面的内容就不需要再看了。
2. 启动Docker
-
创建docker machine
打开power shell(如果还未安装,参考2.4),进入Docker Toolbox的安装目录,可以看到这个下面有docker-machine.exe
、boot2docker.iso
和start.sh
几个文件。
在power shell中执行如下命令:
$ docker-machine.exe create --driver virtualbox --virtualbox-boot2docker-url=boot2docker.iso default
输出如下:
-
启动docker-machine
点击start.sh,会新弹出一个bash窗口,输出如下信息:
-
关闭docker machine
执行如下命令:
$ docker-machine.exe stop default
注:也可以使用Oracle VM VirtualBox来关闭。Oracle VM VirtualBox是用来管理docker machine的图形界面工具,
-
删除docker machine
执行如下命令:
$ docker-machine.exe rm default
也可以使用Oracle VM VirtualBox来删除。
3.镜像加速
可以通过修改镜像仓库地址,加速docker 镜像的拉取。
$ docker-machine ssh default ( '>') /) TC (\ Core is distributed with ABSOLUTELY NO WARRANTY. (/-_--_-\) www.tinycorelinux.net
-
设置镜像地址
接下来执行sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=https://reg-mirror.qiniu.com |g" /var/lib/boot2docker/profile
, 此处镜像地址使用的是https://reg-mirror.qiniu.com,可自行更换。
执行完毕后,执行exit退出。
Administrator@ZHANG-YAFEI MINGW64 ~/Desktop $ docker-machine ssh default ( '>') /) TC (\ Core is distributed with ABSOLUTELY NO WARRANTY. (/-_--_-\) www.tinycorelinux.net docker@default:~$ cat /var/lib/boot2docker/profile EXTRA_ARGS=' --label provider=virtualbox ' CACERT=/var/lib/boot2docker/ca.pem DOCKER_HOST='-H tcp://0.0.0.0:2376' DOCKER_STORAGE=overlay2 DOCKER_TLS=auto SERVERKEY=/var/lib/boot2docker/server-key.pem SERVERCERT=/var/lib/boot2docker/server.pem <egistry-mirror=https://0lca06jh.mirror.aliyuncs.com |g" /var/lib/boot2docker/> docker@default:~$ cat /var/lib/boot2docker/profilele EXTRA_ARGS='--registry-mirror=https://0lca06jh.mirror.aliyuncs.com --label provider=virtualbox ' CACERT=/var/lib/boot2docker/ca.pem DOCKER_HOST='-H tcp://0.0.0.0:2376' DOCKER_STORAGE=overlay2 DOCKER_TLS=auto SERVERKEY=/var/lib/boot2docker/server-key.pem SERVERCERT=/var/lib/boot2docker/server.pem docker@default:~$ exit logout
-
重启docker-machine
$ docker-machine restart default Restarting "default"... (default) Check network to re-create if needed... (default) Windows might ask for the permission to configure a dhcp server. Sometimes, such confirmation window is minimized in the taskbar. (default) Waiting for an IP... Waiting for SSH to be available... Detecting the provisioner... Restarted machines may have new IP addresses. You may need to re-run the `docker-machine env` command.