Docker常用命令

帮助命令

docker version

docker info

docker 命令 --help

镜像命令

docker images

docker images

查看本地主机上所有的docker镜像,标签等信息

[root@VM-8-11-centos ~]# docker images 

REPOSITORY     TAG                   IMAGE ID       CREATED        SIZE

rabbitmq       3-management-alpine   608bbb3dbd78   8 weeks ago    145MB

tophant/arl    latest                8b49f87ccf54   3 months ago   967MB

vulhub/jboss   as-4.0.5              34e2e1caf017   6 months ago   395MB

mongo          3.6-stretch           27d820d7098b   2 years ago    373MB

REPOSITORY   # 镜像的仓库(名字)

TAG          # 镜像的版本标签

IMAGE ID     # 镜像的ID

CREATED      # 镜像的创建时间

SIZE         # 镜像的大小

docker search

docker search

在docker hub上搜索镜像

[root@VM-8-11-centos ~]# docker search tomcat

NAME                          DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED

tomcat                        Apache Tomcat is an open source implementati…   3063      [OK]       

tomee                         Apache TomEE is an all-Apache Java EE certif…   90        [OK]       

dordoka/tomcat                Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base…   57                   [OK]

NAME               # 镜像的名字

DESCRIPTION        # 镜像描述

STARTS             # 收藏数量

OFFICIAL           # 是否为官方发布

docker pull

docker pull

从仓库拉取镜像

[root@VM-8-11-centos ~]# docker pull mysql

Using default tag: latest                 # 默认使用最新版镜像

latest: Pulling from library/mysql

b4d181a07f80: Pull complete               # 分层下载 docker image核心 联合文件系统

a462b60610f5: Pull complete 

578fafb77ab8: Pull complete 

524046006037: Pull complete 

d0cbe54c8855: Pull complete 

aa18e05cc46d: Pull complete 

32ca814c833f: Pull complete 

9ecc8abdb7f5: Pull complete 

ad042b682e0f: Pull complete 

71d327c6bb78: Pull complete 

165d1d10a3fa: Pull complete 

2f40c47d0626: Pull complete 

Digest: sha256:52b8406e4c32b8cf0557f1b74517e14c5393aff5cf0384eff62d9e81f4985d4b # 签名

Status: Downloaded newer image for mysql:latest

docker.io/library/mysql:latest  #真实的下载地址

# 两条命令等价

docker pull mysql

docker pull docker.io/library/mysql:latest

# 下载指定版本

[root@VM-8-11-centos ~]# docker pull mysql:5.7

5.7: Pulling from library/mysql

b4d181a07f80: Already exists 

a462b60610f5: Already exists 

docker rmi

docker rmi

删除镜像

[root@VM-8-11-centos ~]# docker rmi mysql:latest # 删除mysql镜像

Untagged: mysql:latest

Untagged: mysql@sha256:52b8406e4c32b8cf0557f1b74517e14c5393aff5cf0384eff62d9e81f4985d4b

Deleted: sha256:5c62e459e087e3bd3d963092b58e50ae2af881076b43c29e38e2b5db253e0287

Deleted: sha256:b92a81bddd621ceee73e48583ed5c4f0d34392a5c60adf37c0d7acc98177e414

Deleted: sha256:265829a9fa8318ae1224f46ab7bc0a10d12ebb90d5f65d71701567f014685a9e

Deleted: sha256:2b9144b43d615572cb4a8fb486dfad0f78d1748241e49adab91f6072183644e9

Deleted: sha256:944ffc10a452573e587652116c3217cf571a32c45a031b79fed518524c21fd4f

Deleted: sha256:b9108f19e3abf550470778a9d91959ce812731d3268d7224e328b0f7d8a73d26

Deleted: sha256:9aecb80117a5517daf84c1743af298351a08e48fa04b8e99dcb63c817326a748

Deleted: sha256:d8773288899b1230986eba7486009df11d5dd6c628b1d4fd0443e873c6b00f70

Deleted: sha256:45a0a6bb39a4d7b37a6c598ae6af47f8a36ef63eaa9ef92d565137156aa36f54

Deleted: sha256:341f6b75346e72e9fa503aeb5362d1fe4f00449e02d3320e5c68f3052b7c2c13

Deleted: sha256:023f47f19f876ffa0225502a85b30954a44e54dc8223329fec32b336315c75c3

Deleted: sha256:058c443dffe18a5d2aad04cd5451a8540c7272ce9f8515d27e815303b1c25b59

Deleted: sha256:764055ebc9a7a290b64d17cf9ea550f1099c202d83795aa967428ebdf335c9f7

