docker-compose简单使用

docker-compose.yaml:html

nginx:
    image: nginx
    links:
        - tomcat
    ports:
        - "80:80"
    volumes:
        - /root/conf:/etc/nginx/conf.d:ro
tomcat:
    image: tomcat:8.5
    links:
        - mysql
    volumes:
        - /root/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml
        - /root/manager.xml:/usr/local/tomcat/conf/Catalina/localhost/manager.xml
mysql:
    image: mysql
    volumes:
        - /opt/data:/var/lib/mysql
        - /root/codepad.sql:/docker-entrypoint-initdb.d/codepad.sql
    environment:
        - MYSQL_ROOT_PASSWORD=xxxxxx


注意tomcat的manager默认只有本机能访问,若是须要非本机访问的,须要配置manager.xml,否则访问tomcat控制台会报403,位置在:$CATALINA_BASE/conf/[enginename]/[hostname] ,内容以下:java

<Context privileged="true">
         <Valve className="org.apache.catalina.valves.RemoteAddrValve"
                allow=".*"/>
</Context>

启动docker container:mysql

docker-compose up -d

java代码中链接数据库,字符串写法为:nginx

url=jdbc:mysql://${MYSQL_PORT_3306_TCP_ADDR}:3306/codepad?useUnicode=true&amp;characterEncoding=UTF-8

MYSQL_PORT_3306_TCP_ADDR是mysql container的ip地址,intellij idea 本地运行时得在run/debug窗口事先配置好.sql


参考文档见:docker

  1. tomcat manager 配置shell

  2. docker-compose文档数据库

  3. mysql docker containerapache

  4. nginx docker containertomcat

  5. tomcat docker container

相关文章
相关标签/搜索