Статья MS
Статья infostart
Запустить образ контейнера (и присвоить ему имя sql1)docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=' -p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2017-latest
Запустить образ контейнера (и присвоить ему имя sql2) с пробросом контейнера в нашу сеть(?)
docker run -d --network host --name sql2 -e 'SA_PASSWORD=' -e ACCEPT_EULA=Y mcr.microsoft.com/mssql/server:2017-latest
Просмотр контейнеров
docker ps -a
Запуск интерактивной оболочки bash внутри запущенного контейнераdocker exec -it sql1 "bash"
Командная строка SQL/opt/mssql-tools/bin/sqlcmd -S localhost -U SA
ctrl-D
Узнать состояние порта на сервере при помощи PowerShell
server="yourserver"; $port=1433; echo ((new-object Net.Sockets.TcpClient).Connect($server,$port)) "$server is listening on TCP port $port";
yourserver - может быть и именем и IP
Получить IP-адрес контейнера Docker
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' sql1
Перевод статьи
Использовать сеть хоста
Много команд тут
Полное практическое руководство по Docker: с нуля до кластера на AWS
Сети Docker изнутри: как Docker использует iptables и интерфейсы Linux
Назначить статический IP-адрес контейнера Docker
Статья infostart
Запустить образ контейнера (и присвоить ему имя sql1)docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=
Запустить образ контейнера (и присвоить ему имя sql2) с пробросом контейнера в нашу сеть(?)
docker run -d --network host --name sql2 -e 'SA_PASSWORD=
docker ps -a
Запуск интерактивной оболочки bash внутри запущенного контейнераdocker exec -it sql1 "bash"
Командная строка SQL/opt/mssql-tools/bin/sqlcmd -S localhost -U SA
ctrl-D
Узнать состояние порта на сервере при помощи PowerShell
server="yourserver"; $port=1433; echo ((new-object Net.Sockets.TcpClient).Connect($server,$port)) "$server is listening on TCP port $port";
yourserver - может быть и именем и IP
Получить IP-адрес контейнера Docker
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' sql1
Перевод статьи
Использовать сеть хоста
Если вы используете
host
сетевой драйвер для контейнера, сетевой стек этого контейнера не изолирован от хоста Docker. Например, если вы запускаете контейнер, который привязывается к порту 80 и вы используете host
сеть, приложение контейнера будет доступно на порту 80 на IP-адресе хоста.
Драйвер сетевого хоста работает только на узлах Linux и не поддерживается в Docker для Mac, Docker для Windows или Docker EE для Windows Server.
В Docker 17.06 и выше вы также можете использовать
host
сеть для службы роя, перейдя --network host
к docker container create
команде. В этом случае управляющий трафик (трафик, связанный с управлением роем и службой) по-прежнему отправляется через оверлейную сеть, но отдельные контейнеры службы роуминга отправляют данные с помощью хост-сети и портов Docker-daemon. Это создает некоторые дополнительные ограничения. Например, если контейнер обслуживания связывается с портом 80, только один контейнер обслуживания может запускаться на заданном узле рой.
Если ваш контейнер или служба не публикует никаких портов, network host не влияет.
Много команд тут
Полное практическое руководство по Docker: с нуля до кластера на AWS
Сети Docker изнутри: как Docker использует iptables и интерфейсы Linux
Назначить статический IP-адрес контейнера Docker
Комментариев нет:
Отправить комментарий