docker rmi -f $(docker images -aq) # 删除所有镜像

容器命令

说明:有了镜像才可以创建容器

下载镜像

[root@VM-8-11-centos ~]# docker pull centos

Using default tag: latest

latest: Pulling from library/centos

7a0437f04f83: Pull complete 

Digest: sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1

Status: Downloaded newer image for centos:latest

docker.io/library/centos:latest

新建并启动容器

docker run [参数] images

# 参数说明

--name="名字"   # 容器的名字

-d             # 后台运行容器

-it            # 使用交互方式进入容器

-p             # 指定容器端口,或配置与宿主机的端口映射 -p 主机端口:容器端口

-P             # 随机指定端口 
[root@VM-8-11-centos ~]# docker run -it centos /bin/bash   # 启动并进入容器

[root@11baab0b33e4 /]# 

查看运行的容器

docker ps

-a 	# 显示当前正在运行的容器,并带出历史运行过的容器

-n= # 显示最近创建的几个容器

-q  # 只显示容器id

# 查看运行中的容器

[root@VM-8-11-centos ~]# docker ps

CONTAINER ID   IMAGE                          COMMAND                  CREATED         STATUS         PORTS                                                                  NAMES

11baab0b33e4   centos                         "/bin/bash"              6 minutes ago   Up 6 minutes                                                                          interesting_nightingale

d9fd1362c20c   tophant/arl:latest             "sh -c 'gen_crt.sh; …"   7 weeks ago     Up 13 days     0.0.0.0:5003->443/tcp, :::5003->443/tcp                                arl_web

3bf2eea91e35   tophant/arl:latest             "sh -c 'celery -A ap…"   7 weeks ago     Up 43 hours                                                                           arl_worker

003da5e33c19   tophant/arl:latest             "sh -c 'python3.6 -m…"   7 weeks ago     Up 13 days                                                                            arl_scheduler

9c913b18615c   rabbitmq:3-management-alpine   "docker-entrypoint.s…"   7 weeks ago     Up 13 days     4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 15691-15692/tcp, 25672/tcp   arl_rabbitmq

2643dc6a9fe4   mongo:3.6-stretch              "docker-entrypoint.s…"   7 weeks ago     Up 13 days     27017/tcp                                                              arl_mongodb

# 查看历史运行过的所有容器

docker ps -a

# 显示最近创建的容器

[root@VM-8-11-centos ~]# docker ps -n=1

CONTAINER ID   IMAGE     COMMAND       CREATED        STATUS                      PORTS     NAMES

11baab0b33e4   centos    "/bin/bash"   23 hours ago   Exited (0) 13 minutes ago             interesting_nightingale

# 只显示容器id

[root@VM-8-11-centos ~]# docker ps -q

d9fd1362c20c

3bf2eea91e35

003da5e33c19

9c913b18615c

2643dc6a9fe4

退出容器

exit      # 直接退出并停止容器,在容器内输入

Ctrl+P+Q  # 不停止容器退出

删除容器

# 删除容器

docker rm 容器name # 不能删除运行中的容器,如需删除需加-f参数,或先stop

# 删除所有容器

docker rm -f $(docker ps -aq)

docker ps -aq | xargs docker rm

启动和停止容器

# 启动一个已经停止的容器 

docker start 容器id

# 重启一个容器

docker restart 容器id

# 停止当前正在运行的容器

docker stop 容器id

# 强制停止容器

docker kill 容器id

> 常用的其他命令

后台启动容器

docker run -d 镜像名

[root@VM-8-11-centos ~]# docker run -d centos

ee1134ef55e2b02bcc6697f3a4760d0727d67ad0f8587df904442ce330295f8e

# 容器启动后如果发现没有服务就会立刻停止

查看日志

docker logs -tf --tail 2 arl_web

image-20210708220130943.png

查看容器中的进程信息

[root@VM-8-11-centos ~]# docker top arl_web 

UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD

root                29730               29710               0                   Jun24               ?                   00:00:00            sh -c gen_crt.sh; nginx; gunicorn -b 0.0.0.0:5003 app.main:arl_app -w 3 --access-logfile arl_web.log

root                29907               29730               0                   Jun24               ?                   00:00:00            nginx: master process nginx

root                29908               29730               0                   Jun24               ?                   00:02:15            /usr/bin/python3 /usr/local/bin/gunicorn -b 0.0.0.0:5003 app.main:arl_app -w 3 --access-logfile arl_web.log

polkitd             29909               29907               0                   Jun24               ?                   00:00:01            nginx: worker process

