1.分别pull mysql、redis的镜像
docker pull redis
docker pull mysql:5.7
可以先分别把这两个镜像跑起来
启动mysql容器,记住要自定义运行的镜像名,就是加 --name
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin123 mysql:5.7
/*
-d 后台运行
--name 运行的容器名,这个很重要,我们一定要写一个简单的名字,方便用
-p 端口映射
-e 配置参数,不是每个容器都需要,这是mysql指定的,初始化root账户密码
启动redis容器,都要加--name
docker run -d --name redis -p 6379:6379 redis
2.创建Bridge network
docker network create bridge-net //bridge-net 是我自己命名的
3.修改自己程序的连接配置
大家应该看到了,这里的连接地址不是127.0.0.1之类的ip地址,而是我们mysql容器的--name ,这也是为什么我说要加--name的原因,如果不加他会随机生成,太麻烦
redis也是一样的
4.打包自己的应用镜像跑起来
docker build -t moden.api:v1 . //后面有点(.)符号的
//
-t 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
镜像做好之后就来启动镜像了
docker run -d --name moden.api --network bridge-net -p 80:80 moden.api:v1
//
--network 这个就是我们搭建的桥接网络名
5.最后一步,其实这一步是可以没有的我只是为了让大家明白桥接网络是这么回事,所以留了一步,算是坑吧
docker network connect bridge-net mysql
docker network connect bridge-net redis
现在就大功告成了。其实这一步也不是坑,只是告诉大家一个接入方式而已,如果你已经提前部署好了redis、mysql或者其他服务,你不需要重启容器也可以接入桥接网络
docker run -d --name mysql --network bridge-net -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin123 mysql:5.7
在启动容器是加入--network 标注跟后面接入其实是一样的。
到此结束。