Hello everyone,
I am trying to translate the commands I use to run two of my docker containers into a docker-compose.yml file, and I am almost finished. However, there are two commands that I can’t seem to figure out how to translate:
“-d” to keep the containers running in detached mode (or is this handled another way when using docker compose?"
“-it powershell” to keep one of my containers from auto terminating
For reference, here are the commands I use to run the containers individually:
docker run -d -p 1433:1433 -e ACCEPT_EULA=Y --name projectsap_container projectsap
docker run -p 1234:1234 --name projectportal_container -d -it projectportal powershell
And here is my docker-compose.yml thus far:
version: "3"
services:
projectsap:
build:
context: ./projectsap
dockerfile: Dockerfile
ports:
- "1433:1433"
container_name: projectsap_container
environment:
- ACCEPT_EULA=Y
entrypoint: -d
projectportal:
build:
context: ./projectportal
dockerfile: Dockerfile
ports:
- "1234:1234"
depends_on:
- "projectsap"
container_name: projectportal_container
entrypoint: -d
command: ["powershell"]
networks:
default:
external:
name: nat
I tried adding the following to the projects…
projectsap:
[...]
entrypoint: -d
projectportal:
[...]
entrypoint: -d
command: ["powershell"]
…but “entrypoint: -d” only caused the following error:
Recreating projectsap_container ... error
ERROR: for projectsap_container Cannot start service projectsap: container 3aba3bc244f47142b757b8127c8ba181b97517e70d207e7b88ef997cf5e2d371 encountered an error during CreateProcess: failure in a Windows system call: The system cannot find the file specified. (0x2) extra info: {"
CommandLine":"-d","WorkingDirectory":"C:\\","Environment":{"ACCEPT_EULA":"Y","attach_dbs":"[]","sa_password":"_","sa_password_path":"C:\\ProgramData\\Docker\\secrets\\sa-password","sql_express_download_url":"https://go.microsoft.com/fwlink/?linkid=829176"},"CreateStdInPi
pe":true,"CreateStdOutPipe":true,"CreateStdErrPipe":true,"ConsoleSize":[0,0]}
ERROR: for projectsap Cannot start service projectsap: container 3aba3bc244f47142b757b8127c8ba181b97517e70d207e7b88ef997cf5e2d371 encountered an error during CreateProcess: failure in a Windows system call: The system cannot find the file specified. (0x2) extra info: {"CommandLin
e":"-d","WorkingDirectory":"C:\\","Environment":{"ACCEPT_EULA":"Y","attach_dbs":"[]","sa_password":"_","sa_password_path":"C:\\ProgramData\\Docker\\secrets\\sa-password","sql_express_download_url":"https://go.microsoft.com/fwlink/?linkid=829176"},"CreateStdInPipe":true,"
CreateStdOutPipe":true,"CreateStdErrPipe":true,"ConsoleSize":[0,0]}
ERROR: Encountered errors while bringing up the project.
…and the “command: [“powershell”]” didn’t seem to do anything at all: The projectportal_container still isntantly terminates when brought up through the docker-compose.yml as opposed to the docker run command (This one runs an Apache Server to access the data from the projectsap, or at least that’s what it’s supposed to do).
Can anyone please help me with this? I’ve been looking at the docker compose reference for hours but couldn’t figure out any way to make this work, and I’m sure there has to be a way.
Any help with this would be greatly appreciated.
Thanks in advance,
Kira Resari