目录
前言
容器的命令操作分为三大块,分别为: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]
NAME
和TAG
分别是要推送的镜像名称和标签.
以下是使用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,或者使用-
表示从标准输入中读取文件系统。REPOSITORY
和TAG
参数用于指定要创建的新镜像的名称和标签。
示例:假设您有一个名为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系列文章中还会详细说明。