美文网首页
Docker 3:Docker常用命令

Docker 3:Docker常用命令

作者: _百草_ | 来源:发表于2022-03-03 17:54 被阅读0次

一、容器Docker

1. docker version

docker version 查看docker 版本

docker version
注:window使用docker时,需要运行dokcer Desktop;否则未报错:error during connect: In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json": open //./pipe/docker_engine: The system cannot find the file specified.

2. docker info

查看docker 信息


docker info

二、镜像IMAGE

2.1 docker image list & docker images

docker image ls [OPTIONS] [REPOSITORY[:TAG]] 列出镜像
docker image list [OPTIONS] [REPOSITORY[:TAG]]
docker images [OPTIONS] [REPOSITORY[:TAG]] 列出本地镜像

  • options:(三个命令相同)
  -a, --all             Show all images (default hides intermediate images)  # 列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)
      --digests         Show digests  # 显示镜像的摘要信息;
  -f, --filter filter   Filter output based on conditions provided  # 显示满足条件的镜像
      --format string   Pretty-print images using a Go template  # 指定返回值的模板文件
      --no-trunc        Don't truncate output  # 显示完整的镜像信息
  -q, --quiet           Only show image IDs  # 仅展示imge id
PS C:\Windows\system32>
  • docker image list/ls
PS C:\Users\百草> docker image list
REPOSITORY          TAG       IMAGE ID       CREATED        SIZE
docker101tutorial   latest    64d9b0977993   6 hours ago    28.8MB
alpine/git          latest    c6b70534b534   3 months ago   27.4MB
PS C:\Users\百草>
  • docker image list -a/--digests/--no-trunc/-q


    docker image list -a/--digests/--no-trunc/-q
  • 返回信息:
    -REPOSITORY仓库名
    -TAG标签:一个镜像可以对应多个标签
    -IMAGE ID镜像 ID:镜像的唯一标识
    -CREATED创建时间
    -SIZE所占用的空间:镜像到本地后展开状态;docker hub上显示的是压缩后的体积。docker多层存储,相同基础镜像,使用共同层,相同层保存一份。

  • docker system df 查看镜像硬盘占用空间

PS C:\Users\百草> docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          2         2         56.15MB   0B (0%)  # 镜像
Containers      3         2         2.205kB   0B (0%)  # 容器
Local Volumes   1         1         10.41MB   0B (0%)
Build Cache     31        0         85.49MB   85.49MB
PS C:\Users\百草>

引申:docker image list <镜像名>docker image list <镜像名>:<标签> 显示局部镜像

2.2 docker search

docker search [OPTIONS] TERM 搜索镜像

  • OPTIONS说明:
    --automated:只列出 automated build类型的镜像; # 当前版本不支持
    --no-trunc:显示完整的镜像描述;
    -f <过滤条件>:列出收藏数不小于指定值的镜像。
PS C:\Windows\system32> docker search --help
Usage:  docker search [OPTIONS] TERM
Search the Docker Hub for images
Options:
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print search using a Go template
      --limit int       Max number of search results (default 25)
      --no-trunc        Don't truncate output

如搜索python


docker search python
  • 参数说明:
    NAME: 镜像仓库源的名称
    DESCRIPTION: 镜像的描述
    STARS: 类似 Github 里面的 star,表示点赞、喜欢的意思。
    OFFICIAL: 是否 docker 官方发布
    AUTOMATED: 自动构建。

2.3 docker pull

docker pull [OPTIONS] NAME[:TAG|@DIGEST] 从镜像仓库中拉取或者更新指定镜像

PS C:\Windows\system32> docker pull --help

Usage:  docker pull [OPTIONS] NAME[:TAG|@DIGEST]

Pull an image or a repository from a registry  # 下载镜像

Options:
  -a, --all-tags                Download all tagged images in the repository   # 拉取所有 tagged 镜像
      --disable-content-trust   Skip image verification (default true)   # 忽略镜像的校验,默认开启
      --platform string         Set platform if server is multi-platform  capable
  -q, --quiet                   Suppress verbose output
PS C:\Windows\system32>
docker pull

2.4 docker push

docker push [OPTIONS] NAME[:TAG] 上传本地镜像到镜像仓库

PS C:\Windows\system32> docker push --help
Usage:  docker push [OPTIONS] NAME[:TAG]
Push an image or a repository to a registry

Options:
  -a, --all-tags                Push all tagged images in the repository
      --disable-content-trust   Skip image signing (default true)  # 忽略镜像的校验,默认开启
  -q, --quiet                   Suppress verbose output

2.5 docker bulid

docker build [OPTIONS] PATH | URL | - 使用Dockerfile创建镜像
Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。

