前言

容器内 SHELL

  • 进入容器内 shell

    docker exec -it nextcloud bash

容器的拉取、查看、运行、重启

  • 搜索容器(nginx)

    $ docker search nginx
  • 新拉一个容器(nginx)

    $ docker pull nginx:latest
  • 查看本地镜像

    $ docker images
  • 运行容器

    # --name nginx-test:容器名称。
    # -p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
    # -d nginx: 设置容器在在后台一直运行。
    $ docker run --name nginx-test -p 8088:80 -d nginx
  • 查看容器

    # 查看正在运行的容器
    docker ps
    # 查看所有容器
    docker ps -a
    # 查看时过滤
    docker ps -f name=kafka -f name=zookeeper
  • 重启容器

    $ docker restart nginx-test
  • 关闭容器

    $ docker stop nginx-test
  • 删除容器

    $ docker rm nginx-test
  • 删除容器镜像

    $ docker rmi nginx:latest

开机启动

  • docker 服务开机启动

    $ sudo systemctl enable docker.service
  • 容器开机启动

    # 初次启动容器
    $ docker run --restart unless-stopped --name nginx-test -p 8088:80 -d nginx
    # 对于已运行的容器
    $ docker update --restart unless-stopped nginx-test
  • 查看容器的 restart 策略

    $ docker inspect nginx-test | jq .[0].HostConfig.RestartPolicy
    {
      "Name": "unless-stopped",
      "MaximumRetryCount": 0
    }

volume 卷

  • 查看所有卷

    $ docker volume ls
    DRIVER    VOLUME NAME
    local     df17b9c308bdaf954682ceb066c8758e101d9ef7b2b20d29f39284d5e57f8800
    local     docker_compose_collabora
    local     docker_compose_db
    local     docker_compose_nextcloud
    local     gitea_qbit
  • 查看卷的物理挂载点

    $ docker volume inspect docker_compose_nextcloud 
    [
      {
          "CreatedAt": "2021-09-18T16:37:09+08:00",
          "Driver": "local",
          "Labels": {
              "com.docker.compose.project": "docker_compose",
              "com.docker.compose.version": "1.29.2",
              "com.docker.compose.volume": "nextcloud"
          },
          "Mountpoint": "/var/lib/docker/volumes/docker_compose_nextcloud/_data",
          "Name": "docker_compose_nextcloud",
          "Options": null,
          "Scope": "local"
      }
    ]
  • 查看容器中卷的挂载点

    $ docker inspect nextcloud | jq -r .[0].Mounts
    [
      {
        "Type": "volume",
        "Name": "docker_compose_nextcloud",
        "Source": "/var/lib/docker/volumes/docker_compose_nextcloud/_data",
        "Destination": "/var/www/html",
        "Driver": "local",
        "Mode": "rw",
        "RW": true,
        "Propagation": ""
      }
    ]

容器内外文件拷贝

  • 文件拷贝

    # docker 内文件拷贝
    docker cp nextcloud:/etc/apt/sources.list /tmp/sources.list.bak
    # 从 docker 外拷贝到 docker 内
    docker cp sources.list nextcloud:/etc/apt/sources.list
本文出自 qbit snap

qbit
268 声望279 粉丝