root                29938               29908               0                   Jun24               ?                   00:04:24            /usr/bin/python3 /usr/local/bin/gunicorn -b 0.0.0.0:5003 app.main:arl_app -w 3 --access-logfile arl_web.log

root                29939               29908               0                   Jun24               ?                   00:04:29            /usr/bin/python3 /usr/local/bin/gunicorn -b 0.0.0.0:5003 app.main:arl_app -w 3 --access-logfile arl_web.log

root                29940               29908               0                   Jun24               ?                   00:04:27            /usr/bin/python3 /usr/local/bin/gunicorn -b 0.0.0.0:5003 app.main:arl_app -w 3 --access-logfile arl_web.log

查看镜像源数据

docker inspect 容器id/容器名

[root@VM-8-11-centos ~]# docker inspect boring_ramanujan

[

{

"Id": "93177ee7db4597dbe042fbb1bb3df9cb353e2bd83b9a61c64643c9da7da460a5",

"Created": "2021-07-08T14:10:24.772756555Z",

"Path": "/bin/bash",

"Args": [],

"State": {

"Status": "running",

"Running": true,

"Paused": false,

"Restarting": false,

"OOMKilled": false,

"Dead": false,

"Pid": 3427,

"ExitCode": 0,

"Error": "",

"StartedAt": "2021-07-08T14:10:25.217331981Z",

"FinishedAt": "0001-01-01T00:00:00Z"

},

"Image": "sha256:300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55",

"ResolvConfPath": "/var/lib/docker/containers/93177ee7db4597dbe042fbb1bb3df9cb353e2bd83b9a61c64643c9da7da460a5/resolv.conf",

"HostnamePath": "/var/lib/docker/containers/93177ee7db4597dbe042fbb1bb3df9cb353e2bd83b9a61c64643c9da7da460a5/hostname",

"HostsPath": "/var/lib/docker/containers/93177ee7db4597dbe042fbb1bb3df9cb353e2bd83b9a61c64643c9da7da460a5/hosts",

"LogPath": "/var/lib/docker/containers/93177ee7db4597dbe042fbb1bb3df9cb353e2bd83b9a61c64643c9da7da460a5/93177ee7db4597dbe042fbb1bb3df9cb353e2bd83b9a61c64643c9da7da460a5-json.log",

"Name": "/boring_ramanujan",

"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/c0b1ae79dc1c921c697c6ad29f24fb33f5e919cba22589def07c76e702fe65f5-init/diff:/var/lib/docker/overlay2/d2f5b75f80e09fda5767ac5e8e86660d21acd8932e362cd1f80e924289ced1c3/diff",

"MergedDir": "/var/lib/docker/overlay2/c0b1ae79dc1c921c697c6ad29f24fb33f5e919cba22589def07c76e702fe65f5/merged",

"UpperDir": "/var/lib/docker/overlay2/c0b1ae79dc1c921c697c6ad29f24fb33f5e919cba22589def07c76e702fe65f5/diff",

"WorkDir": "/var/lib/docker/overlay2/c0b1ae79dc1c921c697c6ad29f24fb33f5e919cba22589def07c76e702fe65f5/work"

},

"Name": "overlay2"

},

"Mounts": [],

"Config": {

"Hostname": "93177ee7db45",

"Domainname": "",

"User": "",

"AttachStdin": true,

"AttachStdout": true,

"AttachStderr": true,

"Tty": true,

"OpenStdin": true,

"StdinOnce": true,

"Env": [

"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

],

"Cmd": [

"/bin/bash"

],

"Image": "centos",

"Volumes": null,

"WorkingDir": "",

"Entrypoint": null,

"OnBuild": null,

"Labels": {

"org.label-schema.build-date": "20201204",

"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": "aef17ed3a6aa072361115a60bbc047bdd6ac1aa3ab3cbe6d2ddaecd619eab685",

"HairpinMode": false,

"LinkLocalIPv6Address": "",

"LinkLocalIPv6PrefixLen": 0,

"Ports": {},

"SandboxKey": "/var/run/docker/netns/aef17ed3a6aa",

"SecondaryIPAddresses": null,

"SecondaryIPv6Addresses": null,

"EndpointID": "1d87af2658d0b2234c75ddf17d72c5dab0320aad30a8765d43bdda12ccaee66d",

"Gateway": "172.17.0.1",

"GlobalIPv6Address": "",

"GlobalIPv6PrefixLen": 0,

"IPAddress": "172.17.0.2",

"IPPrefixLen": 16,

"IPv6Gateway": "",

"MacAddress": "02:42:ac:11:00:02",

"Networks": {

"bridge": {

"IPAMConfig": null,

"Links": null,

"Aliases": null,

"NetworkID": "cc70f5b00ea8535b509e3c23f89681bdcfa9d80bfa03c8cc79ee62998db08fef",

"EndpointID": "1d87af2658d0b2234c75ddf17d72c5dab0320aad30a8765d43bdda12ccaee66d",

"Gateway": "172.17.0.1",

"IPAddress": "172.17.0.2",

"IPPrefixLen": 16,

"IPv6Gateway": "",

"GlobalIPv6Address": "",

"GlobalIPv6PrefixLen": 0,

"MacAddress": "02:42:ac:11:00:02",

"DriverOpts": null

}

}

}

}

]

