如何在执行入口点之前将 `docker cp` ssh 密钥发送到 docker 容器
How to `docker cp` ssh key to docker container before its entrypoint is executed
说我现在有这个:
docker run -v /root/.ssh:/root/.ssh:ro my_image
上图的入口点是:
ENTRYPOINT ["echo", "foo"]
相反,我想做这样的事情:
docker run -d --name c my_image # problem: this will likely exit early :(
docker cp /root/.ssh c:/root/.ssh
docker exec c echo foo
问题是:如何让容器保持活动状态,以便它等待我将 ssh 密钥复制到其中,然后 运行 echo foo
命令?
也许我可以通过告诉它等待 stdin 来让它保持活动状态?但具体如何呢?
您需要先创建容器:
docker create my_image
然后复制文件:
docker cp /root/.ssh MY_CREATED_CON:/root/.ssh
正常启动容器:
docker start MY_CREATED_CON
说我现在有这个:
docker run -v /root/.ssh:/root/.ssh:ro my_image
上图的入口点是:
ENTRYPOINT ["echo", "foo"]
相反,我想做这样的事情:
docker run -d --name c my_image # problem: this will likely exit early :(
docker cp /root/.ssh c:/root/.ssh
docker exec c echo foo
问题是:如何让容器保持活动状态,以便它等待我将 ssh 密钥复制到其中,然后 运行 echo foo
命令?
也许我可以通过告诉它等待 stdin 来让它保持活动状态?但具体如何呢?
您需要先创建容器:
docker create my_image
然后复制文件:
docker cp /root/.ssh MY_CREATED_CON:/root/.ssh
正常启动容器:
docker start MY_CREATED_CON