|
|
|
# 安装
|
|
|
|
|
|
|
|
## centos
|
|
|
|
|
|
|
|
- 卸载旧版本
|
|
|
|
|
|
|
|
```shell
|
|
|
|
yum remove docker \
|
|
|
|
docker-client \
|
|
|
|
docker-client-latest \
|
|
|
|
docker-common \
|
|
|
|
docker-latest \
|
|
|
|
docker-latest-logrotate \
|
|
|
|
docker-logrotate \
|
|
|
|
docker-engine
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 安装依赖
|
|
|
|
|
|
|
|
```shell
|
|
|
|
yum install -y yum-utils \
|
|
|
|
device-mapper-persistent-data \
|
|
|
|
lvm2
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 设置仓库(非必须)
|
|
|
|
|
|
|
|
官方源地址(比较慢)
|
|
|
|
|
|
|
|
```shell
|
|
|
|
yum-config-manager \
|
|
|
|
--add-repo \
|
|
|
|
https://download.docker.com/linux/centos/docker-ce.repo
|
|
|
|
```
|
|
|
|
|
|
|
|
阿里云
|
|
|
|
|
|
|
|
```shell
|
|
|
|
yum-config-manager \
|
|
|
|
--add-repo \
|
|
|
|
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
|
|
|
|
```
|
|
|
|
|
|
|
|
清华大学源
|
|
|
|
|
|
|
|
```shell
|
|
|
|
yum-config-manager \
|
|
|
|
--add-repo \
|
|
|
|
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 安装**docker**
|
|
|
|
|
|
|
|
安装最新版本
|
|
|
|
|
|
|
|
```shell
|
|
|
|
yum install docker-ce docker-ce-cli containerd.io
|
|
|
|
```
|
|
|
|
|
|
|
|
安装指定版本
|
|
|
|
|
|
|
|
```shell
|
|
|
|
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
|
|
|
|
```
|
|
|
|
|
|
|
|
启动**docker**
|
|
|
|
|
|
|
|
```shell
|
|
|
|
systemctl start docker
|
|
|
|
```
|
|
|
|
|
|
|
|
设置开机启动
|
|
|
|
|
|
|
|
```shell
|
|
|
|
systemctl enable docker
|
|
|
|
```
|
|
|
|
|
|
|
|
停止**docker**
|
|
|
|
|
|
|
|
```
|
|
|
|
systemctl stop docker
|
|
|
|
```
|
|
|
|
|
|
|
|
- 卸载**docker**
|
|
|
|
|
|
|
|
删除安装包
|
|
|
|
|
|
|
|
```shell
|
|
|
|
yum remove docker-ce
|
|
|
|
```
|
|
|
|
|
|
|
|
删除镜像、容器、配置文件等内容,默认路径为:/var/lib/docker,自定义路径为:/etc/docker/daemon.json中data-root属性
|
|
|
|
|
|
|
|
# 使用
|
|
|
|
|
|
|
|
- 镜像
|
|
|
|
|
|
|
|
获取最新版本镜像
|
|
|
|
|
|
|
|
```shell
|
|
|
|
docker pull <镜像名称>
|
|
|
|
docker pull <镜像名称>:latest
|
|
|
|
```
|
|
|
|
|
|
|
|
获取指定版本
|
|
|
|
|
|
|
|
```shell
|
|
|
|
docker pull <镜像名称>:<版本号>
|
|
|
|
```
|
|
|
|
|
|
|
|
删除镜像
|
|
|
|
|
|
|
|
```shell
|
|
|
|
docker rmi <镜像ID>
|
|
|
|
```
|
|
|
|
|
|
|
|
- 创建与启动容器
|
|
|
|
|
|
|
|
创建新容器并启动
|
|
|
|
|
|
|
|
```shell
|
|
|
|
docker run -itd --<容器名> <镜像名> <容器内执行的命令>
|
|
|
|
```
|
|
|
|
|
|
|
|
参数说明
|
|
|
|
|
|
|
|
```tex
|
|
|
|
-i: 以交互模式运行容器,通常与 -t 同时使用;
|
|
|
|
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
|
|
|
|
-d: 后台运行容器,并返回容器ID;
|
|
|
|
-w: 指定工作目录
|
|
|
|
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
|
|
|
|
-v: 挂载宿主机的一个目录到容器,格式为:主机(宿主)目录:容器目录;
|
|
|
|
-e: username="ritchie": 设置环境变量;
|
|
|
|
-m: :设置容器使用内存最大值;
|
|
|
|
--privileged 容器内root用户是否真正拥有root权限
|
|
|
|
--restart :容器退出是重启策略
|
|
|
|
no默认值,表示容器退出时,docker不自动重启容器
|
|
|
|
on-failure 若容器的退出状态非0,则docker自动重启容器,还可以指定重启次数,若超过指定次数未能启动容器则放弃
|
|
|
|
always 容器退出时总是重启
|
|
|
|
unless-stopped 容器退出时总是重启,但不考虑Docker守护进程启动时就已经停止的容器
|
|
|
|
如果容器启动时没有设置–restart参数,则通过下面命令进行更新:
|
|
|
|
docker update --restart=always <容器ID>
|
|
|
|
```
|
|
|
|
|
|
|
|
停止容器
|
|
|
|
|
|
|
|
```shell
|
|
|
|
docker stop <容器ID>
|
|
|
|
```
|
|
|
|
|
|
|
|
启动容器
|
|
|
|
|
|
|
|
```shell
|
|
|
|
docker start <容器ID>
|
|
|
|
```
|
|
|
|
|
|
|
|
- 进入退出
|
|
|
|
|
|
|
|
查看所有容器
|
|
|
|
|
|
|
|
```shell
|
|
|
|
docker ps -a
|
|
|
|
```
|
|
|
|
|
|
|
|
进入容器,**attach**或**exec**(推荐使用,退出容器终端容器不会停止)
|
|
|
|
|
|
|
|
```shell
|
|
|
|
docker exec -it <容器ID> /bin/bash
|
|
|
|
```
|
|
|
|
|
|
|
|
进入容器后输入**exit** 退出容器
|
|
|
|
|
|
|
|
- 删除与导入导出
|
|
|
|
|
|
|
|
删除容器
|
|
|
|
|
|
|
|
```shell
|
|
|
|
docker rm -f <容器ID>
|
|
|
|
```
|
|
|
|
|
|
|
|
导出容器
|
|
|
|
|
|
|
|
```shell
|
|
|
|
docker export <容器ID> > <文件名>
|
|
|
|
```
|
|
|
|
|
|
|
|
导入容器
|
|
|
|
|
|
|
|
```shell
|
|
|
|
cat <文件名> | docker import - <镜像名>
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|