Рубрики
Uncategorized

Docker Training 3 — Мое первое развертывание докера

Давайте повторимся, где мы до сих пор. Мы прошли некоторые основы Dockerfile. Поговорил немного … Теги с Docker, DevOps, учебником.

Докер-тренинг (6 части серии)

Давайте повторимся, где мы до сих пор. Мы прошли некоторые основы Dockerfile. Поговорил немного о некоторых основных командах, которые пригодятся, когда мы продолжим. Написал DockerFile, чтобы построить наш маленький Golang API. Наконец мы создали изображение и обсудили теги.

Docker Run.

Так что давайте развертываем это изображение и немного играйте с ним. Откройте терминал и введите эту команду.

$ docker run --publish 127.0.0.1:8080:10000/tcp helloFromIntegratnIO

Давайте выйдем через эту команду 1 кусок за раз.

Docker Run. : Здесь мы говорим Docker CLI, который мы хотим Беги изображение в качестве контейнера.

-публиковать : Опубликовать Будет связывать локальный порт в порт в контейнере.

127.0.0.1 : Удерживает нас только на месте localhost, поэтому наш контейнер не будет доступен за пределами нашей машины.

: 8080 : Является ли локальный порт на нашем хозяине, что мы обязательно для : 10000 : это порт внутри контейнера, который мы хотим 8080 осимлять.

/TCP : Является ли протокол, который мы хотим использовать. Вы также можете использовать удп или SCTP если нужно. Вы можете узнать больше об этом в Гид пользователя

Если вы еще не попали в Engle. Идите вперед и удалите его сейчас и отставьте эту команду Docker Run.

Вы должны увидеть следующий вывод.

$ docker run -p 127.0.0.1:8080:10000/tcp helloFromIntegratnIO
Starting Web Server
Preparing to handle requests
Ready for requests

Давайте посмотрим, работает ли это.

Откройте второй терминал и введите:

$ curl localhost:8080

Выход:

$ curl localhost:8080
Hello from Integratn.IO!!!

Теперь мы готовим. Но Что еще мы можем сделать с этим маленьким контейнером.

Давайте изменим ответ от запроса скручиваемости. Мы можем сделать это, передавая переменную среды в контейнер. Мы можем сделать это одним из двух способов. Мы можем редактировать файл Docker. Добавьте Env Инструкция. Скажи это, мы хотим СООБЩЕНИЕ равен что-то другое. Восстановить наш образ. Затем наконец запустите его снова. Это отличный способ установления значений по умолчанию для переменных среды. Или мы можем добавить параметр —env со значением для нашего Docker Run Команда и измените его на лету. Переменные среды прошли во время Docker Run Команда всегда будет превосходить то, что в вашем докерене. Если вы не выступили, контейнер уже ударил Ctrl + C Чтобы выйти из контейнера от терминала.

Давайте запустим следующую команду:

docker run --env MESSAGE="Hello from outerspace" -p 127.0.0.1:8080:10000/tcp helloFromIntegratnIO

Теперь в другом терминале давайте снова использовали это выписку CURL.

$ curl localhost:8080
Hello from outerspace

Посмотри на это. Мы изменили ответ с переменной среды.

Docker Exec.

Давайте посмотрим на Docker Exec команда пока наш контейнер работает. Docker Exec позволяет нам запустить команды внутри нашего контейнера, пока его уже работает. Это может быть очень удобно для отладки контейнера. Но сначала мы должны выяснить, какой наш контейнер назван.

Давайте посмотрим на наш бегущий контейнер с командой, которую мы покрыты урок 1:

$ docker ps

Вы получите выход, похожий на это, но ваш Имена поле не будет таким же.

$ docker ps                     
CONTAINER ID   IMAGE              COMMAND           CREATED         STATUS         PORTS                       NAMES
56290825f889   helloFromIntegratnIO   "/go/bin/hello"   2 minutes ago   Up 2 minutes   127.0.0.1:8080->10000/tcp   hungry_bohr

Теперь, когда мы нашли наш бегущий контейнер. Давайте использовать имя контейнера и выполнить оболочку, чтобы попасть в наш контейнер.

docker exec --interactive --tty hungry_bohr /bin/sh

Выход:

$ docker exec --interactive --tty hungry_bohr /bin/sh
/go/src/integratnio/go-rest-api # 

Этот путь выглядит знакомым? Это тот же путь, который мы устанавливаем для Workdir в Dockerfile. Мы находимся в оболочке контейнера. Тип Выход и ударил Введите покинуть контейнер.

Давайте посмотрим на команду Real быстро.

Docker Exec это базовая команда. Это объявляет, что мы хотим выполнить что-то против бегового контейнера. --interactive будет держать stdin открыть, даже если мы не прикреплены. --Тти дает нам псевдотворный. Hungry_BOR это название моего бегового контейнера. Твои будут отличаться. /bin/штерива Это команда, которую мы хотим работать в контейнере. Одно предостережение к этому. Что бы вы ни беги против контейнера, на самом деле должны быть частью контейнера. В попытке обрезать контейнеры с точки зрения множества контейнеров, которые не имеют команды оболочки.

Так что теперь мы провели наш контейнер. Мы работаем в наш контейнер, чтобы мы могли его исследовать. Это это за это время. Подготовьтесь в следующий раз, когда у нас будет краткое разведка в контекст сборки.

Докер-тренинг (6 части серии)

Оригинал: «https://dev.to/jamesatintegratnio/docker-training-3-my-first-docker-deployment-4m92»