Как запустить докер контейнер linux

Изучаем Docker: Запускаем Docker-контейнер

Так же, как и Linux Линуса Торвальдса, Docker Соломона Хайкса случайно стал революцией в мире разработки. Соломон пытался найти решение для программистов, с помощью которого код работал бы одинаково, как при разработке, так и на продакшене, в результате чего и появились Docker-контейнеры. В этом уроке мы покажем вам, как запустить Docker-контейнер на вашем VPS , а также дадим некоторые дополнительные советы и команды.

Сегодня Docker является самой популярной платформой управления контейнерами.

Прокачайте ваш проект, воспользовавшись скидками на VPS-хостинг в Hostinger! Большой выбор планов, как для учебных, так и для крупных коммерческих проектов.

Объясняем Docker

На самом базовом уровне это решает проблему приложения, работающего на одной платформе, но не на других. Несмотря на то, что Docker-контейнеры присутствуют на протяжении всего цикла разработки программного обеспечения, его основное применение – в развёртывании.

Что Такое Docker-контейнер

Контейнеры Docker – это запущенные экземпляры образов Docker. Запуск образа создает Docker-контейнер. Образы являются некими шаблонами, которые можно использовать для создания контейнеров. Они содержат информацию о том, что требуется для создания контейнера. Образы могут храниться локально или удалённо. Если вам нужна помощь с установкой Docker, ознакомьтесь с нашими руководствами для CentOS 7 (анг.) или Ubuntu 18.04 .

Как Запустить Docker-контейнер

Помните, что перед запуском вам необходимо получить доступ к вашему VPS-серверу по SSH . Прочитайте наше руководство по PuTTY , если у вас возникли проблемы.

Чтобы получить список всех образов Docker в вашей системе, вы можете использовать команду:

Если вы хотите отобразить дополнительную информацию, введите в командной строке следующую команду:

У нас пока нет образов Docker в системе, поэтому давайте сначала выгрузим образ из реестра. Для этого перейдите в Docker Hub. Здесь вы можете найти сотни образов Docker. Мы выгрузим образ Ubuntu. Вы можете просмотреть страницу каждого образа для более подробной информации.

Мы можем выгрузить образ с помощью команды:

Вы можете заменить сотнями названий образов, которые находятся в Docker Hub, например CentOS, MySQL , mariaDB, Python и другими.

Опция -q перечислит только числовые ID изображений, доступных в вашей системе.

-f — флаг фильтра. Если бы мы хотели перечислить все необособленные (dangling) образы – не помеченные или те, на которые не ссылается контейнер – мы бы использовали команду:

Теперь, когда мы знаем, как получить и найти образ для запуска Docker-контейнера, мы можем приступить к работе.

Далее мы видим, как запустить образ. Запустив образ, мы фактически создаём контейнер из этого образа. Давайте запустим наш образ Ubuntu. Чтобы запустить Docker-контейнер, используйте команду:

Мы запустим образ Ubuntu. Так что команда будет выглядеть так:

Контейнер создан, но не запущен.

Для запуска контейнера мы используем команду:

Здесь -name MyContainer – это просто то, как мы хотим назвать запущенный процесс, а -it ubuntu bash – имя контейнера, который мы запускаем.

Читайте также:  Windows full disk encryption

Теперь мы можем открыть другое окно терминала, зайти на сервер по SSH и выполнить команду:

Откройте другой терминал, чтобы выполнить следующую команду.

Теперь мы видим, что контейнер с именем MyContainer запущен.

Чтобы остановить контейнер, выполните команду:

Если мы хотим увидеть верхний процесс контейнера, мы можем запустить команду:

Это будет выглядеть следующим образом:

Чтобы увидеть статистику контейнера, например загрузку ЦП, использование памяти и другое:

Наконец, если мы хотим уничтожить контейнер Docker:

Вот и всё, что нужно сделать. Теперь вы готовы запустить Docker-контейнер и использовать его!

Подводим Итоги

Docker – невероятно полезный инструмент для любого разработчика. Возможность бесшовного тестирования, развёртывания и разработки приложений – это удобство, способное экспоненциально ускорить рабочий процесс. В этом руководстве мы покажем, как запустить Docker-контейнер, а также некоторые другие команды, которые наверняка пригодятся.

Чтобы узнать больше, мы советуем ознакомиться с другими нашими руководствами или официальной документацией Docker !

Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.

Источник

Команда запуска Docker с примерами

Docker — это платформа, которая позволяет разрабатывать, тестировать и развертывать приложения в виде переносимых самодостаточных контейнеров, которые работают практически где угодно.

Команда docker run создает контейнер из заданного образа и запускает контейнер с помощью заданной команды. Это одна из первых команд, с которой вам следует ознакомиться, когда вы начнете работать с Docker.

