最近使用dockerfile 制作镜像并run容器的过程中,容器状态一直是 Exited (1)
使用docker logs xx 查看日志
docker logs xx
standard_init_linux.go:228: exec user process caused "no such file or directory"
费了一番功夫终于解决
使用 cat -v 查看 docfile 文件和 docker-entrypoint.sh 两个 文件
发现是dos编码和 Unix编码问题
cat -v Dockerfile
FROM openjdk:8^M
^M
ADD docker-entrypoint.sh /root/^M
RUN chmod +x /root/docker-entrypoint.sh^M
ADD target/dockeTest-0.0.1-SNAPSHOT.jar /usr/share/demo/dockeTest.jar^M
^M
ENTRYPOINT ["/root/docker-entrypoint.sh"]^M
解决方案一:
使用 vi编辑,修改fileformat=unix
方案二:
yum install -y dos2unix
dos2unix Dockerfile
dos2unix docker-entrypoint.sh
再重新制作镜像 run容器 成功