四时宝库

程序员的知识宝库

docker-compose 使用技巧(二)(docker-compose -f)

docker-compose 使用技巧(二)

一:同段网络配置

docker 同段网络配置

1.去掉 /etc/docker/damon.json文件

2.创建网络

docker network create --subnet=172.18.0.0/16 docker1

创建一个 docker1 的网络 再 yml文件中指定

3.yaml文件中配置

version: "3"
services:
  service_ms_server:
    image: "ms-jdk8"
    networks:
      - docker1
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "/etc/timezone:/etc/timezone:ro"
      - "/data/hk_fat_ms/ms-app/app:/root/docker_workspace/app"
      - "/data/hk_fat_ms/logs:/logs"
      - "/data/hk_fat_ms/ops:/ops"
    restart: "always"
    working_dir: /root/docker_workspace/app
    #command: bash /root/docker_workspace/app/command.sh
    command: nohup java ${real_java_param_jvm} -Dserver.port=${container_port} -Dapp.id=${ms_app_id} -Dapollo.meta=${applo_meta_url} -Dtsf_consul_ip=${tsf_consul_ip} -Dtsf_consul_port=${tsf_consul_port} -Denv=${apollo_env_type} -jar ${java_file_name} &
          environment:
      LANG: "C.UTF-8"
 #15672:控制台端口号
    #5672:应用访问端口号
    ports:
      - "${host_port}:8080"

    #extra_hosts:
    #  - "test.sms.uu.cc:10.72.12.17"
    #  - "test.user:center.uu.cc:10.72.12.77"
    container_name: ${container_name}
networks:
  docker1:
    external: true


二:配置nginx案例

1 .env

container_name=container_idreamsky-microservice-nginx

host_port=80

container_port=80


2.docker-compose.yml

version: "3"
services:
  service_ms_nginx:
    image: "nginx"
    volumes:
      - "/data/compose/ms-webui/logs:/var/log/nginx"
      - "/data/compose/ms-webui/nginx:/etc/nginx"
      - "/data/compose/ms-webui/app/webui:/var/www"
    restart: "always"
    #command:  nginx  
    environment:
      LANG: "C.UTF-8"
    ports:
      - "${host_port}:80"
    container_name: ${container_name}


3.文件内容

app/webui/index.html

this is docker test by ledou


4.nginx/conf.d/meng.com.conf

server {
    listen      80;
    server_name meng.com;
    root        /var/www;
    index       index.html;
    access_log  /var/log/nginx/webui.access.log;
    error_log   /var/log/nginx/webui.error.log;
    #index       index.php index.html index.htm;
    #allow       218.18.232.228;
    #allow       210.21.221.18;
    #deny        all;
}


5.目录结构

6.启动服务(后台运行)

docker-compose up -d

Creating network "ms-webui_default" with the default driver

Creating container_idreamsky-microservice-nginx ... done

查看


7.停止服务

docker-compose down

Stopping container_idreamsky-microservice-nginx ... done

Removing container_idreamsky-microservice-nginx ... done

Removing network ms-webui_default


8.访问测试

三:配置java 服务

1:Dockerfile

#依赖的基础为centos 系统

FROM centos

RUN yum -y update && yum install -y vim curl

ADD jdk-8u71-linux-x64.rpm /usr/local/

RUN cd /usr/local/ && rpm -ivh jdk-8u71-linux-x64.rpm

RUN cd /usr/local/ && rm -f jdk-8u71-linux-x64.rpm

#设置java 相关的环境变量

ENV JAVA_HOME /usr/java/jdk1.8.0_71

ENV JAVA_BIN /usr/java/jdk1.8.0_71/bin

ENV JRE_HOME /usr/local/jdk1.8.0_71/jre

ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

ENV PATH $PATH:$JAVA_HOME/bin:$JRE_HOME/bin

ENV LANG C.UTF-8


#依赖的基础为ubuntu系统

FROM ubuntu:16.04

RUN apt-get update && apt-get install -y vim curl

ADD jdk1.8.0_191.tar.gz /usr/local/

#设置java 相关的环境变量

ENV JAVA_HOME /usr/local/jdk1.8.0_191

ENV JRE_HOME /usr/local/jdk1.8.0_191/jre

ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

ENV PATH $PATH:$JAVA_HOME/bin:$JRE_HOME/bin

ENV LANG C.UTF-8


2:ENV环境

.env

real_java_param_jvm=-Xms512M -Xmx1024M -Xss512k -Dtsf_application_id=a -Dtsf_group_id=b -Dapollo.bootstrap.enabled=true

ms_app_id=ms-stat

applo_meta_url=http://192.168.10.66

consul_ip=192.168.10.66

consul_port=8500

apollo_env_type=FAT

consul_discovery_ipAddress=192.168.10.66

java_file_name=ms-stats-0.0.1-SNAPSHOT.jar

container_name=container_idreamsky-microservice-stat

host_port=8081

container_port=8080


3:docker-compose.yml

version: "3"
services:
  service_ms_server:
    image: "ms-jdk8"
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "/etc/timezone:/etc/timezone:ro"
      - "./app:/root/docker_workspace/app"
      - "./logs:/logs"
      - "./ops:/ops"
    restart: "always"
    working_dir: /root/docker_workspace/app
    #command: bash /root/docker_workspace/app/command.sh
command: nohup java ${real_java_param_jvm} -Dserver.port=${container_port} -Dapp.id=${ms_app_id} -Dapollo.meta=${applo_meta_url} -Dtsf_consul_ip=${cons
ul_ip} -Dtsf_consul_port=${consul_port} -Denv=${apollo_env_type} -Dspring.cloud.consul.discovery.ipAddress=${consul_discovery_ipAddress} -Dspring.cloud.con
sul.discovery.port=${host_port} -jar ${java_file_name} &
    #command: nohup java ${real_java_param_jvm} -Dapp.id=${ms_app_id} -Dapollo.meta=${applo_meta_url} -Dtsf_consul_ip=${consul_ip} -Dtsf_consul_port=${cons
ul_port} -Denv=${apollo_env_type} -Dspring.cloud.consul.discovery.ipAddress=${consul_discovery_ipAddress} -Dspring.cloud.consul.discovery.port=${host_port}
 -jar ${java_file_name} >> start.log  2>&1 &
    environment:
      LANG: "C.UTF-8"

    #15672:控制台端口号
    #5672:应用访问端口号
    ports:
      - "${host_port}:8080"

    extra_hosts:
      - "test.sms.uu.cc:10.72.12.17"
      - "test.usercenter.uu.cc:10.72.12.77"
    container_name: ${container_name}

4:附属建立

/data/compose/ms-app

把文件放到 app目录中





发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接