1. Docker安装
1.1. 卸载旧版本
1 sudo yum remove docker \ 2 docker-client \ 3 docker-client-latest \ 4 docker-common \ 5 docker-latest \ 6 docker-latest-logrotate \ 7 docker-logrotate \ 8 docker-engine
1.2. 使用 Docker 仓库进行安装
设置仓库
安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
1 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2 3 -- 切换为阿里云镜像仓库 4 sudo yum-config-manager \ 5 --add-repo \ 6 http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.3. 安装docker(默认安装最新版本)
sudo yum install docker-ce docker-ce-cli containerd.io
如果不想安装最新版本,可以查看有哪些版本,然后选择进行安装
1 yum list docker-ce --showduplicates | sort -r 2 docker-ce.x86_64 3:20.10.6-3.el7 docker-ce-stable 3 docker-ce.x86_64 3:20.10.6-3.el7 @docker-ce-stable 4 docker-ce.x86_64 3:20.10.5-3.el7 docker-ce-stable 5 docker-ce.x86_64 3:20.10.4-3.el7 docker-ce-stable 6 docker-ce.x86_64 3:20.10.3-3.el7 docker-ce-stable 7 ...... 8 9 -- 软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。 10 11 sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
1.4. 修改docker默认安装目录/var/lib/docker(尽量避免数据放在系统盘,应该把数据放到数据盘:)
1 还没有验证测试,这个避免把系统盘写满(暂时可以不设置)
1.5. docker 容器里面安装vim
apt-get update apt-get install -y vim
2. 常用命令
2.1 镜像相关
操作 | 命令 | 备注 |
获取镜像 | docker pull | |
列出镜像 | docker image ls | |
清除 dangling image | docker image prune | 可以通过 -f 过滤,-q显示ID列表 |
格式化打印镜像列表 | docker image ls --format "{{.ID}}: {{.Repository}}" | |
删除本地镜像 | docker image rm | |
删除所有镜像 | docker image rm $(docker image ls -q redis) | 配合之前的列出镜像 |
2.2 容器相关
操作 | 命令 | 备注 |
新建并启动容器 | docker run | -t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上<br> -i 则让容器的标准输入保持打开<br> -d 后台运行容器 |
启动已终止容器 | docker container start | |
列出容器信息 | docker container ls | |
获取容器输出信息 | docker container logs [container ID or NAMES] | |
终止容器 | docker container stop | |
重新启动容器 | docker container restart | |
进入容器 | docker attach | |
进入容器2 | docker exec | 当 -i -t 参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符。<br> stdin 中 exit,不会导致容器的停止 |
导出容器 | docker export | e.g. docker export 7691a814370e > ubuntu.tar |
导入容器 | docker import | 从快照生成镜像 </br> e.g. cat ubuntu.tar | docker import - test/ubuntu:v1.0 |
删除容器 | docker container rm |
2.3 数据卷相关
操作 | 命令 | 备注 |
创建数据卷 | docker pull | |
列出数据卷 | docker volume ls | |
删除数据卷 | docker volume rm | 可以通过 -f 过滤,-q显示ID列表 |
挂载数据卷 | 在 docker run 后面加 —mount type=bind,source=/src/webapp,target=/opt/webapp,readonly |
2.4 网络相关
操作 | 命令 | 备注 |
映射随机端口 | docker run -d -P | 随机映射一个 49000~49900 的端口到内部容器开放的网络端口 |
映射指定端口 | docker run -d -p 127.0.0.1:8080:5000 | -p 可以进行多次 |
查询容器端口映射 | docker port <container> <port> | 可以查出当前容器某端口映射到了外部的端口 |