Docker作为一个轻量型的虚拟容器,因为他能够使部署各种服务十分的方便简单,受到许多人的喜爱,这篇教程主要讲Docker从安装到部署的各种方法和注意事项。

各种系统上面部署Docker环境
docker的部署还是相对复杂的,好在,官方提供了一键部署脚本,配合上国内源,使我们能在各种地方轻松部署docker环境。
Centos脚本:
在任意目录下新建sh可执行文件:
vim DockerInstall.sh
复制粘贴以下内容(适用于“网络通畅”的主机):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| #!/bin/bash # remove old version 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
# remove all docker data sudo rm -rf /var/lib/docker
# preinstall utils sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
# add repository sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
# make cache sudo yum makecache fast
# install the latest stable version of docker sudo yum install -y docker-ce
# start deamon and enable auto start when power on sudo systemctl start docker sudo systemctl enable docker
# add current user sudo groupadd docker sudo gpasswd -a ${USER} docker sudo systemctl restart docker
|
对于网络“不通畅”的主机,我们则使用以下脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| #!/bin/bash # 移除掉旧的版本 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
# 删除所有旧的数据 sudo rm -rf /var/lib/docker
# 安装依赖包 sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
# 添加源,使用了阿里云镜像 sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 配置缓存 sudo yum makecache fast
# 安装最新稳定版本的docker sudo yum install -y docker-ce
# 配置镜像加速器 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["http://hub-mirror.c.163.com"] } EOF
# 启动docker引擎并设置开机启动 sudo systemctl start docker sudo systemctl enable docker
# 配置当前用户对docker的执行权限 sudo groupadd docker sudo gpasswd -a ${USER} docker sudo systemctl restart docker
|
Debian和Ubuntu脚本:
对于Debian和Ubuntu来说部署则简单许多,只需要运行以下命令:
网络通畅:
curl -sSL https://get.docker.com/ | sh
网络不通畅(DaoCloud):
curl -sSL https://get.daocloud.io/docker | sh
这个脚本相对阿里云的来说更快一点,但是有一些小众的docker速度不快,或者存在找不到的情况
阿里云的:
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
配置Docker Hub的镜像加速器
国内访问 Docker Hub 有时会遇到困难,此时可以配置镜像加速器。国内很多云服 务商都提供了加速器服务
阿里云的加速器地址:https://cr.console.aliyun.com/?spm=a2c4e.11153959.blogcont29941.9.699b69d6JE3Sgg#/accelerator
针对Docker客户端版本大于1.10.0的用户 您可以通过修改daemon配置文件/etc/docker/daemon.json(没有时新建该文件)来使用加速器:
1 2 3 4 5 6 7 8
| sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
|
修改后
1 2 3
| { "registry-mirrors": ["<your accelerate address>"] }
|
安装docker-compose
docker-compose支持用户使用一些现成的配置文件来部署一个容器,并且可定制性非常的强,适合开发者使用
安装命令:
1
| apt install docker-compose
|
此处仅适用于Debian
使用Protainer来管理docker
Protainer是一款轻量级的docker网页管理系统,并且功能相对强大,支持多个服务器同时管理,十分好用。
一键部署:
1
| docker run -d -p 9000:9000 --restart=always --name portainer -v /var/run/docker.sock:/var/run/docker.sock -v /Users/lee/dev/docker_file/portainer/data:/data docker.io/portainer/portainer
|
外部端口号:9000