- В репозитории создайте директорию
07-docker - В созданной директории создайте Dockerfile, создающий docker-образ, удовлетворяющий следующим требованиям:
- Основан на debian
- При запуске выполняет Apache httpd, отображающий динамический сайт из прошлых домашних заданий
- В той же директории создайте скрипт
dynamic.sh- создающий образ из докерфайла, имя образа -
hometask-image - запускающий докер-контейнер из вашего образа
- пробрасывающий порт 80 контейнера на порт 8080 хост-системы
- создающий образ из докерфайла, имя образа -
- В той же директории создайте скрипт
static.sh- запускающий докер-контейнер из вашего образа
- пробрасывающий порт 80 контейнера на порт 8081 хост-системы
- размещает файл index.html из вашей текущей директории в директории c кодом сайта.
- Создайте файл
Dockerfile.multi - Созданный Dockerfile должен создавать один промежуточный образ:
- Образ основан на golang:1.16
- Получает исходный код проекта word-cloud-generator из https://github.com/Fenikks/word-cloud-generator.git
- Выполняет сборку приложения с помощью команды
make
- Созданный Dockerfile должен создавать итоговый образ
- Основаный на alpine:latest
- Получающий исполняемый файл проекта word-cloud-generator из промежуточного образа
- При запуске по умолчанию выполняюший приложение word-cloud-generator
- Создайте скрипт
multi.sh, который содержит команду для сборки образа из файлаDockerfile.multi
- Что такое docker образ?
- Что такое docker контейнер?
- Из чего состоит docker образ?
- Для чего нужен Dockerfile?
- Какие команды в Dockerfile используются для запуска главного приложения в контейнере?
- Сколько слоев будет в образе:
FROM ubuntu RUN echo "Hello world" RUN apt-get update CMD app.py
docker imagesdocker image lsdocker pulldocker pull ubuntu:bionicdocker pull alpinedocker container lsdocker container ls -adocker psdocker ps -adocker ps -ldocker run hello-worlddocker run -it ubuntu bashdocker start <container_name>docker stop <container_name>docker attach <container_id>docker exec -ti <container_name> bashdocker exec <container_name> ls -ldocker run --rm ubuntu sleep 15docker run -d -ti --name container ubuntudocker run –-helpdocker rm <container-id>docker system prunedocker run --rm -it -p 45678:45678 -p 45679:45679 --name echo-server feniks/ubuntu-netbox bashdocker run --rm -it --name echo-server feniks/ubuntu-netbox bashdocker networkdocker network create itacademydocker network lsdocker run --rm -ti --net itacademy --name catserver feniks/ubuntu-netbox bashdocker network inspect itacademydocker volume lsdocker run --rm -ti -v /tmp/shared-folder:/share ubuntu bashdocker run --rm -ti -v /shared-ephemeral --name first ubuntu bashdocker run --rm -it --volumes-from first --name second ubuntu bashdocker run -ti --name basebox ubuntu bashdocker commit baseboxdocker tag <id> my-imagedocker commit basebox my-image:01docker build -t test .docker history testdocker build -t app-py:v1 -f /vagrant/app/Dockerfile-py /vagrant/docker build -t google-big -f Dockerfile.simple .