Я пытался создать свой контейнер на основе Ubuntu (и то же самое с Debian). я использую docker-compose
для управления моими контейнерами, и я использую dockerfile
чтобы создать свой контейнер.
Когда я использую docker-compose
чтобы создать и запустить свой контейнер, у меня всегда был статус Exited 0
(без информации в журналах или на моем экране, и когда я создаю и начинаю с простой команды докера, она работает хорошо.
Вы знаете почему?
Мой файл докеров
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get -y update
RUN apt-get -y upgrade
RUN apt-get install -y sqlite3 libsqlite3-dev apache2 php php-sqlite3
RUN /usr/bin/sqlite3 /etc/apache2/db/test.db
RUN apt-get clean autoclean
RUN apt-get autoremove --yes
RUN rm -rf /var/lib/apt/lists/*
CMD /bin/bash
Мой docker-compose
bdd:
container_name: bdd
build: /docker/bdd
image: image_bdd:latest
Спасибо за ответы. Я забыл указать это в своем вопросе, но строка FROM ubuntu:latest
присутствовал. Чтобы ответить, я нашел решение с помощью строки CMD, потому что вы можете найти множество версий в Интернете:
CMD ["/usr/sbin/apache2ctl", "-DFOREGROUND"]
Линия CMD ["/bin/bash"]
не сработало. У вас есть идеи, почему?
Вам нужно указать, с каким изображением вы хотите работать.
Попробуйте изменить Dockerfile как это:
FROM ubuntu:latest
RUN apt-get -y update && \
apt-get -y upgrade && \
apt-get install -y sqlite3 libsqlite3-dev apache2 php php-sqlite3 && \
/usr/bin/sqlite3 /etc/apache2/db/test.db && \
apt-get clean autoclean && \
apt-get autoremove --yes && \
rm -rf /var/lib/apt/lists/*
ENV DEBIAN_FRONTEND=noninteractive
CMD ["/bin/bash"]
Файл docker-compose должен быть как это:
version: '3'
services:
bdd:
build: /docker/bdd/
FROM
директива отсутствует в Dockerfile