【发布时间】:2018-01-18 22:27:39
【问题描述】:
我正在尝试创建一个 bash 脚本,用于在新服务器上设置 docker 和应用程序。
很新鲜来抨击自己,但我认为我得到了公正
这是我的问题所在的 sn-p -
#docker run -d --name application -p 80:80 -d tutum/apache-php
docker run -d -p 3306:3306 --name=database --
env="MYSQL_ROOT_PASSWORD=password1" mysql:latest
echo "--------------------------------------------------------------------"
echo "Docker is all done - run docker ps -a to see all created
containers!"
echo "--------------------------------------------------------------------"
echo "Moving onto installing application into app container!"
echo "--------------------------------------------------------------------"
docker exec -it application bash
apt-get update & apt-get install git & cd /var/www/html
#
上线-docker exec -it application bash
它按预期进入容器,但 bash 脚本随后停止,因为这意味着以下命令不会运行
无论如何我可以解决这个问题吗?我认为没有,但万一有任何 bash 向导!
任何帮助表示赞赏!
【问题讨论】:
-
请澄清:您是否尝试在容器内运行
apt-get update & apt-get install git & cd /var/www/html? -
另外,请提供
docker logs application的输出,以便我们更好地了解问题:) -
是的,这是正确的 - 在 docker exec 命令上,bash 脚本停止/退出那里,因为没有运行我在这一步之后必须运行的其余命令
-
apt-get update & ....与apt-get update && ...有很大不同,单个&在后台运行前面的cmd,然后尝试立即启动下一个命令。那没有意义。切换到&&为该行的所有人。祝你好运。 -
感谢我以前不知道的!但是在这里对我没有多大帮助:)
标签: linux bash performance docker containers