帮助命令
docker version
docker info
docker --help
镜像命令
docker images
docker images --help
# 搜索镜像
docker search mysql # 也可以在dockerhub上找
# 下载镜像
docker pull mysql
# 删除镜像(推荐根据ID来删)
docker rmi -f ID
docker rmi -f $(docker images -aq) ## 批量删除全部容器
容器命令
容器类似于实例对象,镜像类似于类模板
run 镜像ID
的作用类似于实例化一个类
注意分清容器id和镜像id
docker run --help
# 示例,docker运行centos
docker run -it centos /bin/bash
# 退出容器
exit ## 退出并停止
ctrl + P + Q ## 退出不停止
# 查看正在运行的容器
docker ps ## -a表示查看曾经运行过的容器
# 删除容器
docker rm -f ID ## -f表示强制删除,去掉则不能删除掉那些正在运行的容器
docker rm -f $(docker ps -aq)
docker ps -a -q | xargs docker rm ## 效果同上
# 开始和停止容器
docker start/stop/restart/kill 容器id
其他命令
# 后台启动一个容器
docker run -d 镜像名 ## 有坑,docker后台发现前台没有相应应用就自杀了,因此docker ps 会发现没有容器在运行
# 根据容器ID重新进入容器交互
docker exec -it 容器ID /bin/bash
# 显示最近10条日志
docker logs -tf --tail 10 容器ID
# 查看容器内部的进程信息
docker top 容器ID
# 查看容器详细信息(镜像的元数据)
docker inspect 容器ID
进入正在后台运行的容器
docker attach 容器ID ## 进入容器并显示正在进行的任务
docker exec -it 容器ID /bin/bash ## 进入容器后开启一个新的任务
从容器内部拷贝文件到宿主机上
docker cp 容器id:容器内路径 宿主机路径
部署nginx
docker pull nginx
docker run -d --name nginx01 -p 3344:80 nginx
curl localhost:3344
## 进入
docker exec -it nginx01 /bin/bash