Options:
      --add-host list           Add a custom host-to-IP mapping (host:ip)
      --build-arg list          Set build-time variables
      --cache-from strings      Images to consider as cache sources
      --disable-content-trust   Skip image verification (default true)
  -f, --file string             Name of the Dockerfile (Default is
                                'PATH/Dockerfile')  # 指定要使用的镜像文件路径;默认PATH/Dockerfile
      --iidfile string          Write the image ID to the file
      --isolation string        Container isolation technology
      --label list              Set metadata for an image
      --network string          Set the networking mode for the RUN
                                instructions during build (default "default")
      --no-cache                Do not use cache when building the image
  -o, --output stringArray      Output destination (format:
                                type=local,dest=path)
      --platform string         Set platform if server is multi-platform
                                capable
      --progress string         Set type of progress output (auto, plain,
                                tty). Use plain to show container output
                                (default "auto")
      --pull                    Always attempt to pull a newer version of
                                the image
  -q, --quiet                   Suppress the build output and print image
                                ID on success  # 安静模式,成功后只输出镜像ID
      --secret stringArray      Secret file to expose to the build (only
                                if BuildKit enabled):
                                id=mysecret,src=/local/secret
      --ssh stringArray         SSH agent socket or keys to expose to the
                                build (only if BuildKit enabled) (format:
                                default|<id>[=<socket>|<key>[,<key>]])
  -t, --tag list                Name and optionally a tag in the
                                'name:tag' format  # 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
      --target string           Set the target build stage to build.

2.6 docker tag

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] 创建一个tag TARGET_IMAGE[:TAG] 指向本地镜像SOURCE_IMAGE[:TAG]

docker tag

2.7 docker rmi

docker rmi [OPTIONS] IMAGE [IMAGE...] # 删除本地一个或多个镜像

Options:
  -f, --force      Force removal of the image  # 强制删除
      --no-prune   Do not delete untagged parents  # 不移除该镜像的过程镜像,默认移除
docker rmi

三、容器container

3.1 docker run

docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 创建一个新的容器并运行一个命令
Options:

-d, --detach                         Run container in background and print container ID  # 后台运行并输出容器id
 -e, --env list                       Set environment variables  #设置环境变量,如 -e username="ritchie"
 --name string                    Assign a name to the container  # 为容器指定一个名字,需要唯一
-i, --interactive                    Keep STDIN open even if not attached  # 以交互模式运行容器,通常与 -t 同时使用;
-t, --tty                            Allocate a pseudo-TTY  # 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P, --publish-all                    Publish all exposed ports to random ports  #随机端口映射,容器内部端口随机映射到主机的端口
-p, --publish list                   Publish a container's port(s) to the host  #指定端口映射,格式为:主机(宿主)端口:容器端口;注意确定所设置的端口是否在阿里云上开端口?不然是连接不到的,只有开放端口才能正常访问
-v, --volume list                    Bind mount a volume  # 映射容器安装目录,方便管理;如-v ~/mysql/conf:/etc/mysql/conf.d
  • 报错信息
PS C:\Windows\system32> docker run -d -p 84:84 --name container004 docker101tutorial
docker: Error response from daemon: Conflict. The container name "/container004" is already in use by container "e8c3c99a461c2801dced5a388c11a5df8ba5f1f9257664cf6804d00216d76855". You have to remove (or rename) that container to be able to reuse that name.  # 容器名重复;容器创建失败
See 'docker run --help'.
PS C:\Windows\system32> docker run -d -p 84:84 --name container005 docker101tutorial
d9401085b44d7cef7bf8c973ffab2af751151dd7f59e3c2644ebdeca164292df  # 容器创建成功
docker: Error response from daemon: driver failed programming external connectivity on endpoint container005 (429ee6cce6fdfd3095a0653fe99c20bb41e58e412e88a65bde4868e441863ea4): Bind for 0.0.0.0:84 failed: port is already allocated.  # 端口被占用;但实际容器已被创建,只不过没有启动
PS C:\Windows\system32> docker run -d -p 86:86 --name container006 docker101tutorial
d747d5efd37d6a709786e88cc27b60d9febf0a1fa0247f9e85be52d7f4cb5f4f
PS C:\Windows\system32>

docker run -d -i -t --name xxx
也等同于 docker -dit --name xxx

3.2 docker ps

docker ps查看在运行的容器
参数添加 -a,则展示所有容器

PS C:\Windows\system32> docker ps
CONTAINER ID   IMAGE                      COMMAND                  CREATED          STATUS          PORTS                        NAMES
d747d5efd37d   docker101tutorial          "/docker-entrypoint.…"   2 minutes ago    Up 2 minutes    80/tcp, 0.0.0.0:86->86/tcp   container006
e8c3c99a461c   docker101tutorial          "/docker-entrypoint.…"   4 minutes ago    Up 4 minutes    80/tcp, 0.0.0.0:84->84/tcp   container004
deb39d6e5c63   docker101tutorial:latest   "/docker-entrypoint.…"   25 minutes ago   Up 25 minutes   80/tcp                       zealous_kepler
9e91864d7058   docker101tutorial          "/docker-entrypoint.…"   6 hours ago      Up 27 minutes   0.0.0.0:80->80/tcp           docker-tutorial
PS C:\Windows\system32>
docker ps