В этой статье мы будем использовать официальный образ Nginx, чтобы показать различные способы запуска контейнера Docker.

Команда запуска Docker

Команда docker run имеет следующий вид:

Имя образа, из которого должен быть создан контейнер, является единственным обязательным аргументом для команды docker run . Если образ отсутствует в локальной системе, он извлекается из реестра.

Если команда не указана, команда, указанная в инструкциях CMD или ENTRYPOINT выполняется при запуске контейнера.

Начиная с версии 1.13, интерфейс командной строки Docker был реструктурирован. Все команды сгруппированы по объекту, с которым они взаимодействуют.

Поскольку команда run взаимодействует с контейнерами, это подкоманда docker container . Синтаксис новой команды следующий:

Старый синтаксис до 1.13 все еще поддерживается. Под капотом команда docker run — это псевдоним для docker container run . Пользователям рекомендуется использовать новый синтаксис команд.

Список всех параметров docker container run Docker можно найти на странице документации Docker .

Запустите контейнер на переднем плане

По умолчанию, если для команды docker run опция, корневой процесс запускается на переднем плане. Это означает, что стандартный ввод, вывод и ошибка корневого процесса присоединяются к сеансу терминала.

Вывод процесса nginx будет отображаться на вашем терминале. Поскольку нет подключений к веб-серверу, терминал пуст.

Чтобы остановить контейнер, завершите запущенный процесс Nginx, нажав CTRL+C

Запустите контейнер в автономном режиме

Чтобы контейнер продолжал работать при выходе из сеанса терминала, запустите его в автономном режиме. Это похоже на запуск процесса Linux в фоновом режиме .

Используйте параметр -d чтобы запустить отдельный контейнер:

Отсоединенный контейнер остановится после завершения корневого процесса.

Вы можете перечислить запущенные контейнеры с помощью команды docker container ls .

Чтобы прикрепить терминал к корневому процессу отсоединенного контейнера, используйте команду docker container attach .

Удалите контейнер после выхода

По умолчанию, когда контейнер закрывается, его файловая система сохраняется в хост-системе.

Читайте также:  Google drive или windows

Параметры —rm команде docker run удалить контейнер при автоматическом выходе:

Образ Nginx может быть не лучшим примером для очистки файловой системы контейнера после выхода из контейнера. Этот параметр обычно используется в контейнерах переднего плана, которые выполняют краткосрочные задачи, такие как тесты или резервное копирование базы данных.

Задайте имя контейнера

В Docker каждый контейнер идентифицируется своим UUID и именем. По умолчанию, если это не указано явно, имя контейнера автоматически генерируется демоном Docker.

Используйте параметр —name чтобы присвоить контейнеру собственное имя:

Имя контейнера должно быть уникальным. Если вы попытаетесь запустить другой контейнер с тем же именем, вы получите ошибку, подобную этой:

Запустите docker container ls -a чтобы docker container ls -a список всех контейнеров и увидеть их имена:

Значимые имена полезны для ссылки на контейнер в сети Docker или при выполнении команд CLI Docker.

Публикация контейнерных портов

По умолчанию, если порты не опубликованы, процесс, запущенный в контейнере, доступен только изнутри контейнера.

Публикация портов означает сопоставление портов контейнера с портами хост-компьютера, чтобы порты были доступны службам за пределами Docker.

Для публикации порта используйте следующие параметры -p :

  • Если host_ip не указан, по умолчанию используется 0.0.0.0 .
  • Если protocol не указан, по умолчанию используется TCP.
  • Чтобы опубликовать несколько портов, используйте несколько параметров -p .

Чтобы сопоставить TCP-порт 80 (nginx) в контейнере с портом 8080 на интерфейсе localhost хоста, вы должны запустить:

Вы можете убедиться, что порт опубликован, открыв http://localhost:8080 в браузере или выполнив следующую команду curl на хосте Docker:

Результат будет выглядеть примерно так:

Совместное использование данных (монтаж томов)

Когда контейнер остановлен, все данные, созданные контейнером, удаляются. Docker Volumes — это предпочтительный способ сохранить данные и совместно использовать их в нескольких контейнерах.

Для создания томов и управления ими используйте следующие параметры -p :

  • host_src может быть абсолютным путем к файлу или каталогу на хосте или именованному тому.
  • container_dest — это абсолютный путь к файлу или каталогу в контейнере.
  • Возможные варианты: rw (чтение-запись) и ro (только чтение). Если параметр не указан, по умолчанию используется rw .

Чтобы объяснить, как это работает, давайте создадим каталог на хосте и поместим в него файл index.html :

Затем смонтируйте каталог public_html в /usr/share/nginx/html в контейнере:

Вместо указания абсолютного пути к каталогу public_html мы используем команду $(pwd) , которая печатает текущий рабочий каталог .

