docker两个容器相连(工程连接到数据库)

数据库启动(mysql)

镜像拉取,默认lastest

docker pull mysql

启动

  • 名称mysql
  • 映射主机访问端口3307,内部端口3306
  • root密码1234
  • 数据卷位置/Users/wangwei/Documents/develop/mysqlData
  • 设置编码
docker run --name mysql -p 3307:3306 -v /Users/wangwei/Documents/develop/mysqlData:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234 -d mysql:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

容器信息

  • 通过docker ps命令查看启动的MySQL信息
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
20724507e226 mysql:latest "docker-entrypoint..." 21 hours ago Up About an hour 0.0.0.0:3307->3306/tcp mysql

工程

前提

  • 因为连接了mysql数据库,所以启动工程前需先启动mysql容器

启动

  • 名称coupon
  • 映射主机端口80,内部端口80
  • 连接mysql:mysql(容器名:别名)
docker run  -p 80:80 --link mysql:mysql --name coupon -d registry.cn-hangzhou.aliyuncs.com/wangwei885/coupon:1.0.0 

连接数据库说明

  • 域名需使用连接的容器的别名(即上述所提的mysql:mysql中的第二个mysql),端口需使用镜像内部开放端口(即3306而非3307)
  • 工程中数据库配置为:
//域名mysql为容器别名,端口3306为内部端口
url: jdbc:mysql://mysql:3306/coupon?useUnicode=true&characterEncoding=utf-8
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容