Dockerdocker&Jkenkis&mavenJava

docker 部署java环境以及常用应用(持续更新)

2018-08-27  本文已影响652人  Learn_Java

使用场景

本地、测试、生产环境使用一致的环境,不会导致本地与线上环境的差异.轻量级的docker可以满足.

前置条件

在安装应用之前需要安装docker.笔者是在vmware中安装的docker,因为迁移会比较方便

使用docker-compose编排安装应用

前置条件已经安装了docker docker-componse.如何安装自行百度.
安装常用应用

  1. 新建docker-componse.yml

volumes为挂载的目录,目的是为了让你修改的文件保存在你的本地目录中.这样容器删了就不会丢失数据.这个例子中我挂在的目录为/home/mac/docker/volumes/....这个目录可以自行修改

version: "2"

services:
    db:
      image: mysql/mysql-server:5.7.21
      ports:
        - "3306:3306"
      environment:
        MYSQL_ROOT_PASSWORD: "zxcv1234"
        MYSQL_ROOT_HOST: "%"
        TZ: Asia/Shanghai
      volumes:
        - "/home/mac/docker/volumes/mysql-5.7.21/datadiri:/var/lib/mysql"
      container_name: docker_mysql

    tomcat:
      image: dordoka/tomcat
      ports:
        - "9001:8080"
      environment: 
         TZ: Asia/Shanghai
      volumes:
        - "/home/mac/docker/volumes/tomcat/webapps:/opt/tomcat/webapps"
        - "/home/mac/docker/volumes/tomcat/logs:/opt/tomcat/logs"
      container_name: docker_tomcat

    docker-ui:
      image: uifd/ui-for-docker
      ports:
        - "9000:9000"
      volumes:
        - "/var/run/docker.sock:/var/run/docker.sock"
      container_name: docker_ui

    nginx:
       image: daocloud.io/nginx
       ports:
         - "12000:80"
       environment: 
         TZ: Asia/Shanghai  
       volumes:
         - "/home/mac/docker/volumes/nginx/default.conf:/etc/nginx/conf.d/default.conf"
       container_name: docker_nginx

    jenkins:
       image: jenkins/jenkins:lts
       ports:
         - "12002:8080"
         - "12003:50000"
       environment:
         TZ: Asia/Shanghai
       volumes:
         - "/home/mac/docker/volumes/jenkins:/var/jenkins_home"
       container_name: docker_jenkins

    redis:
      image: redis:3.2
      ports:
        - "6379:6379"
      environment:
        TZ: Asia/Shanghai
      volumes:
        - "/etc/localtime:/etc/localtime"
      container_name: docker_redis
  1. cd 到 docker-componse.yml, 执行docker-compose up -d --no-recreate

  2. 执行完毕,查看docker运行状态
    docker-compose ps

          Name                        Command               State                         Ports
---------------------------------------------------------------------------------------------------------------------
docker_jenkins             /sbin/tini -- /usr/local/b ...   Up      0.0.0.0:12003->50000/tcp, 0.0.0.0:12002->8080/tcp
docker_mysql               /entrypoint.sh mysqld            Up      0.0.0.0:3306->3306/tcp, 33060/tcp
docker_nginx               nginx -g daemon off;             Up      0.0.0.0:12000->80/tcp
docker_redis               docker-entrypoint.sh redis ...   Up      0.0.0.0:6379->6379/tcp
docker_tomcat              /opt/tomcat/bin/catalina.s ...   Up      8009/tcp, 0.0.0.0:9001->8080/tcp
docker_tomcat_cloud_rbac   /opt/tomcat/bin/catalina.s ...   Up      8009/tcp, 0.0.0.0:9003->8080/tcp
docker_ui                  /ui-for-docker                   Up      0.0.0.0:9000->9000/tcp

测试应用是否都安装成功

因为我的docker是安装在本地虚拟机的linux系统上,首先查看虚拟机的ip地址172.16.217.128

虚拟机ubuntu ip地址.png

docker_ui

端口9000
访问http://172.16.217.128:9000.查看是否安装完成

image.png
页面能够正常访问,测试通过

jenkins

端口12002
访问http://172.16.217.128:12002.查看是否安装完成

jenkins.png
页面能够正常访问,测试通过

mysql

---
ip: 172.16.217.128
端口: 3306
账号: root
密码: zxcv1234
---

ps: 账号密码是在上文中的docker-componse.yml中设置的

使用数据库连接工具navicat(可以选择自己的连接工具,我这里使用这个)

image.png image.png

数据库能够正常访问,测试通过

nginx

端口12000
访问http://172.16.217.128:12000.查看是否安装完成

image.png

页面能够正常访问,测试通过

redis

端口6379
访问redis,查看是否安装完成

image.png
redis正常访问,测试通过

tomcat

端口9001
访问http://172.16.217.128:9001.查看是否安装完成

image.png
tomcat正常访问,测试通过
上一篇下一篇

猜你喜欢

热点阅读