1. 常用命令文档1.1 镜像命令1.2 容器命令1.2.1 测试1.2.2 查看1.3 常用其他命令1.3.1 后台启动容器1.3.2 查看日志1.3.3 查看容器中进程信息ps1.3.4 查看镜像的元数据1.3.5 进入正在运行的容器1.3.6 容器内拷贝文件到主机2. 官方文档小结
1. 常用命令文档
1.1 镜像命令
# 帮助命令 docker xx --help # 查询信息 docker version # 查询信息 docker info # 搜索镜像,--filter过滤 docker search mysql docker search mysql --filter=STARS=3000 # 下载镜像 docker pull mysql docker pull mysql:5.7 # 启动镜像创建容器 docker run [可选参数] image docker run -d -p 80:80 --name mynginx nginx # 参数说明 --name -d 后台 -p 指定端口 -it 交互运行,进入容器 # 删除镜像 docker rmi -f id docker rmi -f id id # 删除所有不使用的镜像,慎用!!! docker image prune --force --all或者docker image prune -f -a
1.2 容器命令
# 容器常用命令 docker start 容器id docker restart 容器id docker stop 容器id docker rm -f 容器id # 从容器里复制文件 docker cp 容器id:/文件路径 本机文件路径 root@docker01:/home# docker cp a6f48d56297af9:/etc/nginx/nginx.conf /home # 从本地复制到容器 docker cp 本机文件路径 容器id:/文件路径 # 删除所有停止的容器,慎用!!! docker container prune
1.2.1 测试
# 1. 拉取镜像 docker pull centos # 2. 运行容器 root@docker:/home/henggao/Desktop# docker run -it centos /bin/bash [root@c7efce76e3a9 /]# ls bin etc lib lost+found mnt proc run srv tmp var dev home lib64 media opt root sbin sys usr # 3. 退出容器 [root@c7efce76e3a9 /]# exit # 4. 容器不停止推出 Ctrl + P + Q # 5. 删除容器 docker rm 容器id #删除指定 docker rm -f $(docker ps -aq) # 全部删除 # 6. 启动和停止 docker start 容器id docker restart 容器id docker stop 容器id docker kill 容器id
1.2.2 查看
# docker ps #列出当前正在运行的容器 # docker ps -a #列出当前正在运行的容器 + 历史运行过的容器 # docker ps -n=? # 显示最近创建的容器 # docker ps -q #只显示容器编号 root@docker:/home/henggao/Desktop# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES root@docker:/home/henggao/Desktop# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c7efce76e3a9 centos "/bin/bash" 3 minutes ago Exited (0) 2 minutes ago jovial_cannon 82053f6367c6 hello-world "/hello" About an hour ago Exited (0) About an hour ago frosty_goldberg root@docker:/home/henggao/Desktop#
1.3 常用其他命令
1.3.1 后台启动容器
# 后台启动docker run -d 镜像名 docker run -d centos # 问题docker ps ,发现centos停止了 # 常见问题,docker容器使用后台运行,必须要有一个前台进程,docker发现没用应用,就会自动停止 # nginx,容器启动,发现自己没有提供服务,就会立刻停止,没有程序运行
1.3.2 查看日志
docker logs -f -t --tail 10 容器id # 自己编写shell脚本 docker run -d centos /bin/sh -c "while true;do echo HelloWorld;sleep 1;done" docker ps # 显示日志 # -tf 显示日志 # --tail number 显示日志条数 root@docker:/home/henggao/Desktop# docker logs -f -t --tail 10 8e5b0a9f83dd
1.3.3 查看容器中进程信息ps
docker top 容器id
1.3.4 查看镜像的元数据
docker inspect 容器id
1.3.5 进入正在运行的容器
# 方式一,进入容器开启一个新的容器 docker exec -it 容器id bashShell # 方式二,正在执行的终端 docker attach 容器id
1.3.6 容器内拷贝文件到主机
root@docker:/home/henggao/Desktop# docker ps -a docker cp 容器id:容器内路径 目的主机目录