Начало работы с основами Docker
Тег FROM в Dockerfile
В Dockerfile инструкция FROM
указывает базовый образ, на основе которого будет создан результирующий образ.
Это может быть образ из общедоступного реестра, например FROM ubuntu:20.04
, или локально доступный образ, например FROM local-image:1.0
.
Пример :
Тег EXPOSE в Dockerfile
В Dockerfile инструкция EXPOSE
информирует Docker о том, что контейнер будет прослушивать указанные сетевые порты во время выполнения. Это фактически не публикует порты, но позволяет привязывать их при запуске контейнера.
Инструкцию EXPOSE
можно использовать несколько раз в одном Dockerfile, чтобы сообщить Docker о нескольких портах, которые контейнер будет прослушивать.
Пример :
Это сообщит докеру, что контейнер будет прослушивать TCP-порты 5000 и 8080.
Инструкция EXPOSE
только информирует Docker о портах, которые контейнер будет прослушивать, но фактически не публикует порты на хосте. Чтобы опубликовать порт контейнера на хосте, вы можете использовать параметр -p
или --publish
при запуске docker run
.
Пример :
Это запустит контейнер и опубликует оба порта 5000 и 8080 на хосте, позволяя трафику проходить в контейнер через эти порты.
Тег RUN в Dockerfile
В Dockerfile инструкция RUN
используется для выполнения команды в оболочке операционной системы образа.
Инструкция RUN
принимает в качестве аргумента команду, которая затем выполняется в оболочке операционной системы образа.
Пример :
Это запустит apt-get update
команд в оболочке.
Тег ENTRYPOINT в Dockerfile
В Dockerfile инструкция ENTRYPOINT
используется для настройки контейнера, который будет работать как исполняемый файл.
Инструкция ENTRYPOINT
задает команду, которая будет выполняться при старте контейнера. Эта команда выполняется в той же оболочке, что и CMD
. Вы можете передать аргументы инструкции ENTRYPOINT
, которые будут переданы команде при ее выполнении.
Пример :
Это ENTRYPOINT
указание, что команда /usr/bin/java .
Вы также можете использовать инструкцию CMD
для предоставления аргументов по умолчанию для команды ENTRYPOINT
, например:
В приведенном выше примере при запуске контейнера он выполнит /usr/bin/python3 -m http.server 8080
.
Различные способы написания команд
CMD
- Формат оболочки -> CMD echo «привет»
- Формат исполняемого файла -> CMD ["эхо", "привет"]
ВХОДНАЯ ТОЧКА
- Формат оболочки -> ENTRYPOINT echo «hello»
- Формат исполняемого файла -> ENTRYPOINT ["эхо", "привет"]
Что такое docker-compose?
Предположим, что есть некоторая платформа с несколькими компонентами, поэтому на основе нескольких компонентов нам пришлось создать несколько файлов докеров для каждого компонента, поэтому с помощью docker compose мы можем создать один файл yaml для всех этих компонентов вместо создания нескольких докеров. файлы.
В основном он используется для интеграции нескольких контейнеров вместе для уменьшения сложности.
Пример: OTT-платформа Netflix содержит несколько компонентов.
Docker Compose — это инструмент для определения и запуска многоконтейнерных приложений Docker. Он позволяет вам определять службы, сети и тома вашего приложения в одном файле docker-compose.yml
, а затем запускать, останавливать и управлять этими службами с помощью одной команды docker-compose
.
Создание нескольких файлов докеров для разных компонентов невозможно, так как это создает проблемы при отладке и обработке проблем, а также создает сложность. В этом случае будет легко создать файл Docker-compose, который объединит все вместе и
отладку.
С Compose вы используете файл YAML для настройки служб вашего приложения. Затем с помощью одной команды вы создаете и запускаете все службы из вашей конфигурации.
Чтобы запустить приложение, вы можете использовать команду docker-compose up
.
Вы можете использовать docker-compose down
для остановки и удаления контейнеров, сетей, томов и образов, созданных docker-compose up
.
Вы также можете использовать docker-compose ps
для просмотра состояния служб, docker-compose logs
для просмотра журналов служб и docker-compose exec
для выполнения команды в работающем контейнере.
Пример :
У нас может быть Dockerfile в файле Docker-compose.
Используя метку depend_on, мы можем соединить вместе несколько служб, присутствующих в любом приложении, таких как интерфейс, серверная часть, база данных.
Что такое ГИТ?
Git — это система контроля версий, которая широко используется для разработки программного обеспечения и других задач контроля версий.
Git позволяет вам отслеживать изменения, внесенные в ваш код, а также сотрудничать с другими людьми над одной кодовой базой. Вы можете использовать Git для создания центрального репозитория кода, над которым могут работать несколько человек, и вы можете использовать Git для отслеживания различных версий вашего кода и объединения изменений, сделанных разными людьми, в одну версию.
С помощью Git вы также можете создавать «ветви» своего кода, что позволяет вам работать над новыми функциями или исправлениями ошибок изолированно, а затем объединять ваши изменения обратно в основную версию кода, когда вы будете готовы.
Это позволяет вам работать над несколькими функциями или исправлениями одновременно, не беспокоясь о том, что они будут мешать друг другу.
Что мы можем сделать с помощью git?
- Нажмите на изменения
- Потяните изменения
- Отменить изменения
- Объединить изменения
- Удалить версию
- Добавить новую версию
- Сбросить изменения
Гитхаб против Гитбаша
GitHub и Git Bash связаны с Git, но используются для разных целей.
GitHub — это веб-платформа для размещения и совместной работы над репозиториями Git.
GitHub — это веб-платформа, предоставляющая хостинг для репозиториев Git. Это позволяет вам хранить свой код в Интернете, делиться им с другими людьми и сотрудничать с другими над одной кодовой базой.
Git Bash — это интерфейс командной строки для взаимодействия с системой контроля версий Git. Он позволяет выполнять различные задачи, связанные с Git, такие как создание нового репозитория, внесение изменений и просмотр истории коммитов.
Git Bash можно установить в системах Windows, Linux и macOS, и он предоставляет пользователям среду, подобную Unix, для выполнения команд Git.
Что такое репозиторий?
В Git репозиторий — это каталог, содержащий все файлы проекта, а также историю изменений, внесенных в эти файлы.
Репозиторий может содержать несколько веток. Когда вы создаете новую ветку в репозитории, вы, по сути, создаете новую копию репозитория, которая начинается с того же места, что и ветка, из которой вы ее создали, но будет иметь свой собственный набор коммитов.
Эти ветки позволяют вам одновременно работать с разными версиями кода, а затем объединять их вместе, когда вы будете готовы.
Что мы можем сделать с помощью GIT CLI
- Инициализация нового репозитория: вы можете использовать команду «git init», чтобы инициализировать новый репозиторий в текущем каталоге.
- Добавление изменений: вы можете использовать команду «git add», чтобы внести изменения для фиксации.
- Фиксация изменений: вы можете использовать команду «git commit», чтобы сохранить эти изменения в репозиторий.
- Просмотр истории коммитов: вы можете использовать команду «git log» для просмотра истории коммитов репозитория.
- Управление ветвями: вы можете использовать команду «git branch» для просмотра списка ветвей в репозитории. А также используется для создания новых веток.
- Изменение веток: вы можете использовать команду «git checkout» для переключения между ветками.
- Проверка состояния: команда «git status» используется для просмотра текущего состояния репозитория, включая информацию о том, в какой ветке вы сейчас находитесь, какие файлы были изменены, но еще не зафиксированы, и какие файлы находятся в промежуточной области. .
- Получение справки: вы можете использовать команду «git help», чтобы получить справку по конкретной команде Git.
Если этот пост был полезен, подпишитесь и нажмите кнопку аплодисментов 👏 ниже, чтобы выразить свою поддержку 😄
_Спасибо, что прочитали💚
_Раджани 🌻✨