常用docker命令。

命令

容器相关
# 1. 启动容器
docker start <容器名orID>
# 2. 停止容器
docker stop <容器名orID>
# 3. 重启容器
docker restart <容器名orID>
# 4. 杀死容器
docker kill <容器名orID>
# 5. 查看正在运行的容器
docker ps
# 6. 查看所有的容器(包括已经停止的)
docker ps -a
# 7. 删除容器
docker rm <容器名orID>
# 8. 删除所有容器
docker rm $(docker ps -a -q)
# 9. 查看容器的root用户密码
docker logs <容器名orID> 2>&1 | grep '^User: ' | tail -n1
# 10. 查看容器日志
docker logs -f <容器名orID>
# 11. 后台运行,并暴露端口,便于连入容器
docker run -d -p 127.0.0.1:33301:22 centos6-ssh
# 12. 从容器中拷贝文件
# 示例:拷贝7bb0e258aefe中的/etc/debian_version到当前目录下
docker cp 7bb0e258aefe:/etc/debian_version . # 即使容器未启动也可以拷贝
# 13. 查看容器的IP
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
# 14. 以指定用户进入容器
docker exec -u www-data -it 3dada3f22bd2 /bin/bash

镜像相关

# 1. 查看所有镜像
docker images
# 2. 删除所有镜像
docker rmi $(docker images | grep none | awk '{print $3}' | sort -r)
# 3. 删除一个镜像
docker rmi <TagsorID>
# 4. 创建一个容器,同时为它命名、端口映射、文件夹映射
docker run --name redmine -p 9003:80 -p 9023:22 -d -v /var/redmine/files:/redmine/files -v /var/redmine/mysql:/var/lib/mysql sameersbn/redmine # 以redmine镜像为例
# 5. 一个容器连接到另一个容器。
# 示例:容器连接到mmysql容器,并将mmysql容器重命名为db。这样,sonar容器就可以使用db的相关的环境变量
docker run -i -t --name sonar -d -link mmysql:db tpires/sonar-server
# 6. 拉取镜像
docker pull <镜像名:tag>
# 7. 镜像迁移
docker save busybox-1 > /home/save.tar # 导出镜像
docker load < /home/save.tar # 导入镜像
# 8. 构建自己的镜像
docker build -t <镜像名> <Dockerfile路径>
docker build -t xx/gitlab .

END