什么是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
|
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
|
————————————————