【云原生|Docker】03-docker的基础操作

目录

前言

查询相关

容器相关 

1.  容器启动 

2.   容器关闭

3.  重启容器

4.  暂停容器

5.  删除容器

 6.  docker run参数汇总

镜像相关

1.  镜像推送至仓库 

2.   docker  image load使用

3.  docker image import使用 

4.  dokcer image参数汇总 


前言

        容器的命令操作分为三大块,分别为:Common Commands,Management Commands,Swarm Commands。本章主要介绍容器的启动,停止,镜像的上传,下载,这几个方面来说docker的操作命令。 

查询相关

 1.  查看所有容器(显示启动和未启动的)

 docker   ps   -a

[root@clinet ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS                       PORTS     NAMES
9600ac1329ba   nginx     "/docker-entrypoint.…"   41 minutes ago   Exited (137) 3 minutes ago             nginx_1
7e18dace050a   nginx     "/docker-entrypoint.…"   45 minutes ago   Exited (0) 2 minutes ago               beautiful_bhaskara
c59a4416e418   nginx     "/docker-entrypoint.…"   53 minutes ago   Up 53 minutes                80/tcp    nginx_container
9090f333a406   nginx     "/docker-entrypoint.…"   3 days ago       Exited (0) 3 days ago                  hardcore_heisenberg
[root@clinet ~]# 

2.  查看已启动的容器(只显示已启动的) 

 docker   ps 

[root@clinet ~]# docker ps 
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
c59a4416e418   nginx     "/docker-entrypoint.…"   54 minutes ago   Up 54 minutes   80/tcp    nginx_container
[root@clinet ~]#

CONTAINER ID :每启动一个容器都会随机生成一个id;

IMAGE :启动容器所用的镜像名称;

COMMAND : 启动容器后在容器内部前台运行的进程,当容器内前台运行的进程结束后,该容器就会退出(不再是up状态);
CREATED :容器创建了多长时间;

STATUS :容器的状态,分别有up(运行),exited(退出),paused(暂停);

PORTS :容器内监听的端口,当使用-p参数给容器端口映射之后,会显示映射端口和容器内端口;

NAMES :容器的名称,默认随机创建名称,可以使用--name 指定名称

 3.  查询docke等相关信息

docker   info

[root@clinet ~]# docker info 
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.10.2
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.16.0
    Path:     /usr/libexec/docker/cli-plugins/docker-compose
  scan: Docker Scan (Docker Inc.)
    Version:  v0.23.0
    Path:     /usr/libexec/docker/cli-plugins/docker-scan

Server:
 Containers: 5
  Running: 2
  Paused: 0
  Stopped: 3
 Images: 2
 Server Version: 23.0.1
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 2456e983eb9e37e47538f59ea18f2043c9a73640
 runc version: v1.1.4-0-g5fd4c4d
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
 Kernel Version: 3.10.0-1160.76.1.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 1.777GiB
 Name: clinet
 ID: MC6B:5JJX:53U5:BGLV:SM2E:IMX3:W2IS:DQ7M:JTAE:SA6Z:QL2J:ALVS
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://mqkiky4e.mirror.aliyuncs.com/
 Live Restore Enabled: false

WARNING: API is accessible on http://0.0.0.0:3276 without encryption.
         Access to the remote API is equivalent to root access on the host. Refer
         to the 'Docker daemon attack surface' section in the documentation for
         more information: https://docs.docker.com/go/attack-surface/
[root@clinet ~]# 

 4.   查询指定容器的详细信息

docker   inspect   容器名称/容器id        

[root@clinet ~]# docker inspect nginx_2
[
    {
        "Id": "9f90418a59bd2cc36bff61cab7360e7b672d152329a8517fda6696dfe4e0b7ba",
        "Created": "2023-03-18T09:39:31.502861773Z",
        "Path": "/docker-entrypoint.sh",
        "Args": [
            "nginx",
            "-g",
            "daemon off;"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 5867,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2023-03-18T09:39:32.038676669Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:904b8cb13b932e23230836850610fa45dce9eb0650d5618c2b1487c2a4f577b8",
        "ResolvConfPath": "/var/lib/docker/containers/9f90418a59bd2cc36bff61cab7360e7b672d152329a8517fda6696dfe4e0b7ba/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/9f90418a59bd2cc36bff61cab7360e7b672d152329a8517fda6696dfe4e0b7ba/hostname",
        "HostsPath": "/var/lib/docker/containers/9f90418a59bd2cc36bff61cab7360e7b672d152329a8517fda6696dfe4e0b7ba/hosts",
        "LogPath": "/var/lib/docker/containers/9f90418a59bd2cc36bff61cab7360e7b672d152329a8517fda6696dfe4e0b7ba/9f90418a59bd2cc36bff61cab7360e7b672d152329a8517fda6696dfe4e0b7ba-json.log",
        "Name": "/nginx_2",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {
                "80/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "8080"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                25,
                118
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "host",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": [],
            "BlkioDeviceWriteBps": [],
            "BlkioDeviceReadIOps": [],
            "BlkioDeviceWriteIOps": [],
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/2336f15442f95701825b180a9ac0ab325d74c8d8dad4205a8b8a0a716dfd9974-init/diff:/var/lib/docker/overlay2/f6fb37fd4809d0d5117986799d12cb9ec609246413024b4a906c4070e4e38c05/diff:/var/lib/docker/overlay2/39e10f3ca43f3532ce10d40449eb46a3781880fbd3335c7083760ab85c38a102/diff:/var/lib/docker/overlay2/2ff9c5cc2fd76d8e2ded68d59092cd72aa3e1da309e71093b4cce514877d6ebe/diff:/var/lib/docker/overlay2/de238ec7feb4d53664db7156e8fcba50709a78566129c9fac7a33d76a837e939/diff:/var/lib/docker/overlay2/e11e90aa79a17f149a69c64bb10c582df04b46c68a5270ce9a650f996f48780e/diff:/var/lib/docker/overlay2/51c3c88754ee4a5b4076fb7fc94116475587bacfcf0e8dc2980bb9424df76346/diff",
                "MergedDir": "/var/lib/docker/overlay2/2336f15442f95701825b180a9ac0ab325d74c8d8dad4205a8b8a0a716dfd9974/merged",
                "UpperDir": "/var/lib/docker/overlay2/2336f15442f95701825b180a9ac0ab325d74c8d8dad4205a8b8a0a716dfd9974/diff",
                "WorkDir": "/var/lib/docker/overlay2/2336f15442f95701825b180a9ac0ab325d74c8d8dad4205a8b8a0a716dfd9974/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [],
        "Config": {
            "Hostname": "9f90418a59bd",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "80/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "NGINX_VERSION=1.23.3",
                "NJS_VERSION=0.7.9",
                "PKG_RELEASE=1~bullseye"
            ],
            "Cmd": [
                "nginx",
                "-g",
                "daemon off;"
            ],
            "Image": "nginx",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": [
                "/docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {
                "maintainer": "NGINX Docker Maintainers <[email protected]>"
            },
            "StopSignal": "SIGQUIT"
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "8f33f102953eb65c059ea29baeacf685db50aa4f2bc6c908bc85d4b5314006b8",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "80/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "8080"
                    }
                ]
            },
            "SandboxKey": "/var/run/docker/netns/8f33f102953e",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "f4f033a0135d2d8d94ad422e287660325998c9b40d6f8b0b150bdbf2497484f6",
            "Gateway": "172.17.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.3",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:11:00:03",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "5e392fc5fa9cb25d19386a7acb4f2746218fcc99a11c8b5a421614e6df0a24a0",
                    "EndpointID": "f4f033a0135d2d8d94ad422e287660325998c9b40d6f8b0b150bdbf2497484f6",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.3",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:03",
                    "DriverOpts": null
                }
            }
        }
    }
]
[root@clinet ~]# ^C
[root@clinet ~]# 

 5.  查看docker版本信息

 docker   version

