Visual Studio docker compose正在重写容器命令
我有一个Dockerfile正在运行LDAP:Visual Studio docker compose正在重写容器命令,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,我有一个Dockerfile正在运行LDAP: FROM openjdk:8u111-jre-alpine MAINTAINER My Name "name@example.com" EXPOSE 10389 RUN apk add --no-cache openssl RUN mkdir /ldap WORKDIR /ldap RUN wget https://github.com/kwart/ldap-server/releases/download/2016-10
FROM openjdk:8u111-jre-alpine
MAINTAINER My Name "name@example.com"
EXPOSE 10389
RUN apk add --no-cache openssl
RUN mkdir /ldap
WORKDIR /ldap
RUN wget https://github.com/kwart/ldap-server/releases/download/2016-10-04/ldap-server.jar
COPY ldap.ldif /ldap/users.ldif
CMD ["java","-jar","ldap-server.jar", "users.ldif"]
当我构建并运行它时,它正在工作,并且我能够在.NET Core中连接到它:
$ docker build -t myapp -f LDAP_Dockerfile .
$ docker run -it --rm -p 10389:10389 myapp
docker ps
如下所示:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
61116c3358c3 myapp "java -jar ldap-serv…" 10 seconds ago Up 9 seconds 0.0.0.0:10389->10389/tcp dreamy_mendeleev
但当我从Visual Studio运行docker compose(如在pictue上)时,我无法连接:
docker ps
现在看起来不同了:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
15acc08715e8 myapp2:dev "tail -f /dev/null" 11 seconds ago Up 10 seconds 0.0.0.0:32785->80/tcp MyApp-2_1
3b705c49e371 82beefed3363 "tail -f /dev/null" 11 seconds ago Up 10 seconds 0.0.0.0:10389->10389/tcp myapp_ldap
查看命令-直接运行时,它显示java-jarldap serv…
,但通过docker compose,它显示tail-f/dev/null
。正如错误告诉LdapException:无法连接到服务器127.0.0.1:10389(91)
我想这就是问题所在。但是,通过LDAP_Dockerfile直接运行它和通过docker compose运行它有什么不同
编辑:可能是Visual Studio以某种方式重写了容器中的命令。当我简单地通过
docker compose up
复制并运行它时,它工作正常。要想知道发生了什么,首先我建议检查由docker compose build
生成的图像:docker history 82beefed3363--no-trunc | less-S
然后仔细检查CMD code>指令,等等。当你说“通过Docker Compose运行它”时,你是在终端窗口中运行Docker Compose up
,还是在做其他事情?(docker compose.yml
没有覆盖命令:
或入口点:
,因此docker ps
输出实际上非常奇怪。)@DavidMaze通过docker compose运行它意味着在Visual Studio中运行它@ErikMD:这个命令为CMD显示:CMD[“java”“-jar”“ldap server.jar”“users.ldif”]
这似乎是正确的…请编辑问题以准确描述如何启动容器:Docker Compose和Visual Studio是非常不同的工具。Visual Studio正在运行Docker Compose。我将编辑这个问题。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
15acc08715e8 myapp2:dev "tail -f /dev/null" 11 seconds ago Up 10 seconds 0.0.0.0:32785->80/tcp MyApp-2_1
3b705c49e371 82beefed3363 "tail -f /dev/null" 11 seconds ago Up 10 seconds 0.0.0.0:10389->10389/tcp myapp_ldap