檢視Docker容器的資訊
對於執行在Docker環境的容器,有時我們想查詢它們的一些基本資訊,例如環境變數、hostname、ip地址等,接下來我們以一個tomcat容器為例,看看有哪些方式來取得這些資訊;
建立tomcat容器
在docker環境下執行如下命令,即可建立一個名為tomcat001的tomcat容器:
docker run --name tomcat001 -idt tomcat
執行docker ps檢查一下,容器建立成功:
root@maven:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
98d119ed4c73 tomcat "catalina.sh run" 10 minutes ago Up 10 minutes 8080/tcp tomcat001
獲取資訊常用的方式有如下三種:
1. 進入容器內部獲取資訊;
2. 執行docker exec命令;
3. 執行docker inspect -f命令(推薦方式);
第一種:進入容器內部獲取資訊
執行以下命令可進入容器內部:
docker exec -it tomcat001 /bin/bash
此時已進入容器內部,所以分別執行hostname、ip addr、env
root@98d119ed4c73:/usr/local/tomcat# hostname
98d119ed4c73
root@98d119ed4c73:/usr/local/tomcat# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1 /128 scope host
valid_lft forever preferred_lft forever
17: [email protected]: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:00:05 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.5/16 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe11:5/64 scope link
valid_lft forever preferred_lft forever
root@98d119ed4c73:/usr/local/tomcat# env
LD_LIBRARY_PATH=/usr/local/tomcat/native-jni-lib
CATALINA_HOME=/usr/local/tomcat
LANG=C.UTF-8
HOSTNAME=98d119ed4c73
OPENSSL_VERSION=1.1.0f-3+deb9u1
TOMCAT_VERSION=8.5.24
GPG_KEYS=05AB33110949707C93A279E3D3EFE6B686867BA6 07E48665A34DCAFAE522E5E6266191C37C037D42 47309207D818FFD8DCD3F83F1931D684307A10A5 541FBE7D8F78B25E055DDEE13C370389288584E7 61B832AC2F1C5A90F0F9B00A1C506407564C17A3 713DA88BE50911535FE716F5208B0AB1D63011C7 79F7026C690BAA50B92CD8B66A3AD3F4F22C4FED 9BA44C2621385CB966EBA586F72C284D731FABEE A27677289986DB50844682F8ACB77FC2E86E29AC A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243 F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBE F7DA48BB64BCB84ECBA7EE6935CD23C10D498E23
JAVA_HOME=/docker-java-home/jre
TOMCAT_NATIVE_LIBDIR=/usr/local/tomcat/native-jni-lib
JAVA_VERSION=8u151
PWD=/usr/local/tomcat
HOME=/root
CA_CERTIFICATES_JAVA_VERSION=20170531+nmu1
TOMCAT_MAJOR=8
JAVA_DEBIAN_VERSION=8u151-b12-1~deb9u1
TOMCAT_SHA1=9e26ba61c5665aafc849073edeb769be555283cd
TERM=xterm
SHLVL=1
TOMCAT_ASC_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename=tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc https://www.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc
PATH=/usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
TOMCAT_TGZ_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename=tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz https://www.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz
_=/usr/bin/env
第二種:執行docker exec命令
不用進入容器,直接在docker環境執行docker exec 容器名 容器內命令的方式也可以獲取相關資訊,舉例如下:
1. 獲取容器的hostname:docker exec tomcat001 hostname
2. 獲取容器ip地址:docker exec tomcat001 ip addr
3. 獲取容器環境變數:docker exec tomcat001 env
執行結果如下所示:
[email protected]:~# docker exec tomcat001 hostname
98d119ed4c73
[email protected]:~# docker exec tomcat001 ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
17: [email protected]: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:00:05 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.5/16 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe11:5/64 scope link
valid_lft forever preferred_lft forever
[email protected]:~# docker exec tomcat001 env
PATH=/usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=98d119ed4c73
LANG=C.UTF-8
JAVA_HOME=/docker-java-home/jre
JAVA_VERSION=8u151
JAVA_DEBIAN_VERSION=8u151-b12-1~deb9u1
CA_CERTIFICATES_JAVA_VERSION=20170531+nmu1
CATALINA_HOME=/usr/local/tomcat
TOMCAT_NATIVE_LIBDIR=/usr/local/tomcat/native-jni-lib
LD_LIBRARY_PATH=/usr/local/tomcat/native-jni-lib
OPENSSL_VERSION=1.1.0f-3+deb9u1
GPG_KEYS=05AB33110949707C93A279E3D3EFE6B686867BA6 07E48665A34DCAFAE522E5E6266191C37C037D42 47309207D818FFD8DCD3F83F1931D684307A10A5 541FBE7D8F78B25E055DDEE13C370389288584E7 61B832AC2F1C5A90F0F9B00A1C506407564C17A3 713DA88BE50911535FE716F5208B0AB1D63011C7 79F7026C690BAA50B92CD8B66A3AD3F4F22C4FED 9BA44C2621385CB966EBA586F72C284D731FABEE A27677289986DB50844682F8ACB77FC2E86E29AC A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243 F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBE F7DA48BB64BCB84ECBA7EE6935CD23C10D498E23
TOMCAT_MAJOR=8
TOMCAT_VERSION=8.5.24
TOMCAT_SHA1=9e26ba61c5665aafc849073edeb769be555283cd
TOMCAT_TGZ_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename=tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz https://www.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz
TOMCAT_ASC_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename=tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc https://www.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc
HOME=/root
第三種:使用docker inspect命令
推薦使用docker inspect來獲取資訊,這個命令會返回一個json字串,裡面以key-value的格式準備了該容器相關的資訊,內容十分豐富,可以一次性取得全部內容,也可以返回指定key對應的資訊;
我們先來看看所有內容,執行命令docker inspect tomcat001,可以看到如下資訊:
root@maven:~# docker inspect tomcat001
[
{
"Id": "98d119ed4c73c750e53353e77f7c6942803809a9d5dedc28d8b0f41ce58b8b17",
"Created": "2018-05-06T07:39:45.464492435Z",
"Path": "catalina.sh",
"Args": [
"run"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 22468,
"ExitCode": 0,
"Error": "",
"StartedAt": "2018-05-06T07:39:46.143092505Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:3dcfe809147daf54fbdbe1f6886b4c49df63f28e2b3c8ac119fef6a7f7490d3c",
"ResolvConfPath": "/var/lib/docker/containers/98d119ed4c73c750e53353e77f7c6942803809a9d5dedc28d8b0f41ce58b8b17/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/98d119ed4c73c750e53353e77f7c6942803809a9d5dedc28d8b0f41ce58b8b17/hostname",
"HostsPath": "/var/lib/docker/containers/98d119ed4c73c750e53353e77f7c6942803809a9d5dedc28d8b0f41ce58b8b17/hosts",
"LogPath": "/var/lib/docker/containers/98d119ed4c73c750e53353e77f7c6942803809a9d5dedc28d8b0f41ce58b8b17/98d119ed4c73c750e53353e77f7c6942803809a9d5dedc28d8b0f41ce58b8b17-json.log",
"Name": "/tomcat001",
"RestartCount": 0,
"Driver": "aufs",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "",
"ExecIDs": [
"cffec99f38514024f6a6e31e0e160d37d295041e4813a2245466be2dbc9c4037"
],
"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,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "",
"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": null,
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DiskQuota": 0,
"KernelMemory": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": -1,
"OomKillDisable": false,
"PidsLimit": 0,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0
},
"GraphDriver": {
"Name": "aufs",
"Data": null
},
"Mounts": [],
"Config": {
"Hostname": "98d119ed4c73",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"8080/tcp": {}
},
"Tty": true,
"OpenStdin": true,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LANG=C.UTF-8",
"JAVA_HOME=/docker-java-home/jre",
"JAVA_VERSION=8u151",
"JAVA_DEBIAN_VERSION=8u151-b12-1~deb9u1",
"CA_CERTIFICATES_JAVA_VERSION=20170531+nmu1",
"CATALINA_HOME=/usr/local/tomcat",
"TOMCAT_NATIVE_LIBDIR=/usr/local/tomcat/native-jni-lib",
"LD_LIBRARY_PATH=/usr/local/tomcat/native-jni-lib",
"OPENSSL_VERSION=1.1.0f-3+deb9u1",
"GPG_KEYS=05AB33110949707C93A279E3D3EFE6B686867BA6 07E48665A34DCAFAE522E5E6266191C37C037D42 47309207D818FFD8DCD3F83F1931D684307A10A5 541FBE7D8F78B25E055DDEE13C370389288584E7 61B832AC2F1C5A90F0F9B00A1C506407564C17A3 713DA88BE50911535FE716F5208B0AB1D63011C7 79F7026C690BAA50B92CD8B66A3AD3F4F22C4FED 9BA44C2621385CB966EBA586F72C284D731FABEE A27677289986DB50844682F8ACB77FC2E86E29AC A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243 F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBE F7DA48BB64BCB84ECBA7EE6935CD23C10D498E23",
"TOMCAT_MAJOR=8",
"TOMCAT_VERSION=8.5.24",
"TOMCAT_SHA1=9e26ba61c5665aafc849073edeb769be555283cd",
"TOMCAT_TGZ_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename=tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz \thttps://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz \thttps://www.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz \thttps://archive.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz",
"TOMCAT_ASC_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename=tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc \thttps://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc \thttps://www.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc \thttps://archive.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc"
],
"Cmd": [
"catalina.sh",
"run"
],
"ArgsEscaped": true,
"Image": "tomcat",
"Volumes": null,
"WorkingDir": "/usr/local/tomcat",
"Entrypoint": null,
"OnBuild": null,
"Labels": {}
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "50244517221e6faff4217ff5453919f0c297b10434812ecfbf3decb3ce9860f6",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"8080/tcp": null
},
"SandboxKey": "/var/run/docker/netns/50244517221e",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "e9336feece03b1c87e6724253575ee50963e9bdc1f9618609fe641a8a939b87a",
"Gateway": "172.17.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "172.17.0.5",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"MacAddress": "02:42:ac:11:00:05",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "87eb4d08d408c08489db4460915aabed59210d04f8193364420d3719cd308d83",
"EndpointID": "e9336feece03b1c87e6724253575ee50963e9bdc1f9618609fe641a8a939b87a",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.5",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:05"
}
}
}
}
]
可見內容十分豐富;
如果我們只對其中的一些感興趣,例如hostname、ip地址、環境變數,該如何檢視呢?
1. hostname:在返回值中,hostname的位置如下圖紅框所示,
由上圖可見,hostname位於Config.Hostname這個節點位置,所以執行命令docker inspect -f {{.Config.Hostname}} tomcat001即可獲取到hostname,如下所示:
root@maven:~# docker inspect -f {{.Config.Hostname}} tomcat001
98d119ed4c73
2. ip地址:執行命令docker inspect -f {{.NetworkSettings.IPAddress}} tomcat001即可獲取到ip地址:
root@maven:~# docker inspect -f {{.NetworkSettings.IPAddress}} tomcat001
172.17.0.5
3. 環境變數:從完整的inspect資訊中可以看到環境變數Config.Env的內容是個json陣列,所以除了用docker inspect -f {{.Config.Env}} tomcat001獲取所有環境變數資訊,還可以用docker inspect -f ‘{{index .Config.Env 1}}’ tomcat001命令獲取陣列中的某一條記錄,如下:
root@maven:~# docker inspect -f '{{index .Config.Env 1}}' tomcat001
LANG=C.UTF-8
root@maven:~# docker inspect -f '{{index .Config.Env 2}}' tomcat001
JAVA_HOME=/docker-java-home/jre
至此,三種獲取容器資訊的方式已經全部列出,之所以在本文中推薦第三種,是因為有時我們會在shell指令碼中獲取容器資訊,這時候用這種方式最為簡單;
相關推薦
檢視Docker容器的資訊
對於執行在Docker環境的容器,有時我們想查詢它們的一些基本資訊,例如環境變數、hostname、ip地址等,接下來我們以一個tomcat容器為例,看看有哪些方式來取得這些資訊; 建立tomcat容器 在docker環境下執行如下命令,即可建立一個
檢視docker容器Ip地址
Docker內需要訪問本機的資料庫,如何訪問。使用127.0.0.1肯定是不行的,因為這個在Docker容器裡面指的是容器本身。所以,需要走別動渠道進行解決。 docker inspect --format={{.NetworkSettings.IPAddress}} 容器id
檢視docker容器的記憶體佔用
使用docker stats命令可以檢視容器的記憶體,但是有時候docker stats命令獲得的資料可能準確,可以參考下面這種方式 先通過docker ps -a 找到容器的container id 再使用ps -ef 找到容器對應的程序 獲得容器對應的pid後,就可以使用top、pmap、ps等檢視
檢視docker容器日誌
在沒有日誌監控系統的情況下,我們需要了解docker容器日誌輸出有沒有錯誤資訊,這個時候主要通過以下幾種辦法檢視日誌: 1、通過目錄掛載的方式 容器目錄掛載到宿主機目錄 docker run -it
檢視 docker 容器使用的資源
在容器的使用過程中,如果能及時的掌握容器使用的系統資源,無論對開發還是運維工作都是非常有益的。幸運的是 docker 自己就提供了
docker 容器狀態檢視
檢視 docker 容器的狀態資訊 檢視容器狀態: docker stats nginx1 檢視程序資訊: docker top nginx1 inspect 使用 docker inspect 來檢視Docker的底層資訊。它會返回一個 JSON 檔案記錄著 Dock
docker學習(三) docker容器操作(容器建立、刪除、檢視、啟動、停止)
檢視容器 檢視正在執行的容器 docker ps 個列意義: 引數名稱 引數意義 CONTAINER ID 容器id IMAGE 建立容器時所使用的映象 COMMAND 執行容器中的軟體執行的命令 CREATED 容器的建立時間
檢視docker container內程序資訊及與宿主機上程序的對映關係
1、docker ps 找到對應的容器 2、根據container id 找到容器在宿主機上對映後的程序資訊 docker top 8c900d3fe375(容器id) 就會得到類似下面的資訊,其中PID是容器內程序在宿主機上的pid,ppid是容器內程序在宿主機上的父程
docker容器檢視程序號碼
我們知道,在一個容器內部,檢視程序號直接使用ps -aux命令,但是對於一個正在執行中的容器,我們怎麼在客戶端檢視它的程序號呢 我們可以使用這個命令:docker inspect -f {.State.Pid}; mkdir /var/run/nets; ln -s
Docker容器檢視ip地址
一直以為Docker是沒有IP地址的,其實Docker的網路模板有點類似我們平常使用虛擬機器的host-only模式,容器和宿主機組成一個獨立的區域網,宿主機的IP為172.17.0.1,對應主機的網路名稱為docker0 所以要想看到docker容器的i
docker容器日誌檔案檢視
目前工作的開發環境在docker中,所以如果在docker內部執行很多程式,如果想同時檢視內部程式的日誌,最好的方式是直接通過檢視外部docker的日誌檔案即可。在宿主機/var/lib/docker/containers/,,,,,下檢視對應的容器的日誌即可。
調試 Dockerfile - 每天5分鐘玩轉 Docker 容器技術(15)
top add font tom middle 程序 ria family 是個 包括 Dockerfile 在內的任何腳本和程序都會出錯。有錯並不可怕,但必須有辦法排查,所以本節討論如何 debug Dockerfile。 先回顧一下通過 Dockerfile 構建鏡像
Dockerfile 常用指令 - 每天5分鐘玩轉 Docker 容器技術(16)
依次 官方文檔 構建 bottom str -s 暴露 工作 12px 是時候系統學習 Dockerfile 了。下面列出了 Dockerfile 中最常用的指令,完整列表和說明可參看官方文檔。 FROM指定 base 鏡像。 MAINTAINER設置鏡像的作
RUN vs CMD vs ENTRYPOINT - 每天5分鐘玩轉 Docker 容器技術(17)
docker 教程 容器 RUN、CMD 和 ENTRYPOINT 這三個 Dockerfile 指令看上去很類似很容易混淆。本節將通過實踐詳細討論它們的區別。簡單的說RUN 執行命令並創建新的鏡像層RUN 經常用於安裝軟件包。CMD 設置容器啟動後默認執行的命令及其參數但 CMD 能夠被 doc
使用公共 Registry - 每天5分鐘玩轉 Docker 容器技術(19)
docker 教程 容器 保存和分發鏡像的最直接方法就是使用 Docker Hub。Docker Hub 是 Docker 公司維護的公共 Registry。用戶可以將自己的鏡像保存到 Docker Hub 免費的 repository 中。如果不希望別人訪問自己的鏡像,也可以購買私有 repos
Docker 鏡像小結 - 每天5分鐘玩轉 Docker 容器技術(21)
列表 例如 normal one sys tro docker comm color 本節我們對 Docker 鏡像做個小結。 這一部分我們首先討論了鏡像的分層結構,然後學習了如何構建鏡像,最後實踐使用 Docker Hub 和本地 registry。 下面是鏡像的常用操作
如何運行容器?- 每天5分鐘玩轉 Docker 容器技術(22)
docker 教程 容器 上一章我們學習了如何構建 Docker 鏡像,並通過鏡像運行容器。本章將深入討論容器:學習容器的各種操作,容器各種狀態之間如何轉換,以及實現容器的底層技術。運行容器docker run 是啟動容器的方法。在討論 Dockerfile 時我們已經學習到,可用三種方式指定容器
兩種進入容器的方法 - 每天5分鐘玩轉 Docker 容器技術(23)
工作 技術 啟動進程 gin attach ant while col -c 我們經常需要進到容器裏去做一些工作,比如查看日誌、調試、啟動其他進程等。有兩種方法進入容器:attach 和 exec。 docker attach 通過 docker attach 可以 a
Docker基本命令與使用 —— Docker容器(一)
使用 -a 基本 com sta start 日誌 靜態頁面 don 一.容器的基本操作 1. 啟動容器 docker run IMAGE [COMMAND] [ARG...] run 在新容器中執行命令 eg: docker run ubuntu echo ‘He
運行容器的最佳實踐 - 每天5分鐘玩轉 Docker 容器技術(24)
oat add vertical poi can size 執行命令 後臺 運行 按用途容器大致可分為兩類:服務類容器和工具類的容器。 1. 服務類容器以 daemon 的形式運行,對外提供服務。比如 web server,數據庫等。通過 -d 以後臺方式啟動這類容器是非常