复制文件并在容器启动时从Docker上的共享卷创build符号链接

我有一个容器在运行时装入一个共享卷,我需要从卷的装入位置拷贝一些文件到另一个文件,然后创build一个符号链接。

我尝试了几种方法,最后我使用了主pipe。 所以我创build了我简单的bash脚本,其中cp和ln所需要的从哪里容器被安装在docker容器到我的最终目的docker容器内。 但是主pipe失败了。

这是我的主pipeconf文件:

[supervisord] nodaemon=true [program:nonversioned] command=/deploy.sh numprocs=1 autostart=true autorestart=true exitcodes=1 

这是我的deploy.sh的一个例子

 #!/usr/bin/env bash # Copy config files cp -f /efs/deploys/wp-config.php /var/www/html # Softlink to uploads ln -s /efs/deploys/uploads /var/www/html/assets/uploads 

在我的Dockerfile中也尝试了几个启动supervisor的东西。 最后我试着用:

 CMD ["supervisord -n"] 

但是它说supervisord不在路上

我正在开始我的容器:

 docker run -d -v /home/user/my_efs:/efs \ mytest/testing 

你需要分别指定命令和参数,例如

 CMD ["supervisord", "-n"] 

它有可能在path中找不到supervisord 。 在这种情况下,只需指定完整path:

 CMD ["/usr/bin/supervisord", "-n"]