在docker中执行shell命令,需要在命令前增加sh -c,例如:
?
1
docker
run ubuntu sh -c cat /data/a.txt > b.txt
否则,指令无法被正常解析。
补充:【Docker应用】 docker中执行指定脚本(docker 下运行springboot应用)
【Docker应用】 docker中执行指定脚本
这里是执行spring boot的应用的实例:
1. 制作执行sh脚本的镜像文件(模板)
?
1
2
3
4
5
6
7
8
9
10
11
Dockfile
FROM vertigomedia/ubuntu-jdk8
RUN touch /root/app_start.sh
RUN echo “#!/bin/bash” > /root/app_start.sh
RUN echo “echo 111” >> /root/app_start.sh
RUN chmod a+x /root/app_start.sh
ENV TZ Asia/Shanghai
ENV APP_FILE /root/app_start.sh
EXPOSE 8889
CMD $APP_FILE
#ENTRYPOINT [“/bin/sh”, “-c”, “$APP_FILE”]
2. 制作脚本文件(容器中要执行的脚本)
?
1
2
3
4
container.sh
#!/bin/bash
echo “test xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”
java -jar -Xms500m -Xmx500m -Dspring.profiles.active=test-docker-1 /root/app.jar
3. 制作启动脚本(这里只是启动命令)
?
1
2
3
4
5
6
7
8
–name test_container \
–hostname test_container \
–net test_net –ip 170.170.1.199 \
–volume /root/container.sh:/root/app_start.sh \
–volume /opt/test-1.0.0-SNAPSHOT.jar:/root/app.jar \
–privileged=true \
test:123 /bin/bash -c sh /root/app_start.sh
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://www.cnblogs.com/dadream/p/9506038.html
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。