搬运工,撰写了给错误
问题描述:
我的文件夹结构如下图所示搬运工,撰写了给错误
.
├── docker-compose.yml
└── web-app
├── create_tomcat_admin.sh
├── Dockerfile
├── pom.xml
└── run.sh
而且我docker-compose.yml
就像
version: '3'
services:
web-app:
build:
context: .
dockerfile: web-app/Dockerfile
ports:
- 8080:8080
network_mode: "host"
一旦我执行docker-compose build
它完美地执行,并在终端它显示一个如下
Step 10/15 : ADD /web-app/create_tomcat_admin_user.sh /create_tomcat_admin_user.sh
---> Using cache
---> 6ca9922b3628
Step 11/15 : ADD /web-app/run.sh /run.sh
---> Using cache
---> c1e843f2f67a
Step 12/15 : RUN chmod +x /*.sh
---> Using cache
---> 6b8e781b830c
Step 13/15 : COPY /web-app/target/*.war /tomcat/webapps
---> Using cache
---> fc046d9d1d3e
Step 14/15 : EXPOSE 8080
---> Using cache
---> 68f788c21a84
Step 15/15 : CMD /run.sh
---> Using cache
---> d88cc5594980
Successfully built d88cc5594980
Successfully tagged opt_web-app:latest`
在建造码头构成后,当我执行docker-compose up
它给错误
[email protected]:~/Desktop/opt$ docker-compose up
Starting opt_web-app_1
Attaching to opt_web-app_1
web-app_1 | standard_init_linux.go:187: exec user process caused "no such file or directory"
opt_web-app_1 exited with code 1
[email protected]:~/Desktop/opt$
我在哪里出错了?但建设docker-compose.yml
时应显示错误?
答
当我试图在Linux中创建的项目上运行docker-compose时,我遇到了同样的无用的错误。如果你在Windows上克隆一个Linux项目,默认情况下,Git添加了Windows风格的行结尾,这些行结尾混淆了任何Bash脚本。如果是这种情况,运行git config --global core.autocrlf false
来配置Git永不改变行尾。然后删除存储库并重新克隆它。
或者,如果您最初在Windows上创建项目,IDE会多次添加Windows样式行结尾。如果是这种情况,那么在Notepad ++中,单击编辑菜单> EOL Conversion> Unix。
您可能已经能够**正确地生成**图像,但**正在运行**图像可能会导致错误。 – Ayushya
过去run.sh脚本。建设和运行是不同的步骤。如果您提供的命令在您的容器中不可用,则生成将会正常,但不会运行。 – papey
这是我正在使用的[Dockerfile](https://gist.github.com/Beanben/f21d317b926459a0164eff9e9c7e362a)。 –