一、 镜像操作
  1. 列出镜像
    docker image ls
  2. 删除镜像
    docker image rm 镜像ID
  3. 修剪镜像
    docker image prune
  4. 定制镜像
    vim Dockerfile
    FROM centos:7
    ENV MY-ENV=example
    # 可以创建 .dockerignore 设置忽略文件
    COPY . /path/to/app
    WORKDIR /path/to/app
    RUN yum -y install epel-release \
     && yum -y install golang
    CMD ["go", "run", "main.go"]
    docker build -t my-image .
  5. 配置镜像加速器
    vim /etc/docker/daemon.json
    {
     "registry-mirrors": [
         "https://docker.mirrors.ustc.edu.cn",
         "https://hub-mirror.c.163.com",
         "https://mirror.baidubce.com",
         "https://reg-mirror.qiniu.com"
     ]
    }
  6. 登录到远程仓库
    docker login -u用户名
  7. 上传镜像
    docker push 用户名/镜像名:版本号
二、 容器操作
  1. 列出容器
    docker container ls
  2. 删除容器
    docker container rm 容器ID
  3. 修剪容器
    docker container prune
  4. 启动容器
    1. 启动服务(后台运行)
      docker run --name my-container \
          --network my-network \
          -v "$PWD":/path/to/app:ro \
          -p 80:80 \
          -d \
          my-image
    2. 运行脚本(前台运行)
      docker run --network my-network \
          -v "$PWD":/path/to/app \
          -it --rm \
          my-image
  5. 容器操作
    1. 启动
      docker container start 容器ID
    2. 停止
      docker container stop 容器ID
    3. 重启
      docker container restart 容器ID
    4. 将容器内部文件/文件夹复制到主机
      docker cp 容器ID:/path/to/container/file /path/to/host
三、 网络操作
  1. 列出网络
    docker network ls
  2. 删除网络
    docker network rm 网络ID
  3. 修剪网络
    docker network prune
  4. 创建网络
    docker network create -d bridge my-network
四、 docker-compose 用法
  1. 创建配置文件
    vim docker-compose.yml
    # 声明
    version: '3.1'
    services:
     # 构建后的容器名
     one:
         # 镜像名
         image: "my-image"
         # 设置环境变量
         environment:
             MY-ENV: example
         # 设置启动时运行的命令(相当于 Dockerfile 中的 CMD 命令)
         command: ping www.baidu.com
         # 连接通过【docker network create】自定义的网络
         networks:
             - my-network
         # 挂载主机目录
         volumes:
             - .:/path/to/app
         # 端口映射
         ports:
             - "80:80"
         # 通过 Dockerfile 文件定制容器
         build: .
     # ...
  2. 运行服务
    1. 前台运行
      docker-compose up
    2. 后台运行
      docker-compose up -d
文档更新时间: 2021-11-26 10:59   作者:lee