背景
我已经构建了一个 npm 服务器(sinopia) docker 映像(https://github.com/feuyeux/docker-atue/blob/master/docker-images/feuyeux_sinopia.md),并且在 CMD 行中,它将运行启动.sh 每次生成容器时。
CMD ["/opt/sinopia/start.sh"]
这个 shell 将动态创建一个 yaml 文件。
sed -e 's/\#listen\: localhost/listen\: 0.0.0.0/' -e 's/allow_publish\: admin/allow_publish\: all/' /tmp/config.yaml > /opt/sinopia/config.yaml
问题
我希望我可以在容器运行时编辑这个 config.yaml,因为我希望内容应该按需更改。
如上图,第一行运行了一个sinopia容器,在这个容器中,有/opt/sinopia/config.yaml。但我不知道如何获取这个正在运行的容器并编辑和检查这个文件。如果我按照sinopia-ls的行进行操作,则会运行一个新容器,而不是之前运行的容器。
多谢你们!
回答(详情请看下面我接受的内容)
sudo nsenter --target $PID --mount --uts --ipc --net --pid
root@58075317e47d:/# ls /opt/sinopia/
config.yaml config_gen.js start.sh storage
root@58075317e47d:/# cat /opt/sinopia/config.yaml