How to run SQL server in a Docker container
Оглавление:
Подключение к работающему контейнеру Docker полезно, когда вы хотите увидеть, что происходит внутри контейнера. Если контейнер Docker не работает должным образом, вы можете присоединиться к контейнеру или получить оболочку для контейнера и запустить такие команды, как
ps
или
top
. Вы также можете войти в контейнер, установить новые пакеты и создать из него новый образ Docker.
В этом руководстве мы объясним, как подключиться к основному процессу выполнения контейнера и как получить оболочку для работающего контейнера.
Присоединить к контейнеру
Хотя в контейнере можно запускать несколько процессов, большинство контейнеров Docker запускают только один процесс. Команда, которая выполняется при запуске контейнера, указывается с помощью
ENTRYPOINT
и / или
RUN
.
Команда
docker attach
позволяет вам подключить ваш терминал к работающему контейнеру. Это полезно, когда вы хотите видеть, что написано в стандартном выводе в режиме реального времени, или контролировать процесс в интерактивном режиме.
Чтобы лучше понять, как работает команда
attach
давайте запустим новый отдельный контейнер Nginx, используя официальный образ Nginx.
docker container run --name my_nginx -d -p 8080:80 nginx
Опция
-p 8080:80
указывает Docker связать порт 8080 контейнера с портом 80 на хост-компьютере.
Перечислите контейнеры, чтобы убедиться, что контейнер my_nginx работает:
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8e1c4974a8d8 nginx "nginx -g 'daemon of…" 3 minutes ago Up 2 seconds 0.0.0.0:8080->80/tcp my_nginx
Присоедините к контейнеру, используя идентификатор или имя контейнера:
docker container attach my_nginx
Команда по умолчанию для образа nginx, которая выполняется при запуске контейнера, установлена в
CMD
. Когда вы запускаете команду
attach
ваш терминал подключается к процессу
nginx
.
Откройте
127.0.0.1:8080
в своем браузере, и вы сможете наблюдать результаты процесса nginx в режиме реального времени.
192.168.33.1 - - "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36" "-" 192.168.33.1 - - "GET /favicon.ico HTTP/1.1" 404 555 "http://192.168.33.71:8080/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36" "-"
Чтобы получить доступ к журналам контейнеров, вы должны использовать команду
docker logs
.
Чтобы отсоединиться от контейнера, не останавливая его, используйте комбинацию
CTRL-p
CTRL-q
. Нажатие
CTRL-c
останавливает контейнер.
Если запущенные процессы, к которым вы подключаетесь, принимают ввод, вы можете отправить ему инструкции.
Получить снаряд в контейнер
Команда
docker exec
позволяет запускать команды внутри работающего контейнера.
Чтобы увидеть, как работает команда
exec
и как ее можно использовать для входа в оболочку контейнера, сначала запустите новый контейнер. Мы будем использовать официальный образ MySQL:
docker container run --name my_mysql -d mysql
Это создаст контейнер с именем «my_mysql».
Чтобы выполнить команду внутри контейнера, выполните следующую команду:
docker container exec -it my_mysql ls /var
Параметр
-i
обозначает интерактивный, а
-t
указывает Docker выделить псевдо-устройство TTY. Команда
ls
выведет список всех файлов и каталогов в каталоге контейнера
/var
:
backups cache lib local lock log mail opt run spool tmp
Чтобы получить оболочку в контейнер, т. Е. Войти внутрь контейнера, запустите новый сеанс оболочки, выполнив двоичный файл оболочки. Вы можете использовать
sh
,
bash
или любую другую оболочку, которая включена в изображение.
Команда ниже создаст новый сеанс Bash внутри контейнера:
docker container exec -it my_mysql /bin/bash
Ваша командная строка изменится, показывая, что вы сейчас работаете над оболочкой контейнера.
Отсюда вы можете запускать команды так же, как и на любом другом сервере Linux. Например, чтобы получить список текущих переменных среды, введите
env
:
env
Вывод будет выглядеть примерно так:
HOSTNAME=e0214d97e0fe MYSQL_ROOT_PASSWORD=my-secret-pw PWD=/ HOME=/root MYSQL_MAJOR=8.0 GOSU_VERSION=1.7 MYSQL_VERSION=8.0.17-1debian9 TERM=xterm SHLVL=1 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin _=/usr/bin/env
Вывод
Команды
docker exec
и
docker attach
позволяют вам подключаться к работающему контейнеру. Чтобы получить интерактивную оболочку для контейнера, используйте команду
exec
для запуска нового сеанса оболочки. Команда
attach
присоединяет ваш терминал к работающему контейнеру.
Как найти и подключиться к скрытым сетям Wi-Fi в Windows 10
Что такое скрытая сеть Wi-Fi или скрытый SSID? Как найти и подключиться к скрытым сетям Wi-Fi в Windows 10? Как сделать вашу беспроводную сеть скрытой? Это сообщение отвечает на все такие вопросы.
Как подключиться к пользовательскому бесплатному VPN на вашем компьютере
Узнайте, как подключиться к бесплатной услуге VPN на вашем Mac, и наслаждайтесь контентом со всего мира, даже если он ограничен в вашей стране.
Как подключиться к серверу ftp через macfusion - путеводитель
Узнайте, как подключиться к FTP-серверу в Mac прямо из Finder через Macfusion.







