首先我们启动一个容器:
docker run --cap-add=SYS_PTRACE -d -m 8GB know.com/growth/my_model_api:v3
启动后,过段时间有可能需要查看该容器启动时的参数,比如-m 8G,该如何查看呢?
1)错误方法1:
使用docker ps -a --no-trunc只能查看到容器1号进程执行的COMMAND,例如:
# docker ps -a --no-trunc
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7dc8a188e914adae85b4f1b7b5de9374c152905197d26eb2f458eee918f62ae6 know.com/growth/my_model_api:v3 "sh /usr/local/app/start.sh" 11 days ago Up 11 days zealous_shockley
2)错误方法2:
docker inspect container_id打印的信息很多,但是查看不到启动信息
# docker inspect 7dc
[
{
"Id": "7dc8a188e914adae85b4f1b7b5de9374c152905197d26eb2f458eee918f62ae6",
"Created": "2023-03-24T06:21:27.308558138Z",
"Path": "sh",
"Args": [
"/usr/local/app/start.sh"
],
...
3)使用runlike
runlike是一个第三方工具,需要安装,通过runlike -p container_id执行,结果相对比较全。
pip3.6 install runlike
# runlike -p 7dc
docker run --name=zealous_shockley \
--hostname=7dc8a188e914 \
--mac-address=02:42:c0:a8:0a:02 \
--cap-add=SYS_PTRACE \
--workdir=/usr/local/app \
--restart=no \
--runtime=runc \
--memory="8589934592" \
--detach=true \
know.com/growth/my_model_api:v3
4)使用get_command_4_run_container
这是一个三方的docker镜像,先拉取
# docker run --rm -v /var/run/docker.sock:/var/run/docker.sock cucker/get_command_4_run_container 7dc
docker run -d \
--name zealous_shockley \
--cap-add SYS_PTRACE \
-m 8GB \
-w /usr/local/app \
know.com/growth/my_model_api:v3
可以看到,基本上还原了启动容器的所有参数。推荐这种方式!