Теперь, если вы введете http://localhost:8080 в своем браузере, вы должны увидеть содержимое файла index.html . Вы также можете использовать curl :

Интерактивный запуск контейнера

При работе с интерактивными процессами, такими как bash , используйте параметры -i и -t для запуска контейнера.

Параметр -it сообщает Docker, что стандартный ввод должен быть подключен к терминалу, и назначен псевдо-tty:

Оболочка Bash контейнера будет прикреплена к терминалу, и командная строка изменится:

Теперь вы можете взаимодействовать с оболочкой контейнера и запускать внутри нее любую команду.

В этом примере мы предоставили команду ( /bin/bash ) в качестве аргумента для команды docker run которая была выполнена вместо той, которая указана в файле Dockerfile.

Выводы

Docker — это стандарт упаковки и развертывания приложений, а также важный компонент CI / CD, автоматизации и DevOps.

Команда docker container run используется для создания и запуска контейнеров Docker.

Если у вас есть вопросы, оставьте комментарий ниже.

Источник

Как установить Docker и запустить Docker контейнеры в Ubuntu

Docker – это общедоступная и популярная технология виртуализации на уровне операционной системы (обычно называемая «контейнеризацией»), которая в основном работает на Linux и Windows.

Читайте также:  Не могу установить windows с флешки через bootcamp

Docker упрощает создание, развертывание и запуск приложений с использованием контейнеров.

С помощью контейнеров разработчики (и системные администраторы) могут упаковать приложение со всем необходимым для его запуска – кодом, средой выполнения, библиотеками, переменными среды и файлами конфигурации и отправить все это в виде одного пакета.

Да, это так здорово!

В этой статье мы покажем вам, как установить Docker CE (Community Edition), создать и запустить контейнеры Docker в дистрибутиве Ubuntu.

Установка Docker CE (Community Edition) в Ubuntu

1. Чтобы установить Docker CE, сначала необходимо удалить более старые версии Docker, называемые docker, docker.io или docker-engine, из системы с помощью следующей команды:

2. Затем вам нужно настроить репозиторий Docker для установки и обновления Docker из репозитория с помощью следующих команд.

3. Обновите индекс пакетов через apt и установите последнюю версию Docker CE, используя следующие команды.

4. После успешной установки пакета Docker CE служба должна быть автоматически запущена и автоматически включена на запуск при загрузке системы.

Вы можете проверить его состояние с помощью следующей команды.

5. Наконец, убедитесь, что Docker CE установлен правильно, запустив образ hello-world.

Изучите основные команды Docker в Ubuntu

6. Чтобы получить информацию о Docker, выполните следующую команду.

7. Чтобы получить информацию о версии Docker, выполните следующую команду.

8. Чтобы получить список всех доступных команд Docker, запустите Docker на своем терминале.

Загрузите образ Docker в Ubuntu

9. Для запуска контейнера Docker сначала необходимо загрузить образ из Docker Hub – предоставляет бесплатные образа из его репозиториев.

Например, чтобы загрузить образ Docker с именем CentOS 7, введите следующую команду.

10. После того, как вы определили, какой образ вы хотите запустить в соответствии с вашими требованиями, загрузите его локально, выполнив следующую команду (в этом случае загружается и используется образ CentOS).

11. Чтобы просмотреть список всех доступных образов Docker на вашем хосте, выполните следующую команду.

12. Если вам больше не нужен образ Docker, и вы можете удалить его, используя следующую команду.

Запустите Docker-контейнер в Ubuntu

13. Чтобы создать и запустить контейнер Docker, сначала необходимо запустить команду в загруженном образе CentOS, поэтому основной командой будет проверка файла версии распространения внутри контейнера с помощью команды cat, как показано.

14. Чтобы снова запустить контейнеры, сначала вам нужно получить идентификатор или имя контейнера, выполнив следующую команду, которая отобразит список запущенных и остановленных контейнеров:

15. После получения идентификатора или имени контейнера вы можете запустить контейнер с помощью следующей команды:

Здесь строка 0ddfa81c5779 представляет идентификатор контейнера, аastic_shirley представляет имя контейнера.

16. Чтобы остановить запущенный контейнер, запустите команду docker stop, указав идентификатор контейнера или имя.

17. Более лучший способ, чтобы вам не нужно было запоминать идентификатор контейнера, – это определить уникальное имя для каждого контейнера, который вы создаете, используя опцию –name, как показано.

18. Чтобы подключить и запустить команды Linux в контейнере, введите следующую команду.

19. Чтобы выйти и вернуться к хосту из сеанса работающего контейнера, вы должны ввести команду exit, как показано ниже

Это все для основных манипуляций с контейнерами.

Если у вас есть какие-либо вопросы или комментарии по поводу этой статьи, используйте форму обратной связи ниже, чтобы связаться с нами.

Источник

Оцените статью