输出详情介绍:

  • CONTAINER ID: 容器 ID。
  • IMAGE: 使用的镜像。
  • COMMAND: 启动容器时运行的命令。
  • CREATED: 容器的创建时间。
    -STATUS: 容器状态。
    状态有7种:
    created(已创建)、restarting(重启中)、running(运行中)、removing(迁移中)、paused(暂停)、exited(停止)、dead(死亡)
  • PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
  • NAMES: 自动分配的容器名称。

3.3 docker stop/kill/start/restart

  • docker start
PS C:\Windows\system32> docker start --help

Usage:  docker start [OPTIONS] CONTAINER [CONTAINER...]  # 容器名或容器id;容器id支持模糊查询

Start one or more stopped containers  # 启动一个或多个停止的容器

Options:
  -a, --attach               Attach STDOUT/STDERR and forward signals
      --detach-keys string   Override the key sequence for detaching a container
  -i, --interactive          Attach container's STDIN
PS C:\Windows\system32>
docker start
  • docker restart xxx # 重启
  • docker stop
PS C:\Windows\system32> docker stop --help

Usage:  docker stop [OPTIONS] CONTAINER [CONTAINER...]

Stop one or more running containers

Options:
  -t, --time int   Seconds to wait for stop before killing it (default 10)  
# 关闭容器的限时,如果超时未能关闭则用kill强制关闭,默认值10s,这个时间用于容器的自己保存状态
PS C:\Windows\system32>
docker stop
  • docker kill xxx # 强制关闭

3.4 docker cp

PS C:\Windows\system32> docker cp --help

Usage:  docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
        docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

Copy files/folders between a container and the local filesystem  # 文件与主机之间的数据拷贝

Use '-' as the source to read a tar archive from stdin
and extract it to a directory destination in a container.
Use '-' as the destination to stream a tar archive of a
container source to stdout.

Options:
  -a, --archive       Archive mode (copy all uid/gid information)
  -L, --follow-link   Always follow symbol link in SRC_PATH
PS C:\Windows\system32>

3.5 docker clone

3.6 docker rm

docker rm xxx 删除一个或多个容器

PS C:\Windows\system32> docker rm --help

Usage:  docker rm [OPTIONS] CONTAINER [CONTAINER...]

Remove one or more containers

Options:
  -f, --force     Force the removal of a running container (uses SIGKILL)  # 强制删除,通过 SIGKILL 信号删除正在运行中的容器
  -l, --link      Remove the specified link  # 移除容器间的网络链接,并非容器
  -v, --volumes   Remove anonymous volumes associated with the container  # 删除与容器关联的卷
PS C:\Windows\system32>

3.8 docker rename

PS C:\Windows\system32> docker rename --help
Usage:  docker rename CONTAINER NEW_NAME  # 使用容器id
Rename a container  # 更新容器名
docker rename

四、参考

  1. Docker学习2-Docker的基本命令与使用
  2. docker常规操作——启动、停止、重启容器实例
  3. Dokcer rm命令
  4. Docker push命令
  5. Docker build命令
  6. Docker cp命令

相关文章

  • Docker常用命令

    docker常用命令 (以下命令执行在docker 18.03.0-ce-rc3) service docker ...

  • Docker | docker常用命令

    docker常用命令总结 1.启动docker服务 2.停止docker服务 3.检查docker 守护进程是否在...

  • docker常用命令

    docker 常用命令 docker version docker search tutorial docker ...

  • Docker常用命令

    Docker常用命令 Docker帮助命令 docker version:查看docker版本 docker in...

  • Docker 常用命令

    Docker 常用命令 镜像命令 docker images docker search docker pull ...

  • docker常用命令

    一、 docker帮助命令 二、docker 镜像(images)常用命令 三、docker 容器常用命令

  • Docker

    Docker简介1 什么是Docker2 为什么使用Docker3 Docker的安装与启动及常用命令4 Dock...

  • Docker-常用命令

    # Docker 常用命令 ## 查看 Docker 版本 ``` docker version ``` ## 从...

  • docker的基本命令总结

    docker的常用命令 docker version #显示docker的版本信息 docker info ...

  • Docker | docker-compose 笔记记录

    Docker | docker-compose 笔记记录 [TOC] 一、docker 常用命令: docker镜...

网友评论

      本文标题:Docker 3:Docker常用命令

      本文链接:https://www.haomeiwen.com/subject/uobyrrtx.html