[root@clinet ~]# docker info  
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.10.2
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.16.0
    Path:     /usr/libexec/docker/cli-plugins/docker-compose
  scan: Docker Scan (Docker Inc.)
    Version:  v0.23.0
    Path:     /usr/libexec/docker/cli-plugins/docker-scan

Server:
 Containers: 5
  Running: 2
  Paused: 0
  Stopped: 3
 Images: 2
 Server Version: 23.0.1
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 2456e983eb9e37e47538f59ea18f2043c9a73640
 runc version: v1.1.4-0-g5fd4c4d
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
 Kernel Version: 3.10.0-1160.76.1.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 1.777GiB
 Name: clinet
 ID: MC6B:5JJX:53U5:BGLV:SM2E:IMX3:W2IS:DQ7M:JTAE:SA6Z:QL2J:ALVS
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://mqkiky4e.mirror.aliyuncs.com/
 Live Restore Enabled: false

WARNING: API is accessible on http://0.0.0.0:3276 without encryption.
         Access to the remote API is equivalent to root access on the host. Refer
         to the 'Docker daemon attack surface' section in the documentation for
         more information: https://docs.docker.com/go/attack-surface/
[root@clinet ~]# 

 6.  查看已下载镜像

 docker  images  /  docker   image   ls

[root@clinet ~]# docker images 
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        latest    904b8cb13b93   2 weeks ago     142MB
mysql        latest    3218b38490ce   15 months ago   516MB
[root@clinet ~]# 
[root@clinet ~]# docker image ls 
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        latest    904b8cb13b93   2 weeks ago     142MB
mysql        latest    3218b38490ce   15 months ago   516MB
[root@clinet ~]# 