进入当前正在运行的容器

# 方式一:

[root@VM-8-11-centos ~]# docker exec -it boring_ramanujan /bin/bash

[root@93177ee7db45 /]#

# 方式二:

docker attach 容器id/名 # 进入正在运行的命令行

[root@VM-8-11-centos ~]# docker attach boring_ramanujan

[root@93177ee7db45 /]#

从容器内拷贝文件到宿主机

docker cp 容器id:容器文件路径 宿主机路径

[root@VM-8-11-centos ~]# docker cp boring_ramanujan:/home/test.txt /

[root@VM-8-11-centos ~]# ll /

total 80

lrwxrwxrwx. 1 root root 7 Mar 7 2019 bin -> usr/bin

dr-xr-xr-x. 5 root root 4096 May 12 11:31 boot

drwxr-xr-x 2 root root 4096 Nov 5 2019 data

drwxr-xr-x 20 root root 3040 May 12 11:31 dev

drwxr-xr-x. 98 root root 12288 May 12 11:43 etc

drwxr-xr-x. 3 root root 4096 May 12 11:30 home

lrwxrwxrwx. 1 root root 7 Mar 7 2019 lib -> usr/lib

lrwxrwxrwx. 1 root root 9 Mar 7 2019 lib64 -> usr/lib64

drwx------. 2 root root 16384 Mar 7 2019 lost+found

drwxr-xr-x. 2 root root 4096 Apr 11 2018 media

drwxr-xr-x. 2 root root 4096 Apr 11 2018 mnt

drwxr-xr-x. 6 root root 4096 May 12 11:43 opt

dr-xr-xr-x 129 root root 0 May 12 11:31 proc

dr-xr-xr-x 6 root root 4096 May 12 11:30 qcloud_init

dr-xr-x---. 9 root root 4096 May 17 17:37 root

drwxr-xr-x 27 root root 920 May 17 16:26 run

lrwxrwxrwx. 1 root root 8 Mar 7 2019 sbin -> usr/sbin

drwxr-xr-x. 2 root root 4096 Apr 11 2018 srv

dr-xr-xr-x 13 root root 0 May 12 11:31 sys

-rw-r--r-- 1 root root 7 Jul 13 13:07 test.txt

drwxrwxrwt. 8 root root 4096 Jul 13 13:06 tmp

drwxr-xr-x. 14 root root 4096 Jan 8 2021 usr

drwxr-xr-x. 20 root root 4096 Jan 8 2021 var

练习

部署nginx

  • 拉取nginx镜像

[root@VM-8-11-centos ~]# docker pull nginx

Using default tag: latest

latest: Pulling from library/nginx

b4d181a07f80: Pull complete

66b1c490df3f: Pull complete

d0f91ae9b44c: Pull complete

baf987068537: Pull complete

6bbc76cbebeb: Pull complete

32b766478bc2: Pull complete

Digest: sha256:353c20f74d9b6aee359f30e8e4f69c3d7eaea2f610681c4a95849a2fd7c497f9

Status: Downloaded newer image for nginx:latest

docker.io/library/nginx:latest
  • 启动nginx容器

[root@VM-8-11-centos ~]# docker run -itd --name nginx01 -p 80:80 nginx /bin/bash

38cf29c1066b9ecdca49ef6f2ff58689dfe317b27063c03dbdc1dc6e2ff23bb2

