Docker 常用命令

159 阅读1分钟

镜像


  1. 使用 Dockerfile build镜像
docker build -t mynginx .

# dockerfile 文件内容
FROM nginx
RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
  1. 列出已经下载的镜像
docker image ls

# 显示包含中间层镜像在内
docker image ls -a

# 列出特定的镜像 
docker image ls ubuntu:18.04
  1. 查看镜像 容器 数据卷 所占用的空间
docker system df
  1. 列出 悬浮镜像(无标签镜像)
docker image ls -f dangling=true
  1. 删除悬浮镜像
docker image prune
  1. 列出部分镜像
docker image ls alpine
  1. 删除镜像命令格式
docker image rm [选项] <镜像> [<镜像2> ...]

# 例 , 删除 alpine
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
alpine              latest              4d90542f0623        7 days ago          5.58MB
hello-world         latest              fce289e99eb9        5 months ago        1.84kB

docker image rm 4d90542f0623

容器

  1. 运行容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  1. 停止容器
docker stop 容器id
  1. 删除容器, 需要先停止容器的运行
docker rm 容器id
  1. 进入容器进行操作

    • attach 命令

      docker attach 容器id
      
      # 注意如果从这个stdin中 exit, 会导致容器停止
      
    • exec 命令

      docker exec -it 容器id bash
      
      -i : 保持输出
      -t : 交互式终端
      
      注意: 从这个stdin中exit, 不会导致容器停止
      
  2. 导出容器

docker export 容器id > XXX.tar
  1. 导入容器快照
cat XXX.tar | docker import -test/XXX:v1.0

# 通过制定 URL 或某个目录来导入
docker import import http://example.com/exampleimage.tgz example/imagerepo

保存镜像, 载入镜像

  1. 保存
docker save -o salebot_env.tar salebot_env
  1. 载入
docker load -i salebot_env.tar