Docker 常用命令

常用命令

常用

docker version  
docker info  
docker pull  
docker login  
docker logout  
docker images  
docker ps -a  
docker start|stop|restart  
docker rm xxxx  
docker rmi xxxx  
docker exec -it `name OR id` /bin/bash

批量停止删除容器和镜像

停止所有容器

docker stop $(docker ps -aq)

删除所有的容器

docker rm $(docker ps -aq)

删除所有的镜像

docker rmi $(docker images -q)

Docker 目录拷贝

本机/root/test目录拷贝到容器内/root目录内.

docker cp /root/test 54c9k13e36eb:/root/

本机/root/test目录拷贝到容器内,并更名为/test123.注意命令后没有/.

docker cp /root/test 54c9k13e36eb:/test123

将容器内的/test目录拷贝到主机的/root目录内.

docker cp  54c9k13e36eb:/test /root/

Docker 文件拷贝

本机1.db文件拷贝到容器内root目录内.

docker cp 1.db 54c9k13e36eb:/root/

将容器内的/root/1.db文件拷贝到主机的当前目录.

docker cp 54c9k13e36eb:/root/1.db .

创建镜像

容器创建镜像

通过容器提交生成镜像

docker commit 容器名 镜像名

保存镜像到文件

docker save 镜像名 > 文件名.tar

从文件恢复到镜像

docker load < 文件名.tar

通过镜像启动新容器

docker run --name 容器名 相关参数 最后接新的镜像名

上传本地镜像

登录

docker login

上传镜像

docker push xxxxx/xxxxx:latest

自动构建镜像

Docker Hub 创建仓库

  • 链接 GitHub
  • 配置 Build Rules
Source Type Source Docker Tag Dockerfile location
Branch Master Latest /
Tag /^v[0-9.]+$/ {\1} /

GitHub Push

  • 正常 commit 并 push 到 GitHub
  • Docker Hub 自动构建 master 分支为 latest 镜像
  • 本地 tag commit 并 push tag
  • Docker Hub 自动构建 tag 标签为 tag名 镜像
创建标签
git log
# 复制 commit ID
git tag -a v1.0.0 commitID -m "v1.0.0"
# 本地 tag 版本号标签
git push origin v1.0.0 
# 提交本地标签到 GitHub
删除标签
git tag -d 标签名
git push origin :refs/tags/标签名

docker compose

volumes

顶级卷创建命名卷,并配置命名卷路径.

volumes:
  database:
    driver: local
    driver_opts:
      type: 'none'
      o: 'bind'
      device: '/xxx/xxx'