Docker Training (6 серии деталей)
Прежде чем мы действительно сможем погрузиться в этот проект, нам нужно позаботиться о нескольких вещах. Сначала нам нужно настроить нашу среду для запуска Docker. Тогда нам нужно пройти пару вещей о Dockerfiles и Docker CLI
Установка Docker
Маки
Установка Mac довольно проста. Следуйте инструкциям ниже
инструкции
Окна
Есть 2 способа установить Docker на Windows. 1 поддерживается бэкэндом Hyper-V, а второй поддерживается бэкэнд WSL2. Домашние пользователи Windows должны использовать метод Backend WSL2. Pro, образование и предприятие могут использовать либо.
Инструкции WSL2
Инструкции Hyper V.
Linux
Как и все, Linux. Настройка Docker немного более ручной. Вам придется установить Docker и Docker Compose, чтобы пройти эти уроки. Пожалуйста, найдите указания для вашего предпочтительного дистрибуции здесь. Вам также придется запустить шаги после установки или запустить все ваши команды Docker в качестве пользователя root.
Docker Install Docker Compose Install После установки
Что такое dockerfile
Давайте начнем с понимания Dockerfile. DockerFile — это набор инструкций, который используется для создания изображения Docker. Каждая инструкция в DockerFile создаст новый слой или промежуточное изображение. Эти слои похожи на Commits в репозитории GIT. Любой из слоев является полностью построенным изображением, которое можно выполнить как контейнер Docker. Вот основной пример Dockerfile для Go.
FROM golang:alpine # Install git. # Git is required for fetching the dependencies. RUN apk update && apk add --no-cache git WORKDIR $GOPATH/src/mypackage/myapp/ COPY . . # Fetch dependencies. # Using go get. RUN go get -d -v # Build the binary. RUN go build -o /go/bin/hello ENTRYPOINT ["/go/bin/hello"]
Давайте пройдете через различные инструкции и посмотрим, что они делают. Я связал все идентификаторы инструкций ниже. Есть много других, и его можно найти в Документация Dockerfile Builder
От это инструкция, которая инициализирует новую стадию сборки, устанавливает базовое изображение. Это контейнер, который будет работать, пока мы строим наше изображение. Прямо сейчас мы потребляем изображение Golang от Alpine. Мы выбрали это изображение, потому что оно легче и быстрее, чем официальное изображение Голанга. Вы можете узнать больше об Alpine Linux и их изображениях из Здесь Анкет Есть много других изображений на выбор, и их можно найти в Docker Hub .
Запустить Как мы выполняем команду оболочки внутри контейнера, из которого мы строим. Эта инструкция выполнит любые команды, которые передаются в нее.
Workdir Инструкция используется для изменения рабочего каталога в рамках проекта. Очень нравится, как команда CD
используется в оболочке. Если каталог не существует, он будет создан, даже если он никогда не будет использоваться в каких -либо других инструкциях DockerFile.
Копия Инструкция скопирует все, от объявленного пути относительно вашего проекта до места назначения того, где он будет жить в вашем изображении. В этом случае мы копируем все, от базы каталога проекта до $ Gopath/src/mypackage/myapp/
Анкет Первый Анкет
представляет ваш каталог проекта. Второй Анкет
представляет Workdir
Мы установили раньше.
Intrypoint Инструкция выполняется, которая будет выполнена, когда контейнер запускается.
Начало работы с Docker CLI
Docker CLI является главным способом, которым мы будем взаимодействовать с Docker. Мы будем использовать его для создания изображений Docker, запустить контейнеры Docker и посмотреть, что происходит в нашей среде Docker.
Смотрите меню помощи:
docker help
Для любой команды Docker используйте Docker Help $ Command
Чтобы узнать больше о команде и опциях, которые доступны для нее. Я настоятельно рекомендую вам запустить это по команде ниже. Есть много параметров, которые вы можете передать командам, и в нем будут указаны псевдонимы, которые можно использовать, чтобы сделать команды короче и сохранить некоторые печатные
Построение изображения:
docker build . -t $MYIMAGENAME:$MYIMAGETAG
Использование: Docker Build [Options] Путь | URL | -
Обычно при создании изображения вы находитесь в корневом каталоге вашего проекта. Этот каталог также содержит DockerFile, который будет использоваться для построения проекта. Также важно пометить ваши изображения, чтобы вы могли найти их в будущем. Это цель -t
в команде выше. Если вы этого не сделаете, когда вы ищете свои изображения, вы увидите только Нет
как имя изображения.
Перечисление изображений в вашем местном реестре:
docker image ls
Список беговых контейнеров
docker container ls
Перечислите все контейнеры (включая выходы)
docker container ls --all
Получить журналы из контейнера
docker logs $CONTAINERNAME | $CONTAINERID
Это очень полезно, если у вас есть контейнер, который продолжает рубить при запуске.
Docker Training (6 серии деталей)
Оригинал: «https://dev.to/jamesatintegratnio/docker-training-getting-started-3p65»