场景
在某些时候,定位问题,想看一下当时容器运行所带的参数。根据参数看看,服务问题是不是参数不对导致。
环境参数 printenv 查看
对于环境参数可以进入容器,运行 printenv 查看
xiaohui@220200700182:/mnt/c/Users/DELL$ docker exec -it 2b5aef5d59c9 bashroot@2b5aef5d59c9:/#root@2b5aef5d59c9:/# printenvHOSTNAME=2b5aef5d59c9JAVA_HOME=/usr/local/openjdk-8JAVA_BASE_URL=https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u242-b08/OpenJDK8U-jre_PWD=/JAVA_URL_VERSION=8u242b08TZ=PRCHOME=/rootLANG=C.UTF-8TERM=xtermSHLVL=1PARAMS=--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=rootPATH=/usr/local/openjdk-8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binJAVA_VERSION=8u242_=/usr/bin/printenvroot@2b5aef5d59c9:/#
端口参数 docker ps
xiaohui@220200700182:/mnt/c/Users/DELL$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTSNAMES2b5aef5d59c9 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-admin543583525fab 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-mysql181d6e2fc256 nacos/nacos-mysql:8.0.16 "docker-entrypoint.s…" 2 months ago Up 26 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysqlxiaohui@220200700182:/mnt/c/Users/DELL$
使用 runlike -p 容器 来查看
需要依赖 pip
参考:如何查看docker run启动参数命令
由于本机已安装 pip,所以直接安装 runlike
xiaohui@220200700182:/mnt/c/Users/DELL$ pipic pidgenx.dll pinentry-curses pinky pipenv-resolver.exepico pidof ping pip.exe pipenv.exepiconv pifmgr.dll ping4 pip3.10.exe pipreqs.exepid.dll pinentry ping6 pip3.exe pivot_rootxiaohui@220200700182:/mnt/c/Users/DELL$ pip3.exe install -g runlikeUsage: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: -gxiaohui@220200700182:/mnt/c/Users/DELL$ pip3.exe install runlikeLooking in indexes: https://mirrors.aliyun.com/pypi/simple/Collecting runlikeDownloading https://mirrors.aliyun.com/pypi/packages/58/99/65fffceb574cafa384098fd78b99bb7ddc045d1c16ede3b245988e4d3526/runlike-1.4.0-py3-none-any.whl (5.5 kB)Collecting click<9.0.0,>=8.0.1Downloading https://mirrors.aliyun.com/pypi/packages/48/58/c8aa6a8e62cc75f39fee1092c45d6b6ba684122697d7ce7d53f64f98a129/click-8.0.3-py3-none-any.whl (97 kB)|████████████████████████████████| 97 kB 254 kB/sCollecting coloramaDownloading https://mirrors.aliyun.com/pypi/packages/44/98/5b86278fbbf250d239ae0ecb724f8572af1c91f4a11edf4d36a206189440/colorama-0.4.4-py2.py3-none-any.whl (16 kB)Installing collected packages: colorama, click, runlikeSuccessfully installed click-8.0.3 colorama-0.4.4 runlike-1.4.0xiaohui@220200700182:/mnt/c/Users/DELL$
运行 runlike -p 容器
xiaohui@220200700182:/mnt/c/Users/DELL$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTSNAMES2b5aef5d59c9 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-admin543583525fab 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-mysql181d6e2fc256 nacos/nacos-mysql:8.0.16 "docker-entrypoint.s…" 2 months ago Up 15 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysqlxiaohui@220200700182:/mnt/c/Users/DELL$xiaohui@220200700182:/mnt/c/Users/DELL$ runlike.exe -p 2b5aef5d59c9docker 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=root' \--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/OpenJDK8U-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.0xiaohui@220200700182:/mnt/c/Users/DELL$
小结
docker ps 查看的信息有限,主要是端口、地址,镜像等
printenv 查看的环境参数
上面两个,应该满足绝大部分情况。runlike 需要额外安装,在有网络和相关权限的情况下还可以操作。
