Ⅰ, Docker 单个运行容器及项目部署
一:mysql运行镜像配置:
docker run -p 3307:3306 --name mymysql -v $PWD/docker/mysql/conf:/etc/mysql/conf.d -v $PWD/docker/mysql/logs:/logs -v $PWD/docker/mysql/data:/mysql_data -e MYSQL_ROOT_PASSWORD=111111 -d mysql:5.6
二:redis运行镜像配置:
docker run -p 6380:6379 --name myredis -v $PWD/docker/redis/data:/data -d redis:3.2 --requirepass "111111" --appendonly yes
三:tomcat运行镜像配置:
注意:这里需要配置访问mysql,redis,配置访问数据库需要使用--link。否则部署的web应用程序通过ip访问不了mysql,redis
docker run --name tomcat -p 8080:8080 --link mymysql:db --link myredis -v $PWD/docker/webapps:/usr/local/tomcat/webapps -d tomcat
a:对应的db.properties配置文件
说明:db是自己另外起的别名,我们在--link mymysql:db也可以改为--link mymysql,效果是一样的,只是下面的链接地址db就改为mymysql
jdbc.url=jdbc:mysql://db:3306/dbname?useUnicode=true&characterEncoding=UTF-8
b:对应的redis.properties配置文件
#redis主机服务器IP地址
#redis.host=168.1.80.110
redis.host=myredis
#redis端口号
redis.port=6379
#redis设置key过期时间(单位:秒)
redis.expire=7200
#redis设置客户端与服务端链接超时时间(单位:秒)
redis.timeout=180000
#redis访问密码
redis.password=111111
Ⅱ docker compose up 容器中tomcat项目部署配置文件修改
注意:docker-compose.yml 中 tomcat 容器的links
links:
- redis40:shop_redis40 ## 别名web项目中配置文件中的redis.host地址 :redis容器名(container_name)
- mysql57:shop_mysql57 ## 别名web项目中配置文件中的mysql.url的ip地址:mysql容器名(container_name)
项目配置中application.properties
jdbc.url=jdbc:mysql://mysql57:3306/dbname?useUnicode=true......
redis.hosts=redis40:6379
获取容器内部的软连接的ip