一直运行的一个Docker容器,然后我们想知道当初启动这个容器的命令具体是什么样的?
设置了哪些环境变量?挂载哪些数据卷...
比如
docker run -it --name centos -v $HOME:/tmp -p 8080:8080 centos
假设我忘记了启动centos时的具体指令了。如何从启动的容器了解当初的启动命令?
我自己能想到的是
docker inspect container #查看已启动容器启动命令
docker container prune #删除退出的容器
docker ps -a --no-trunc #查看容器启动参数
反查dockerfile
docker history --format {{.CreatedBy}} --no-trunc=true 0e0218889c33|sed "s?/bin/sh\ -c\ \#(nop)\ ??g"|sed "s?/bin/sh\ -c?RUN?g" | tac
#使用宿主机网络,并将容器名称修改为prometheus,-d后台运行
docker run -d -p 9090:9090 --name prometheus --net=host prom/prometheus
#将容器里文件拷贝出来到root目录
docker cp prometheus:/etc/prometheus/prometheus.yml /root/
#修改后挂载加进去
docker run -d -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml -p 9090:9090 --name prometheus --net=host prom/prometheus
docker run -d -p 9090:9090 -v /root/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
docker logs contianid