一、镜像操作

获取镜像

  1. docker pull <image-name>:<tag>

列出镜像

  1. docker images

删除镜像

  1. docker image rm <镜像>
  2. # 删除名为 redis 的镜像
  3. docker image rm $(docker image ls -q redis)
  4. # 一次性删除所有镜像
  5. docker rmi $(docker images -q)

当前目录的 Dockerfile 创建镜像

  1. docker build -t <image-name>:<tag>

指定文件构建镜像

  1. docker build -f /path/to/a/Dockerfile -t <image-name>:<tag>

将镜像保存 tar 包

  1. docker save -o image-name.tar <image-name>:<tag>

导入 tar 镜像

  1. docker load --input image-name.tar

将镜像修改成规范的镜像

  1. docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]

二、容器操作

运行容器

  1. docker run -d -p 物理端口1:容器端口1 -p 物理端口2:物理端口2 --name 容器名 <image-name>:<tag>

查看容器

  1. docker ps
  2. docker ps -a
  3. docker ps -a --no-trunc

进入容器

  1. docker exec -it 容器名/ID bash

启动容器

  1. docker start <容器>
  2. # 重启
  3. docker restart <容器>

停止容器

  1. # 停止指定容器
  2. docker stop <容器>
  3. # 停止所有容器
  4. docker stop $(dokcer ps -aq)

删除容器

  1. # 删除指定容器
  2. docker rm <容器>
  3. # 删除所有容器
  4. docker rm $(docker ps -aq)

容器打包镜像

  1. docker commit -a "作者" -m "备注" 容器ID <image-name>:<tag>

将容器打包成规范的镜像

  1. docker commit <exiting-Container> <hub-user>/<repo-name>[:<tag>]

三、挂载

磁盘挂载

  1. docker run -d -p 8080:80 -v 本机路径:容器路径 --name 容器名 <image-name>:<tag>

四、文件拷贝

物理机拷贝文件到容器

  1. docker cp test.txt 容器ID:/var/www/html

容器拷贝文件到物理机

  1. docker cp 容器ID:/var/www/html/test.txt 物理机路径

五、docker-compose 相关

后台启动并运行所有的容器

  1. docker-compose up -d

关闭并删除容器

  1. docker-compose down

开启|关闭|重启已经存在的由docker-compose维护的容器

  1. docker-compose start|stop|restart

运行当前内容并重新构建

  1. docker-compose up -d --build

六、其它

登录 Docker Hub

  1. docker login

上传推送镜像到公共仓库

  1. docker push <hub-user>/<repo-name>:<tag>

查看容器启动日志-启动失败排查

  1. cat $(docker inspect --format '{{.LogPath}}' 容器ID)