Dockerfile - uniqcle/DevOps GitHub Wiki
dockerfile
FROM ubuntu:22.04
LABEL author=uniqcle
RUN apt-get update
RUN apt-get install nginx -y
RUN mkdir -p /var/www/mysite
RUN chmod -R 777 /var/www
WORKDIR /var/www/html/
COPY files/ .
ENV OWNER=uniqcle
ENV TYPE=demo
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
CMD /bin/bash # Параметры которые используются при запуске
CMD ["/bin/bash"] # либо так
ENTRYPOINT /bin/bash # аналог CMD, только не переопределяется при запуске контейнера
WORKDIR /home # аналог cd, директория в которую хотим попасть. Напр, cd home
ENV JAVA_HOME /var/lib/jvm # Создает переменные среды окружения
USER uniqcle # Если нужно выполнять от имени пользователя
VOLUME /opt/project # Подмонтирует к-л директории
ADD temp.txt /home # Добавляет temp.txt в папку /home
# ADD и COPY практически одно и тоже.
COPY temp.txt /home # temp.txt должен находиться в той же папке что и Dockerfile
ONBUILD ADD . /app/src # добавляет тригеры на image
В Dockerfile избегайте команд apt-get upgrade и apt-get dist-upgrade, оптимальный синтаксис команды для установки пакетов выглядит так:
RUN apt-get update && apt-get install -y \
bzr \
cvs \
git \
mercurial \
subversion
nginx dockerfile
FROM ubuntu:22.04
LABEL author=uniqcle
RUN apt-get update
RUN apt-get install nginx -y
EXPOSE 80
EXPOSE 443/tcp
CMD ["nginx", "-g", "daemon off;"]
apache2 dockerfile
FROM ubuntu:22.04
LABEL author=uniqcle
RUN apt-get update
RUN apt-get install apache2 -y
EXPOSE 80
CMD ["apache2ctl", "-D", "FOREGROUND"]
docker run --rm -d --name containera -p 80:80 -v c:\docker\files\:/var/www/html imagea:v1
docker build -t myimage:v01 . # устанавливаем с версией
или так
docker build . # устанавливаем без версии
docker tag <image id> mydocker:v01 # потом устанавливаем название image
docker images # просмотр всех образов
docker image inspect mydocker:v01 # просмотреть образ
docker run -d --rm --name container4 -p 80:80 myiage:v4 # запустили образ nginx
docker run --rm --name mydocker_container mydocker:v01 # запуск image -d
docker run -it --rm --name myimageit myimage:v01 /bin/bash # запуск в it режиме