Sto lavorando alla creazione di una griglia di selenio ancorata. Posso inviare i miei test python [eseguiti con pytest] da un contenitore pietoso [vedi sotto] allegandoci ad esso. Ma ho configurato un altro contenitore LAMP che controllerà pytest. Quindi voglio rendere autonomo il contenitore pytest, in esecuzione inattivo e in attesa di comandi dal contenitore LAMP.Eseguire py.test in un contenitore mobile come servizio
ho questo Dockerfile:
# Starting from base image
FROM ubuntu
#-----------------------------------------------------
# Set the Github personal token
ENV GH_TOKEN blablabla
# Install Python & pip
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install -y python python-pip python-dev && pip install --upgrade pip
# Install nano for #debugging
RUN apt-get install -y nano
# Install xvfb
RUN apt-get install -y xvfb
# Install GIT
RUN apt-get update -y && apt-get install git -y
# [in the/folder]
RUN git clone https://$GH_TOKEN:[email protected]/user/project.git /project
# Install dependencies via pip
WORKDIR /project
RUN pip install -r dependencies.txt
#-----------------------------------------------------
#
CMD ["/bin/bash"]
ho avviare manualmente il contenitore pytest [per lo sviluppo] con questo:
docker run -dit -v /project --name pytest repo/user:py
Il fatto è che ho finito lo sviluppo e voglio avere la pytest container lanciato da docker-compose
e collegarlo ad altri contenitori [con link e volume]. Non riesco a farlo stare sveglio.
ho usato questo:
pytest:
image: repo/user:py
volumes:
- "/project"
command: "/bin/bash tail -f /dev/null"
sbagliando di poco lavoro.
Quindi, all'interno del Dockerfile, dovrei utilizzare un CMD o ENTRYPOINT specifico?
Devo utilizzare alcuni command
dal file docker-compose
?
l'esecuzione della finestra mobile ha '-dit' che è strano, o è o non entrambi, e sì il tuo Dockerfile dovrebbe avere una CMD o ENTRYPOINT – user2915097
L'ho lanciato prima con -dit in modo da avere la console libera, e poi ho lanciato con componi un altro container che dipendeva dal primo in su. So che dovrebbe avere ma quale sarebbe il comando che lo contiene per continuare? –
Quello che @ user2915097 significa, credo, è che non è necessario 'it', solo' -d' per eseguire il contenitore come processo daemon (background). '-it' è utile per eseguire interattivamente il contenitore e allocare un' tty'. – Auzias