06docker基本命令

06docker基本命令

帮助命令

docker version		# 显示docker的版本信息
docker info			# 显示docker的系统级信息,包括容器和镜像的数量
命令 --help		   # 帮助命令

帮助文档地址:Commandline documentation | Docker Documentation

镜像命令

1、docker images 查看本地主机上所有的镜像

[root@MyCould ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    feb5d9fea6a5   8 months ago   13.3kB



# 解释:
REPOSITORY		镜像的远程仓库源
TAG 			镜像的标签
IMAGE ID 		镜像的ID
CREATED			镜像创建的时间
SIZE			镜像的大小


# 可选项(可以先学常用的参数)
  -a, --all             # 列出所有镜像
      --digests         # 列出时显示digests(签名)
  -f, --filter filter   # 根据提供的条件过滤输出
  -q, --quiet           # 只显示镜像的ID


2、docker search 搜索镜像

[root@MyCould ~]# docker search mysql
NAME                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                          MySQL is a widely used, open-source relation…   12653     [OK]       
mariadb                        MariaDB Server is a high performing open sou…   4857      [OK]       
percona                        Percona Server is a fork of the MySQL relati…   578       [OK]       
phpmyadmin                     phpMyAdmin - A web interface for MySQL and M…   545       [OK]                       



# 解释
NAME		镜像的名称
DESCRIPTION	镜像的描述
STARS		镜像的收藏数
OFFICIAL	镜像是否是官方的	
AUTOMATED	镜像是否是自动化的


# 可选项
  -f, --filter filter   # 根据提供的条件过滤输出
      --limit int       # 最大返回查询条数(默认25)
  ...



[root@MyCould ~]# docker search mysql --filter=stars=3000		# 搜索的stars大于3000的镜像
NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql     MySQL is a widely used, open-source relation…   12653     [OK]       
mariadb   MariaDB Server is a high performing open sou…   4857      [OK]    

3、docker pull 下拉镜像

# 下载镜像: docker pull 镜像名[:tag]
[root@MyCould ~]# docker pull mysql
Using default tag: latest		# 如果不写明tag,则默认为latest版本(最新版)
latest: Pulling from library/mysql  
72a69066d2fe: Pull complete 	# 分层下载:docker image 的核心 联合文件系统
93619dbc5b36: Pull complete 
99da31dd6142: Pull complete 
626033c43d70: Pull complete 
37d5d7efb64e: Pull complete 
ac563158d721: Pull complete 
d2ba16033dad: Pull complete 
688ba7d5c01a: Pull complete 
00e060b6d11d: Pull complete 
1c04857f594f: Pull complete 
4d7cfa90e6ea: Pull complete 
e0431212d27d: Pull complete 
Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709		# 签名信息
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest	# 真实地址


# 等价与真实地址
docker pull mysql <=等价于=>  docker pull docker.io/library/mysql:latest


# 可选项
  -a, --all-tags                # 下载存储库中的所有版本镜像
  -q, --quiet                   # 抑制详细输出
  ...



# 指定版本下载
[root@MyCould ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
72a69066d2fe: Already exists 	# 已经下载过的文件,它不会去重新下载,镜像之间可以公用;此分层下载,极大的减少了内存的开支 联合文件系统
93619dbc5b36: Already exists 
99da31dd6142: Already exists 
626033c43d70: Already exists 
37d5d7efb64e: Already exists 
ac563158d721: Already exists 
d2ba16033dad: Already exists 
0ceb82207cd7: Pull complete 
37f2405cae96: Pull complete 
e2482e017e53: Pull complete 
70deed891d42: Pull complete 
Digest: sha256:f2ad209efe9c67104167fc609cca6973c8422939491c9345270175a300419f94
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7

image-20220528002046535.

4、docker rmi 删除镜像

# 删除时,也只是删除不是共同拥有的下载层
[root@MyCould ~]# docker rmi c20987f18b13		

# 同时多个删除: $(param) 中间传递参数,占位
[root@MyCould ~]# docker rmi 容器1ID  容器2ID  容器3ID  容器4ID
[root@MyCould ~]# docker rmi -f $(docker images -aq)		
# 可选项
  -f, --force      # 强制删除镜像
  ...

容器命令

说明:我们只有有了镜像才能创建容器,linux, 下载centos作为学习使用。

$ docker pull centos

1、docker run -it 新建容器并启动

docker run [可选参数] IMAGE [命令]


# 可选参数(常用)
	--name 'Name'       # 容器名称, centos1  centos2  centos3
	-d 					# 后台方式运行
	-it					# -i:使用交互式方式运行,进入容器查看内容, -t:终端
	-p					# 指定容器的端口  -p 8080:8080 (主机映射端口)
	
    	-p  ip:主机端口:容器端口
    	-p	主机端口:容器端口  (常用)
    	-p  容器端口
    	容器端口
	-P					# 随机指定端口
	
	-e, --env list      # 设置环境变量
	--rm            	# 在容器退出时自动删除该容器                 

	...


# 启动并进入容器, /bin/bash or /bin/sh: linux控制台
[root@MyCould ~]# docker run -it centos /bin/bash				
[root@77e8d4350b3b /]# ls   	# 查看容器内部的centos,甚至有些命令都是不完善的!
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

2、exit 退出并停止容器,返回到主机

[root@77e8d4350b3b /]# exit
exit
[root@MyCould ~]# 

3、docker ps 列出所有正在运行的容器

docker ps 命令
						# 列出正在运行的容器
  -a, --all             # 列出正在运行的容器 + (携带历史运行过的容器)
  -f, --filter filter   # 过滤输出
  -n, --last int        # 列出最新 n个容器(默认all -1)
  -l, --latest          # 显示最新创建的容器(包括所有状态)(-l or -l=1)
  -q, --quiet           # 只显示容器ID
  -s, --size            # 显示文件的大小
	...


# 列出正在运行的容器
[root@MyCould ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES


# 列出所有的容器(包含有且结束的)
[root@MyCould ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND       CREATED          STATUS                     PORTS     NAMES
77e8d4350b3b   centos         "/bin/bash"   11 minutes ago   Exited (0) 6 minutes ago             hungry_keller
ff2073d9d148   feb5d9fea6a5   "/hello"      15 hours ago     Exited (0) 15 hours ago              elastic_darwin

4、Ctrl +P +Q 退出容器,并继续运行,返回linux界面

exit 			# 退出并结束容器
Ctrl + P + Q	# 退出容器,并继续运行,返回linux界面

5、docker rm 删除容器

docker rm [options] container

# 可选参数
  -f, --force     # 强制删除正在运行的容器(使用SIGKILL)
  ...

docker rm	容器ID				# 不能删除正在运行的容器,如果需要删除,需使用-f:强制删除
docker rm   容器1ID	容器2ID	容器3ID	容器4ID		
docker rm  -f $(docker ps -aq)	 # 删除所有的容器  
docker ps -aq | xargs docker rm  # 删除所有的容器

6、docker start 启动容器

docker start 容器id			# 启动容器
docker restart 容器id			# 重启容器

7、docker stop 停止容器

docker stop 容器id			# 停止容器
docker kill 容器id			# 强制停止当前运行的容器

其他命令

1、docker run -d 后台启动容器(返回容器id)

# docker run -d image /bin/bash

[root@MyCould ~]# docker run -d centos
a014e47a209a76dc9e83a6ee024fef6b81ae71596b18f6fb338807f507ae59e4

# 问题docker ps,发现centos停止了

# 常见的坑: docker容器使用后台运行,就必须要有要一个前台进程,docker发现没有应用,就会自动停止
# nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了(没有提供服务就会停止)

2、 docker logs 查看日志信息

# 显示日志
# docker  logs	options 容器id

# 可选参数
      --details        # 显示提供给日志的其他详细信息
  -f, --follow         # 跟踪日志输出
  -n, --tail number    # 从日志末尾显示的行数(默认为“全部”)
  -t, --timestamps     # 显示时间戳
  
  -c string 	   # shell 脚本命令   
      

# 自己编写一段shell脚本,每1秒打印一次
[root@MyCould ~]# docker run -d centos /bin/sh -c 'while true;do echo my is container;sleep 1;done'
a74e0e1188d3e650206a4e06bce2e92cd0f97f6ecc9fe0f88e0b0abd0f6f91a2
[root@MyCould ~]# docker ps 
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
a74e0e1188d3   centos    "/bin/sh -c 'while t…"   4 seconds ago   Up 3 seconds             stoic_babbag


# docker logs -tf -n 2 $(docker ps -q)
[root@MyCould ~]# docker logs -tf -n 2 a74e0e1188d3
2022-05-28T08:42:08.675132508Z my is container
2022-05-28T08:42:09.676719934Z my is container

3、docker top 查看容器内部的进程

# docker top 命令
# docker top 容器id [ps options]

[root@MyCould ~]# docker top $(docker ps -q)
UID         PID         PPID        C           STIME       TTY         TIME        CMD
root        5502        550193      0           16:52       ?           00:00:00    /bin/sh -c 'shell命令'
root       551158       550211      0           17:04       ?           00:00:00   /usr/bin/coreutils '命令'

4、docker inspect 查看镜像的元数据

# 元数据:(所有用于描述或解释此对象的数据信息)
	- 元数据(Metadata)中的『元(Meta)』可以理解为事物或对象,『数据(data)』当然就是指该对象的相关数据。
    - 你可能接触过照片的元数据,其中包括图像尺寸、拍摄时间或者是光圈和快门信息、GPS数据,对于视频文件也一样,比如画面的尺寸、视频和音频的编码、时长等等。
	- 实际上,你可以理解成,关于该文件或对象的一切信息都是元数据,无论是技术相关的信息还是内容信息,一切。
# 元数据:
	- 1、容器的完整ID(显示的容器id 是完整id的前12位) 
	- 2、创建容器时间,控制台路径,传递的参数args
	- 3、当前容器所处状态state,父进程id:pid
	- 4、源镜像相关信息
	- 5、主机的配置信息
	- 6、mount:挂载
	- 7、图形驱动程序Graph Driver
	- 8、全局配置Config
		- env
	- 9、网络配置NetworkSettings
# docker inspect 命令
docker inspect 容器id


# 测试
[root@MyCould ~]# docker inspect $(docker ps -q)
[
    {
        "Id": "a74e0e1188d3e650206a4e06bce2e92cd0f97f6ecc9fe0f88e0b0abd0f6f91a2",
        "Created": "2022-05-28T08:39:34.868924703Z",
        "Path": "/bin/sh",
        "Args": [
            "-c",
            "while true;do echo my is container;sleep 1;done"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 556627,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2022-05-28T13:26:24.294195733Z",
            "FinishedAt": "2022-05-28T09:15:23.124156154Z"
        },
        "Image": "sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6",
        "ResolvConfPath": "/var/lib/docker/containers/a74e0e1188d3e650206a4e06bce2e92cd0f97f6ecc9fe0f88e0b0abd0f6f91a2/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/a74e0e1188d3e650206a4e06bce2e92cd0f97f6ecc9fe0f88e0b0abd0f6f91a2/hostname",
        "HostsPath": "/var/lib/docker/containers/a74e0e1188d3e650206a4e06bce2e92cd0f97f6ecc9fe0f88e0b0abd0f6f91a2/hosts",
        "LogPath": "/var/lib/docker/containers/a74e0e1188d3e650206a4e06bce2e92cd0f97f6ecc9fe0f88e0b0abd0f6f91a2/a74e0e1188d3e650206a4e06bce2e92cd0f97f6ecc9fe0f88e0b0abd0f6f91a2-json.log",
        "Name": "/stoic_babbage",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "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",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "KernelMemory": 0,
            "KernelMemoryTCP": 0,
            "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/cf9d6d5529a604afd08a7869862b750aa2eda4f55dd9980bad4e6691c78471b2-init/diff:/var/lib/docker/overlay2/667ffe0ec8903fc362167d8cb627c23eacb8a4c77b4345b1104e393e86a565c9/diff",
                "MergedDir": "/var/lib/docker/overlay2/cf9d6d5529a604afd08a7869862b750aa2eda4f55dd9980bad4e6691c78471b2/merged",
                "UpperDir": "/var/lib/docker/overlay2/cf9d6d5529a604afd08a7869862b750aa2eda4f55dd9980bad4e6691c78471b2/diff",
                "WorkDir": "/var/lib/docker/overlay2/cf9d6d5529a604afd08a7869862b750aa2eda4f55dd9980bad4e6691c78471b2/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [],
        "Config": {
            "Hostname": "a74e0e1188d3",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "while true;do echo my is container;sleep 1;done"
            ],
            "Image": "centos",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "org.label-schema.build-date": "20210915",
                "org.label-schema.license": "GPLv2",
                "org.label-schema.name": "CentOS Base Image",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vendor": "CentOS"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "b8f348af003ffca99f8ede02ba779653790c3321a86ade816b3f36476cb73435",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/b8f348af003f",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "1fba806b51e11d09981ad8b3f57157ddef498b88e2aeaa3b13711ff86f20e644",
            "Gateway": "172.18.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.18.0.2",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:12:00:02",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "a4faaa65ca2ef188bf56feca2e2ee7e75069b011ae3b75527e2304cf3a99f066",
                    "EndpointID": "1fba806b51e11d09981ad8b3f57157ddef498b88e2aeaa3b13711ff86f20e644",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:12:00:02",
                    "DriverOpts": null
                }
            }
        }
    }
]
[root@MyCould ~]# 

5、docker exec 进入正在运行的容器

# 我们使用容器一般都是后台运行,需要进入容器,修改一些配置

# 命令
# 方式一:
	docker exec -it 容器id  baseShell


# 测试
[root@MyCould ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED       STATUS          PORTS     NAMES
a74e0e1188d3   centos    "/bin/sh -c 'while t…"   5 hours ago   Up 11 minutes             stoic_babbage
[root@MyCould ~]# docker exec -it a74e0e1188d3 /bin/bash
[root@a74e0e1188d3 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@a74e0e1188d3 /]# ps -ef
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 13:26 ?        00:00:00 /bin/sh -c while true;do echo my is container;sleep 1;done
root         731       0  1 13:38 pts/0    00:00:00 /bin/bash
root         760       1  0 13:38 ?        00:00:00 /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1
root         761     731  0 13:38 pts/0    00:00:00 ps -ef
[root@a74e0e1188d3 /]#


# 方式二: 
	docker attach 容器id baseShell
# 测试
[root@MyCould ~]# docker attach a74e0e1188d3
正在执行当前的代码...



# docker exec:				# 进入容器后会打开新的终端,可以在里面操作!(新的终端,那么退出也不会影响到原来的项目进程!)(常用)
# docker attach:			# 进入容器后打开的是项目正在执行的终端!不会启动新的进程!(退出是会停止当前项目执行!!!)


6、docker cp 拷贝容器内部数据=到=>主机上

# 命令
docker cp 容器id:容器源地址  主机目的地址


# 查看当前主机下文件
[root@MyCould home]# ll
total 0
-rw-r--r-- 1 root root 0 May 28 21:56 redskaber.py
# 进入docker容器内部
[root@MyCould home]# docker exec -it $(docker ps -q) /bin/bash
[root@632cc766f805 /]# cd /home/

# 在docker容器内部新建一个文件
[root@632cc766f805 home]# touch test.py
[root@632cc766f805 home]# ls
test.py
[root@632cc766f805 home]# exit
exit
[root@MyCould home]# docker  ps
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
632cc766f805   centos    "/bin/bash"   4 minutes ago   Up 4 minutes             eager_zhukovsky


# 将容器内部的文件拷贝到主机上 
[root@MyCould home]# docker cp $(docker ps -q):/home/test.py /home
[root@MyCould home]# ll
total 0
-rw-r--r-- 1 root root 0 May 28 21:56 redskaber.py
-rw-r--r-- 1 root root 0 May 28 21:58 test.py
[root@MyCould home]#

7、docker stats 查看容器cpu、所占空间等信息

# docker status 命令

docker stats 
  -a, --all             # 查看所有的容器(默认查看运行的)
      --no-stream       # 禁用流统计信息并仅获取第一个结果
  容器id				   # 查看对应id 的信息

8、docker commit 将当前操作与容器保存为新镜像

# docker commit 命令
$ docker commit -a "作者" -m "说明" 容器id 新镜像名:tag

# 可选参数:
  -a, --author string    # 作者 (例如, "redskaber <redskaber@a-team.com>") *
  -c, --change list      # 将Dockerfile指令应用于创建的映像
  -m, --message string   # 提交信息 *
  -p, --pause            # 提交期间暂停容器(默认为true)


[root@MyCould ~]# docker run -itd --name tomcat01 -p 8080:8080 tomcat
30f8320f67edbfeaab6cc4f36bc36fc61b1c33dbe6a87347c6089a884e95d4b6
[root@MyCould ~]# docker exec -it tomcat01 /bin/bash
root@30f8320f67ed:/usr/local/tomcat# cp -r webapps.dist/* webapps/		# r是层级
root@30f8320f67ed:/usr/local/tomcat# exit
exit
[root@MyCould ~]# docker commit -a "redskaber" -m "add webapps app" 30f8320f67ed  tomcat02:1.0
sha256:f3671280e8295aa3e3b0ae350ceb3fb93190a5f7e7f37e036d788a2e5f1686bb
[root@MyCould ~]# docker images
REPOSITORY            TAG       IMAGE ID       CREATED          SIZE
tomcat02              1.0       f3671280e829   13 seconds ago   684MB		#(new images)
tomcat                latest    fb5657adc892   5 months ago     680MB

9、docker tag 新建一个修改tag的镜像

[root@MyCould ~]# docker tag redskaber/tomcat:1.0  registry.cn-shenzhen.aliyuncs.com/department/dockerbase:1.0

image-20220603200918735

10、 docker push 发布自己的镜像

[root@MyCould ~]# docker push registry.cn-shenzhen.aliyuncs.com/department/dockerbase:1.0 

image-20220603201037091

11、 docker save 将镜像打包成tar包

Usage:  docker save [OPTIONS] IMAGE [IMAGE...]
# 将一个或多个镜像保存到tar存档(默认情况下流式传输到标准输出)

# 可选参数:
  -o, --output string   # 写入文件,而不是标准输出
  
[root@MyCould tomcat]# docker save redskaber/tomcat:1.0  -o /home/builds/tomcat-redskaber.1.0.tar

image-20220603202300906

12、docker load 将tar包解包为镜像

Usage:  docker load [OPTIONS]
# 将tar 或 STDIN 包解压为镜像

# 可选参数:
  -i, --input string   	# tar包的导入地址
  -q, --quiet          	# 抑制负载输出

image-20220603203030351

小结

image-20220528220844568.

attach 			Attach to a running container										# 当前shell 下attach连接指定运行镜像
build			Build an image from a Dockerfile									# 通过Dockerfile定制镜像
commit 			create a new image from a container changes							# 提交当前容器为新的镜像
cp				copy files/folders from the containers filesystem to the host path	# 从容器中拷贝指定文件或者目录到宿主机中
create			Create a new container												# 创建一个新的容器,同run,但不启动容器
diff			Inspect changes on a container's filesystem							# 查看docker容器变化
events			Get real time events from the server								# 从docker服务获取容器实时事件
exec 			Run a command in an existing container								# 在已存在的容器上运行命令
export 			Stream the contents of a container as a tar archive					# 导出容器的内容流作为一个 tar 归档文件[对应import ]
history			show the history of an image										# 展示一个镜像形成历史
images 			List images															# 列出系统当前镜像
import 			create a new filesystem image from the contents of a tarbal1 		# 从tar包中的内容创建一个新的文件系统映像[对应export]
info			Display system-wide information										# 显示系统相关信息
inspect 		Return low-level information on a container							# 查看容器详细信息
kill			Ki1l a running container											# kill指定docker容器
1oad			Load an image from a tar archive									# 从一个 tar包中加载一个镜像[对应save]
login 			Register or Login to the docker registry server 					# 注册或者登陆一个docker 源服务器
logout			Log out from a Docker registry server								# 从当前Docker registry 退出
logs			Fetch the logs of a container										# 输出当前容器日志信息
port 			Look up the public-facing port which is NAT-ed to PRIVATE_PORT 		# 查看映射端口对应的容器内部源端口
pause			Pause a11 processes within a container								# 暂停容器
ps				List containers														# 列出容器列表
pu11			Pull an image or a repository from the docker registry server		# 从docker镜像源服务器拉取指定镜像或者库镜像
push			Push an image or a repository to the docker registry server 		# 推送指定镜像或者库镜像至docker源服务器
restart			Restart a running container											# 重启运行的容器
rm				Remove one or more  containers										# 移除一个或者多个容器
rmi				Remove one or more images											# 移除一个或多个镜像无容器使用该镜像才可删除,否则需删除相关容器才可继续或-f强制删除 
run				Run a command in a new container									# 创建一个新的容器并运行一个命令
save			save an image to a tar archive										# 保存一个镜像为一个 tar包[对应 load]
search			search for an image on the Docker Hub								# 在docker hub中搜索镜像
start			start a stopped containers											# 启动容器
stop			stop a running containers											# 停止容器
stats 			Display a live stream of container(s) resource usage statistics		# 显示容器的状态信息(cpu,内存)
tag				Tag an image into a repository										# 给源中镜像打标签
top				Lookup the runnsing processes of a container						# 查看容器中运行的进程信息
unpause			Unpause a paused container											# 取消暂停容器
version			show the docker version information									# 查看docker版本号
wait			Block until a container stops,then print its exit code			    # 截取容器停止时的退出状态值

docker的命令是十分多的,上面我们学习的那些都是最常用的容器和镜像的命令,之后我们还会学习很多命令!

接下来就是一大堆的练习!

练习一:docker安装nginx: 暴露端口

练习二:docker安装Tomcat:进入测试

练习三:docker布署es+kibana:当前容器存活状态及修改

可视化面板

  • portainer(先用,但不是最佳)
  • Rancher (持续集成与持续布署【CI/CD】)
posted @ 2022-06-10 19:12  Redskaber  阅读(85)  评论(0)    收藏  举报