Я пытаюсь докернизировать свое веб-приложение. В моем файле Docker я извлекаю свой код из gitlab, затем устанавливаю модуль узла в сам контейнер кода.
После создания образа я пытаюсь запустить образ докера, чтобы создать контейнер, в котором мне нужно запустить скрипт оболочки, как только я создаю контейнер из изображения.
FROM alpine
LABEL MAINTAINER "CoE"
WORKDIR /
ARG proxy
ARG username
ARG pswd
RUN export http_proxy=$proxy && \
export https_proxy=$proxy && \
git clone -b master https://$username:$pswd@git.devops.company.net/dlr_ui && \
npm install
EXPOSE 14001 14002 14003 14004 14005 14006 14007 14008
WORKDIR /applications/package/ui_servers
CMD [./startUIServer]
Для сборки:
docker build --no-cache --build-arg proxy=$http_proxy --build-arg username=abcd --build-arg pswd=12123%4022121 -t ui2 .
затем запустить:
docker run -d -it -p 14001:14001 -p 14002:14002 -p 14003:14003 -p 14004:14004 -p 14005:14005 -p 14006:14006 -p 14007:14007 -p 14008:14008 --name=uistart ui2 /bin/sh
Это создаст контейнер, но мы покажем, что он вышел, когда я сделаю
docker ps -a
когда я проверяю логи докера по
docker logs
ничего не покажет
как запустить этот скрипт, чтобы все мои серверы пользовательского интерфейса работали, когда я запускаю Docker. Я не хочу делать docker exec -it uistart /bin/sh
, а затем запускать скрипт оболочки вручную.