目录

搭建Docker

什么是Docker?Docker的logo很形象地展示了它的思路—一只鲸鱼驼着好多集装箱。

有了Docker你的各种服务都打包成了一只只集装箱,相互隔离,也不需要在主机上安装各种依赖配置各种环境,也不需要考虑各种复杂的权限问题,对于开发也是非常友好的。

一、安装Docker

Docker的自动化安装

Docker官方和国内daocloud都提供了一键安装的脚本,使得Docker的安装更加便捷。

官方的一键安装方式:

1
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

1
2
curl -fsSL https://get.docker.com -o get-docker.sh 
sh get-docker.sh

国内 daocloud一键安装命令:

1
curl -sSL https://get.daocloud.io/docker | sh

执行上述任一条命令,耐心等待即可完成Docker的安装。

Docker的手动安装

卸载历史版本

这一步是可选的,如果之前安装过旧版本的Docker,可以使用如下命令进行卸载:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
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-ce
step 1: 安装必要的一些系统工具
1
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Step 2: 添加软件源信息
1
2
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
Step 3: 更新 yum 缓存
1
sudo yum makecache fast 
Step 4: 更新并安装Docker-CE
1
sudo yum -y install docker-ce
Step 5: 开启Docker服务
1
sudo service docker start
Step 6: Docker 服务开机启动
1
systemctl enable docker
删除Docker

删除安装包:

1
yum remove docker-ce

删除镜像、容器、配置文件等内容:

1
rm -rf /var/lib/docker

二、开启各种测试版本

注意,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。

1
vim /etc/yum.repos.d/docker-ce.repo

将[docker-ce-test]下方的enabled=0修改为enabled=1

三、安装指定版本的Docker-CE

Step 1: 查找Docker-CE的版本

1
2
3
4
5
6
7
yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
# docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#  docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
# Available Packages

Step 2: 安装指定版本的Docker-CE

(VERSION例如上面的17.03.0.ce.1-1.el7.centos)

1
sudo yum -y install docker-ce-[VERSION]

针对Docker客户端版本大于 1.10.0 的用户,可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
	  "https://docker.mirrors.ustc.edu.cn",
	"http://hub-mirror.c.163.com",
	   "https://registry.docker-cn.com"
   ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

五、Docker常用命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# docker 拉取镜像
docker pull [镜像名]:[tag]
# docker 搜索镜像
docker search [镜像名]
# docker 删除镜像
docker rmi [镜像名]:[tag]
# docker查看正在运行的容器
docker ps 
# docker查看所有容器
docker ps -a
# docker 停止容器
docker stop [容器ID/容器名]
# docker 删除容器 *删除容器需容器已停止
docker rm [容器ID/容器名]
# docker查看容器状态
docker stats 
# docker 进入容器
docker exec -it [容器ID/容器名] sh
# docker 更新容器
docker update [操作...] [容器ID/容器名]

六、Docker常用参数

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# -d 后台运行容器,并返回容器ID
-d
# --name 指定容器名 <宿主机容器唯一>
--name [容器名]
# --restart 
--restart always
# -m,–memory 内存限制,格式是数字加单位,单位可以为 b,k,m,g 最小为 4M
-m 200M
# -p 挂载端口
-p 3306:3306 # 将宿主机3306挂载到容器的3306端口
# -e 配置
-e ES_JAVA_OPTS="-Xms128m -Xmx256m"
# -v 挂载指定目录或文件到容器. ":" 前面的目录是宿主机目录,后面的目录是容器内目录
-v /usr/data:/data
-v /usr/data/my.config:/conf/my.config

七、Ubuntu安装docker

1
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" && sudo apt-get update && sudo apt-get install -y docker-ce

为了避免每次命令都输入sudo,可以设置用户权限(将当前用户添加到docker组里面),注意执行后须注销重新登录

1
sudo usermod -a -G docker $USER

————————————————