docker static ip address - docker 静态IP

docker static ip 在访问 mysql 的时候将非常有用,比如 mysql 指定了ip,docker 静态IP主要是通过自定义网络来实现,而如果需要访问数据库,最好的办法是使用 --link 链接docker 容器,然后在应用里使用链接名称。

综上述,如果需要指定 IP 则需要先自定义网络,然后创建的时候指定网络,如果需要使用 mysql 则还需要 --link 选项,下面我们进入主题。

docker 自定义网络

docker network create --subnet=172.27.0.0/16 dockerNetwork

上述命令创建了一个自定义的网络,名称为 dockerNetwork,ip 范围为 172.27.0.1 - 172.27.255.254 ,下面我们创建 docker 容器,并分配网络。

docker 静态 IP 地址 - docker static ip address

docker run --name yerbe-api -p 5000:3000 --link mysql:mariadb --network dockerNetwork --ip 172.27.1.10 -itd node sh /usr/local/bin/start.sh

这里,创建了一个名字为 yerbe-api 的容器,并把主机的 5000 端口绑定到该容器的 3000 端口,然后把它和 名为 mysql 的容器链接,这里 mysql 是已存在的容器名,mariadb 是别名。接着指定了网络为 dockerNetwork,ip 为 172.27.1.10 ,最后的 sh /usr/local/bin/start.sh 是该容器启动后执行的命令。

关于 docker 的博客,你可以参考:https://www.kpromise.top/?s=docker

docker --link 的使用

如上,我创建的容器 yerbe-api 链接到了 mysql 容器,别名为 mariadb,接着,在 yerbe-api 容器里可以通过 host: mariadb 端口 3306 以及 用户名密码链接数据库了,前提是 mysql 容器创建了用户、数据库并合理的授权了,比如:

grant all privileges on yerbe_web.* to 'yerbe'@'172.27.1.10' identified by '123456';

以后就可以通过 host: mariadb、用户名 yerbe  密码  123456 以及 databases yerbe_web 来连接数据库了。

本博客若无特殊说明则由 full-stack-trip 原创发布
转载请点名出处:编程生涯 > docker static ip address - docker 静态IP
本文地址:https://www.kpromise.top/docker-static-ip-address/

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注