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

相關文章
相關標籤/搜索