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>
|
可以查出当前容器某端口映射到了外部的端口
|