容器相关 

1.  容器启动 

 语法:

        docker    run    启动一个容器

示例1: 启动一个nginx容器,让其在后台运行。 

[root@clinet ~]# docker run -d --name  nginx_container nginx 
c59a4416e41898c2015f729906e0693e6aaa065c386e8af45f414f80a3a3e320
[root@clinet ~]# 

 -d : 表示启动的容器放在后台,此时容器启动后会范围容器id

--name : 表示给指定创建容器的名称为nginx_container ,不加该参数默认随机创建名称。

nginx : 表示使用的镜像名称,也可以写为 [名称]:[版本号],加版本号则为latest

示例2:启动一个nginx容器,让其在前台运行 

[root@clinet ~]# docker run -it --name nginx_1 nginx /bin/bash
root@9600ac1329ba:/# 
root@9600ac1329ba:/#

 -it : 表示启动一个容器后给他分配一个终端,此时就是在容器的终端内。

/bin/bash :表示分配的终端shell为/bin/bash;有的容器是shell是/bin/sh。

注意:
        当我们前台启动一个容器后,我们会在容器的终端内,此时我们要是exit退出容器的终端,该容器就会正常退出(不在是up状态是exited状态

 示例3: 进入一个后台启动的容器的终端shell中。

[root@clinet ~]# docker exec -it nginx_1 /bin/bash
root@9600ac1329ba:/# 
root@9600ac1329ba:/#

exec :进入一个启动的容器中,容器需要是running状态。

-it :表示分配的终端shell为/bin/bash;有的容器是shell是/bin/sh。

/bin/bash :表示分配的终端shell为/bin/bash;有的容器是shell是/bin/sh。

2.   容器关闭

 示例1: 强制关闭一个启动的容器

[root@clinet ~]# docker kill nginx_2
nginx_2
[root@clinet ~]# 

 强制关闭的容器在docker  ps -a查看到的status状态栏为exited 137,异常退出的状态码。

示例2:正常关闭一个容器

[root@clinet ~]# docker stop nginx_container
nginx_container
[root@clinet ~]#

 正常关闭的容器在docker  ps -a查看到的status状态栏为exited 0,正常常退出的状态码。

 3.  重启容器

 示例1.  start启动容器

[root@clinet ~]# docker start  nginx_2
nginx_2
[root@clinet ~]#

示例2.  restart重启容器

[root@clinet ~]# docker restart nginx_2
nginx_2
[root@clinet ~]#

4.  暂停容器

示例1.  pasued暂停容器

[root@clinet ~]# docker restart nginx_2
nginx_2
[root@clinet ~]#

 docker ps  -a  查看的status状态为pasued

示例2.  unpasue取消暂停

[root@clinet ~]# docker unpause nginx_2
nginx_2
[root@clinet ~]#

 5.  删除容器

示例1.  删除一个已经停止的容器 

[root@clinet ~]# docker rm nginx_1
nginx_1
[root@clinet ~]# 

 示例2:删除一个还在运行的容器

[root@clinet ~]# docker rm -f nginx_2
nginx_2
[root@clinet ~]#

 -f :强制删除正在运行的容器(使用SIGKILL)

 6.  docker run参数汇总

-d: 让容器在后台运行(detached mode),并返回容器的 ID。
-it: 将容器的 STDIN 和 STDOUT 绑定到当前的终端,并使用交互模式(interactive mode)。
-p: 将容器内部的端口映射到主机上,格式为 <host_port>:<container_port>。
-v: 将主机上的目录挂载到容器内部,格式为 <host_path>:<container_path>。
--name: 为容器指定一个名称。
--rm: 容器退出时自动删除容器。
--env: 设置容器内部的环境变量,格式为 <key>=<value>。
--network: 指定容器使用的网络,可以是默认的 bridge 网络或自定义网络。
--link: 将容器连接到另一个容器,以便它们之间可以进行通信。
--restart: 指定容器退出后应该如何重启,例如 always 表示总是重启,on-failure 表示只有在退出代码不为 0 时才重启等等。
--entrypoint: 指定容器启动时要运行的命令,覆盖 Dockerfile 中指定的 CMD。
--user: 指定容器中运行的用户。
--workdir: 指定容器的工作目录。
--memory: 限制容器使用的内存量。
--cpu-shares: 设置容器使用 CPU 的权重。
--env-file: 从文件中读取环境变量并传递给容器。
--label: 给容器添加元数据标签,方便管理和搜索。
--detach-keys: 定义一个分离键,可以使用这个键来从交互式模式下退出容器并保持容器在后台运行。
--privileged: 给容器赋予所有的 Linux 内核权限。
--security-opt: 指定容器的安全选项,例如 seccomp 等。
--stop-timeout: 设置容器停止的超时时间。
--mount: 挂载一个文件系统,可以指定一个本地目录或远程存储。
--shm-size: 设置 /dev/shm 的大小,这是共享内存文件系统。

--add-host: 添加主机名和 IP 地址到容器的 /etc/hosts 文件中。
--cap-add 和 --cap-drop: 分别添加和删除容器的 Linux 内核功能,例如可以限制容器访问主机上的设备等。
--cpu-period 和 --cpu-quota: 限制容器使用 CPU 的时间片和配额。
--health-cmd 和 --health-interval: 指定容器健康检查的命令和间隔。
--isolation: 指定容器的隔离级别,可以是 default、process 或 hyperv。
--log-driver 和 --log-opt: 指定容器的日志驱动和选项,例如可以将容器日志输出到文件或远程日志收集器等。
--tmpfs: 挂载一个 tmpfs 文件系统到容器内部,用于存储临时文件。
--add-host: 添加主机名和 IP 地址到容器的 /etc/hosts 文件中。
--cap-add 和 --cap-drop: 分别添加和删除容器的 Linux 内核功能,例如可以限制容器访问主机上的设备等。
--cpu-period 和 --cpu-quota: 限制容器使用 CPU 的时间片和配额。
--health-cmd 和 --health-interval: 指定容器健康检查的命令和间隔。
--isolation: 指定容器的隔离级别,可以是 default、process 或 hyperv。
--log-driver 和 --log-opt: 指定容器的日志驱动和选项,例如可以将容器日志输出到文件或远程日志收集器等。
--tmpfs: 挂载一个 tmpfs 文件系统到容器内部,用于存储临时文件。
还有很多其他的参数,可以使用 docker run --help 查看完整的参数列表。

镜像相关

1.  镜像推送至仓库 

docker image push命令用于将本地的Docker镜像推送到Docker镜像仓库。使用该命令需要将本地的镜像打上标签,指定要推送的仓库地址和名称,同时需要登录到Docker仓库。

docker image push命令的基本语法:

docker image push [OPTIONS] NAME[:TAG]

NAMETAG分别是要推送的镜像名称和标签.

以下是使用docker image push命令的步骤:

step1: 找到要推送的本地镜像的名称和标签。您可以使用docker image ls命令列出本地镜像,然后找到要推送的镜像及其标签。例如,如果要推送my-image镜像的v1.0标签,其完整名称应为my-username/my-repo:v1.0

docker image tag my-image my-username/my-repo:v1.0

step2: 登录Docker镜像仓库,使用docker login命令登录Docker账号。 

$ docker login
Username: <your username>
Password: <your password>

step3:使用docker image push命令将本地镜像推送到Docker镜像仓库

$ docker image push my-username/my-repo:v1.0

 如果您要推送的镜像名称包含默认的Docker Hub registry(即Docker Hub),则可以省略该registry的名称。例如,如果您要推送的镜像名称为my-username/myimage,则可以使用以下命令:

$ docker image push my-username/myimage:v1.0

2.   docker  image load使用

  docker image load命令用于从一个tar归档文件或标准输入中加载一个或多个Docker镜像。该命令将归档文件中的镜像加载到本地Docker引擎中,可以使用docker image ls命令来查看这些镜像。

docker image load命令的基本语法:

docker image load [OPTIONS]

 OPTIONS包括以下选项:

  • -i, --input:从指定的归档文件中加载镜像。
  • -q, --quiet:不显示加载镜像的详细信息。

示例: 假设您有一个名为my-images.tar的归档文件,其中包含了两个Docker镜像,可以使用以下命令将这些镜像加载到本地Docker引擎中:

docker image load -i my-images.tar

         在上面的示例中,-i选项用于指定要加载的归档文件,my-images.tar是归档文件的名称。加载镜像时,Docker将显示每个镜像的名称、标签、大小等信息。

请注意,docker image load命令会将归档文件中的所有镜像都加载到本地Docker引擎中。如果归档文件中包含的镜像已经存在于本地Docker引擎中,则将覆盖已有的镜像。

3.  docker image import使用 

         docker image import命令用于从文件或标准输入中导入一个文件系统作为一个新的Docker镜像。该命令将文件系统中的内容打包成一个Docker镜像,并将其保存在本地Docker引擎中。可以使用docker image ls命令来查看这个新的镜像。

基础语法:

docker image import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

OPTIONS包括以下选项:

  • --change:应用Dockerfile中的指令。
  • --message:设置导入的镜像的描述信息。

file|URL|-参数指定要导入的文件系统的路径或URL,或者使用-表示从标准输入中读取文件系统。REPOSITORYTAG参数用于指定要创建的新镜像的名称和标签。 

示例:假设您有一个名为my-file-system.tar的文件系统,您想要将其导入为一个名为my-image的Docker镜像,可以使用以下命令:

docker image import my-file-system.tar my-image:latest

         在上面的示例中,my-file-system.tar是文件系统的名称,my-image:latest是要创建的新镜像的名称和标签。

请注意,导入的文件系统不包括任何运行时状态,如进程、环境变量等。它仅包括文件系统本身的内容。如果需要在导入的镜像中运行应用程序,您可能需要通过其他方式将应用程序和相关文件导入到镜像中。

4.  dokcer image参数汇总 

docker image build:从Dockerfile构建镜像。
docker image history:显示镜像的历史记录,包括每个历史层的创建时间、作者、命令等信息。
docker image import:将来自tar归档文件的内容导入到一个文件系统镜像中。
docker image inspect:显示有关一个或多个镜像的详细信息,包括标签、创建时间、作者、命令、配置等信息。
docker image load:从一个tar归档文件或标准输入中加载一个镜像。
docker image ls:列出本地的镜像列表。
docker image prune:删除未使用的本地镜像。
docker image pull:从镜像仓库拉取镜像。
docker image push:将本地镜像推送到镜像仓库。
docker image rm:删除一个或多个本地镜像。
docker image save:将一个或多个镜像保存为一个tar归档文件。
docker image tag:为一个镜像打上一个或多个标签。

关于docker run,image,swarm的相关参数和使用我们在后续docker系列文章中还会详细说明。

猜你喜欢

转载自blog.csdn.net/qq_43714097/article/details/129564703