[root@VM-8-11-centos ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

38cf29c1066b nginx "/docker-entrypoint.…" 34 seconds ago Up 33 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp nginx01
  • 浏览器访问

image-20210722222321611.png

部署tomcat

  • 拉取镜像

[root@192 ~]# docker pull tomcat

Using default tag: latest

latest: Pulling from library/tomcat

627b765e08d1: Pull complete

c040670e5e55: Pull complete

073a180f4992: Pull complete

bf76209566d0: Pull complete

f10db7ba7580: Pull complete

5b2f970878fa: Pull complete

ed434bfebf18: Pull complete

f6c437110aa9: Pull complete

a772951f83db: Pull complete

752225c3768e: Pull complete

Digest: sha256:6e40250d8fac4eca05c2067cb81f79427e4ddbaf4e78d5ecd21c35e8c5f2bfcf

Status: Downloaded newer image for tomcat:latest

docker.io/library/tomcat:latest

- 启动容器

[root@laptop-f17gv7t2 ~]# docker run -itd -p 8080:8080 --name tomcat01 tomcat

WARNING: IPv4 forwarding is disabled. Networking will not work.

48f5f6f22a4c812723da38fcb2191ab7efb87acc06eb40f12d0e95c5443610db
  • 查看运行中的容器

[root@laptop-f17gv7t2 ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

48f5f6f22a4c tomcat "catalina.sh run" 38 seconds ago Up 37 seconds 0.0.0.0:8080->8080/tcp tomcat01
  • 测试访问(404启动正常,但不是完整版)

image-20210801194816765.png

# 由于webapps目录下没有应用,所以访问会产生404

[root@laptop-f17gv7t2 ~]# docker exec -it tomcat01 /bin/bash

root@48f5f6f22a4c:/usr/local/tomcat# ls

BUILDING.txt CONTRIBUTING.md LICENSE NOTICE README.md RELEASE-NOTES RUNNING.txt bin conf lib logs native-jni-lib temp webapps webapps.dist work

root@48f5f6f22a4c:/usr/local/tomcat# cd webapps

root@48f5f6f22a4c:/usr/local/tomcat/webapps# ls

root@48f5f6f22a4c:/usr/local/tomcat/webapps#

# 将webapps.dist中的内容复制到webapps下面即可显示默认页面

root@48f5f6f22a4c:/usr/local/tomcat/webapps# ls

ROOT docs examples host-manager manager webapps.dist

image-20210801195804155.png

部署ES+Kibana

# 部署ES

--net somenetwork 网络配置(暂不使用)

-e 集群模式:单节点

tag 需要替换为目前docker hub提供的ES版本

# 下载并启动容器

docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag

# 访问ElasticSearch

[root@localhost network-scripts]# curl localhost:9200

{

"name" : "f8a233159c52",

"cluster_name" : "docker-cluster",

"cluster_uuid" : "Vnr7kAV5QYeBp7GG6LOStA",

"version" : {

"number" : "7.14.2",

"build_flavor" : "default",

"build_type" : "docker",

"build_hash" : "6bc13727ce758c0e943c3c21653b3da82f627f75",

"build_date" : "2021-09-15T10:18:09.722761972Z",

"build_snapshot" : false,

"lucene_version" : "8.9.0",

"minimum_wire_compatibility_version" : "6.8.0",

"minimum_index_compatibility_version" : "6.0.0-beta1"

},

"tagline" : "You Know, for Search"

}

# 监控容器资源使用情况

docker stats

# [CONTAINER]:以短格式显示容器的 ID。

# [CPU %]:CPU 的使用情况。

# [MEM USAGE / LIMIT]:当前使用的内存和最大可以使用的内存。

# [MEM %]:以百分比的形式显示内存使用情况。

# [NET I/O]:网络 I/O 数据。

# [BLOCK I/O]:磁盘 I/O 数据。

# [PIDS]:PID 号。

CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS

f8a233159c52 elasticsearch 0.35% 2.253GiB / 3.966GiB 56.81% 43.6MB / 1.37MB 16.5MB / 174MB 64

# 由于ElasticSerarch默认启动命令占用内存过高,下面使用参数-e来限制内存占用

docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.14.2

[root@localhost network-scripts]# docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.14.2

88cb04329e5726e70c57e6b68de1cb226a1b8146cb1ba7b84773f6b6c2b4ec87

[root@localhost network-scripts]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

88cb04329e57 elasticsearch:7.14.2 "/bin/tini -- /usr/l…" 6 seconds ago Up 5 seconds 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp elasticsearch02

# 检查使用参数限制内存使用后的容器内存占用情况

CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS

9d800a61e0e2 elasticsearch02 296.03% 292.8MiB / 3.966GiB 7.21% 656B / 0B 32.8kB / 0B 32

# 部署Kibana

docker run -d --name kibana -p 5601:5601 kibana:7.14.2

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

09dc79e26787 kibana:7.14.2 "/bin/tini -- /usr/l…" About a minute ago Up About a minute 0.0.0.0:5601->5601/tcp, :::5601->5601/tcp kibana

可视化

部署可视化平台portainer

# 部署portainer

docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

image-20211020233950531.png

部署成功后的面板

image-20211020234700944.png