Docker常用命令
帮助启动类命令
systemctl start docker #启动docker systemctl stop docker #停止docker systemctl restart docker #重启docker systemctl status docker #查看docker状态 systemctl enable docker #开机启动 docker info #查看docker概要信息 docker --help #查看docker总体帮助文档 docker 具体命令 --help #查看docker命令帮助文档
镜像命令
- 列出本地主机上的镜像:docker images

##options说明: -a #列出本地所有的镜像(含历史镜像层) -q #只显示镜像ID
- docker search 某个XX镜像名字
#网站:https://hub.docker.com #命令: docker search [options] 镜像名字 #docker search redis options说明: --limit :只列出N个镜像,默认25个 docker search --limit 5 redis

- docker pull 某个xxx镜像名字
docker pull #镜像名字:[TAG] #没有TAG就是最新版 等价于:docker pull 镜像名字:latest

- docker system df 查看镜像/容器/数据卷所占的空间

- 删除镜像
docker rmi -f 镜像ID #删除单个
docker rmi -f 镜像名1:TAG 镜像名2:TAG #删除多个
docker rmi -f ${docker images -qa} #删除全部
容器命令
- 有镜像才能创建容器,这是根本前提

docker pull centos docker pull ubuntu
- 新建+启动容器
docker run [options] IMAGE [command][ARG] #options说明(常用):有些是一个减号,有些是两个减号 --name="容器新名字" 为容器指定一个名称 -d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行) -i:以交互式运行容器,通常与-t同时使用 -t:为容器重新分配一个伪输入终端,通常与-i同时使用;也即启动交互式容器(前台有伪终端,等待交互) -P:随机端口映射,大写P -p:指定端口映射,小写p #启动交互式容器(前台命令行) docker run -it centos /bin/bash

- 列出当前所有正在运行的容器
docker ps [options] #options说明: -a #列出当前所有正在运行的容器+历史上运行过的 -l #显示最近创建的容器 -n #显示最近n个创建的容器 -q #静默模式,只显示容器编号
- 退出容器
exit #run进去容器 exit退出 容器停止 ctrl+p+q #run进去容器 ctrl+p+q退出,容器不停止
- 容器启停
docker start 容器ID或者容器名 #启动已停止运行的容器
docker restart 容器ID或者容器名 #重启容器
docker stop 容器ID或者容器名 #停止容器
docker kill 容器ID或者容器名 #强制停止容器
docker rm 容器ID #删除已停止的容器
docker rm -f ${docker ps -a -q};docker ps -a -q | xargs docker rm #一次性删除多个容器实例
- 重要
#启动守护式容器(后台服务器) #大部分场景下,我们希望dockker的服务是在后台运行的,可以通过-d指定容器的后台运行模式 docker run -d 容器名 #解决容器自动停止 docker run -it --name my-redis redis bash #使用交互界面后(Ctrl+p+q)退出容器 docker run -itd --name my-redis2 redis bash #td命令结合使用 -i不是必需,加了后容器起来终端返回容器ID #redis前后台启动演示 docker run -it redis:6.0.8 #前台交互式启动 docker run -d redis:6.0.8 #后台守护式启动

docker logs 容器ID #查看容器日志 docker top 容器ID #查看容器内运行的进程 docker inspect 容器ID #查看容器内部细节 docker exec -it 容器ID bashShell #进入正在运行的容器并以命令行交互

docker attach 容器ID #重新进入 #attach和exec区别 #attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器停止 #exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止,推荐使用docker exec命令,因为退出容器终端,不会导致容器的停止 #用之前的redis容器实例进入 docker exec -it 容器ID /bin/bash docker exec -it 容器ID redis-cli #一般用-d后台启动的程序,再用exec进入对应容器的实例 #从容器拷贝文件到主机上 #容器->主机 docker cp 容器ID:容器内路径 目的地主机路径 #docker cp ID:/usr/local/mycptest/container.txt /tmp/c.txt

#导入导出容器 export #导出容器的内容作为一个tar归档文件[对应import命令] import #从tar包中的内容创建一个新的文件系统再导入为镜像[对应export] docker export 容器ID> 文件名.tar cat 文件名.tar | docker import -镜像用户/镜像名:镜像版本号



浙公网安备 33010602011771号