场景
在某些时候,定位问题,想看一下当时容器运行所带的参数。根据参数看看,服务问题是不是参数不对导致。
环境参数 printenv 查看
对于环境参数可以进入容器,运行 printenv 查看
xiaohui@220200700182:/mnt/c/Users/DELL$ docker exec -it 2b5aef5d59c9 bash
root@2b5aef5d59c9:/#
root@2b5aef5d59c9:/# printenv
HOSTNAME=2b5aef5d59c9
JAVA_HOME=/usr/local/openjdk-8
JAVA_BASE_URL=https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u242-b08/OpenJDK8U-jre_
PWD=/
JAVA_URL_VERSION=8u242b08
TZ=PRC
HOME=/root
LANG=C.UTF-8
TERM=xterm
SHLVL=1
PARAMS=--spring.datasource.url=jdbc:mysql://192.168.0.220:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=root
PATH=/usr/local/openjdk-8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
JAVA_VERSION=8u242
_=/usr/bin/printenv
root@2b5aef5d59c9:/#
端口参数 docker ps
xiaohui@220200700182:/mnt/c/Users/DELL$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
2b5aef5d59c9 xuxueli/xxl-job-admin:2.2.0 "sh -c 'java -jar $J…" 2 months ago Up 21 minutes 0.0.0.0:8080->8080/tcp xxl-job-admin
543583525fab nacos/nacos-server:2.0.3 "bin/docker-startup.…" 2 months ago Up 26 minutes 0.0.0.0:8848->8848/tcp, 0.0.0.0:9555->9555/tcp, 0.0.0.0:9848->9848/tcp nacos-standalone-mysql
181d6e2fc256 nacos/nacos-mysql:8.0.16 "docker-entrypoint.s…" 2 months ago Up 26 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
xiaohui@220200700182:/mnt/c/Users/DELL$
使用 runlike -p 容器 来查看
需要依赖 pip
参考:如何查看docker run启动参数命令
由于本机已安装 pip,所以直接安装 runlike
xiaohui@220200700182:/mnt/c/Users/DELL$ pi
pic pidgenx.dll pinentry-curses pinky pipenv-resolver.exe
pico pidof ping pip.exe pipenv.exe
piconv pifmgr.dll ping4 pip3.10.exe pipreqs.exe
pid.dll pinentry ping6 pip3.exe pivot_root
xiaohui@220200700182:/mnt/c/Users/DELL$ pip3.exe install -g runlike
Usage:
pip3 install [options] <requirement specifier> [package-index-options] ...
pip3 install [options] -r <requirements file> [package-index-options] ...
pip3 install [options] [-e] <vcs project url> ...
pip3 install [options] [-e] <local project path> ...
pip3 install [options] <archive url/path> ...
no such option: -g
xiaohui@220200700182:/mnt/c/Users/DELL$ pip3.exe install runlike
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting runlike
Downloading https://mirrors.aliyun.com/pypi/packages/58/99/65fffceb574cafa384098fd78b99bb7ddc045d1c16ede3b245988e4d352
6/runlike-1.4.0-py3-none-any.whl (5.5 kB)
Collecting click<9.0.0,>=8.0.1
Downloading https://mirrors.aliyun.com/pypi/packages/48/58/c8aa6a8e62cc75f39fee1092c45d6b6ba684122697d7ce7d53f64f98a12
9/click-8.0.3-py3-none-any.whl (97 kB)
|████████████████████████████████| 97 kB 254 kB/s
Collecting colorama
Downloading https://mirrors.aliyun.com/pypi/packages/44/98/5b86278fbbf250d239ae0ecb724f8572af1c91f4a11edf4d36a20618944
0/colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Installing collected packages: colorama, click, runlike
Successfully installed click-8.0.3 colorama-0.4.4 runlike-1.4.0
xiaohui@220200700182:/mnt/c/Users/DELL$
运行 runlike -p 容器
xiaohui@220200700182:/mnt/c/Users/DELL$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
2b5aef5d59c9 xuxueli/xxl-job-admin:2.2.0 "sh -c 'java -jar $J…" 2 months ago Up 10 minutes 0.0.0.0:8080->8080/tcp xxl-job-admin
543583525fab nacos/nacos-server:2.0.3 "bin/docker-startup.…" 2 months ago Up 15 minutes 0.0.0.0:8848->8848/tcp, 0.0.0.0:9555->9555/tcp, 0.0.0.0:9848->9848/tcp nacos-standalone-mysql
181d6e2fc256 nacos/nacos-mysql:8.0.16 "docker-entrypoint.s…" 2 months ago Up 15 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
xiaohui@220200700182:/mnt/c/Users/DELL$
xiaohui@220200700182:/mnt/c/Users/DELL$ runlike.exe -p 2b5aef5d59c9
docker run \
--name=xxl-job-admin \
--hostname=2b5aef5d59c9 \
--mac-address=02:42:ac:11:00:02 \
--env='PARAMS=--spring.datasource.url=jdbc:mysql://192.168.0.220:3306/xxl_job?useUnicode=true&characterEncoding=
UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=roo
t' \
--env=PATH=/usr/local/openjdk-8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
--env=LANG=C.UTF-8 \
--env=JAVA_HOME=/usr/local/openjdk-8 \
--env=JAVA_VERSION=8u242 \
--env=JAVA_BASE_URL=https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u242-b08/Op
enJDK8U-jre_ \
--env=JAVA_URL_VERSION=8u242b08 \
--env=TZ=PRC \
--volume=/tmp:/data/applogs \
-p 8080:8080 \
--restart=no \
--label='desktop.docker.io/wsl-distro=Ubuntu-20.04' \
--runtime=runc \
--detach=true \
xuxueli/xxl-job-admin:2.2.0
xiaohui@220200700182:/mnt/c/Users/DELL$
小结
docker ps 查看的信息有限,主要是端口、地址,镜像等
printenv 查看的环境参数
上面两个,应该满足绝大部分情况。runlike 需要额外安装,在有网络和相关权限的情况下还可以操作。