数据库启动(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