zoukankan      html  css  js  c++  java
  • docker 容器互联

    使用网络方式使容器互联

    数据库使用两个别名 db mysql

    docker network create -d bridge my-bridge-network   # 创建一个网络
    docker run -itd --name mariadb --env MYSQL_ROOT_PASSWORD=example
    --network=my-bridge-network --network-alias=db --network-alias=mysql mariadb # 启动数据库

    docker run -itd --name MyWordPress --network=my-bridge-network --network-alias=lap -p 80:80 wordpress # 启动应用

     

    直接使用命令 --link

    docker run --name db --env MYSQL_ROOT_PASSWORD=example -d mariadb    启动数据
    docker run --name MyWordPress --link db:mysql -p 80:80 -d wordpress  启动 LAP

    使用网络

    version: '2'
    services:
      web:
        image: http
        networks:
          - myappnet1
      worker:
        image: http
        networks:
          - myappnet2
      db:
        image: http
        networks:
          myappnet1:
            aliases:
              - database
          myappnet2:
            aliases:
              - mysql
    networks:
      myappnet1:
      myappnet2:



     

    使用links

    
    version: '2'
    services:
     web:
      image: http
      container_name: web
      depends_on:
       - db
      ports:
       - "9090:80"
      links:
       - db:mysql
       - db:databases
     db:
      image: mariadb
      container_name: db
      environment:
        MYSQL_ROOT_PASSWORD: somewordpress
        MYSQL_DATABASE: wordpress
        MYSQL_USER: wordpress
        MYSQL_PASSWORD: wordpress
    version: '2'
    services:
      web:
        image: lap
        container_name: web
        restart: always
        depends_on:
          - db
        ports:
          - "80:80"
        networks:
          - mynet
        volumes:
          - /etc/localtime:/etc/localtime:ro
          - /home/www:/var/www
      db:
        image: mariadb
        container_name: db
        restart: always
        networks:
          mynet:
            aliases:
              - mysql
              - db
              - database          
        environment:
          MYSQL_ROOT_PASSWORD: example
        volumes:
          - /etc/localtime:/etc/localtime:ro
          - /home/mysql/data:/var/lib/mysql
    networks:
      mynet:
    version: '3'
    
    services:
       db:
         image: mysql:5.7
         container_name: db
         restart: always
         networks:
           mynet:
         environment:
           MYSQL_ROOT_PASSWORD: somewordpress
           MYSQL_DATABASE: wordpress
           MYSQL_USER: wordpress
           MYSQL_PASSWORD: wordpress
    
       wordpress:
         depends_on:
           - db
         image: wordpress:latest
         container_name: wordpress
         networks:
           mynet:
         restart: always
         ports:
           - "8000:80"
         environment:
           WORDPRESS_DB_HOST: db:3306
           WORDPRESS_DB_USER: wordpress
           WORDPRESS_DB_PASSWORD: wordpress
    
    networks:
      mynet:


    作者:Outsrkem
    出处:https://www.cnblogs.com/outsrkem/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    JBoss下配置数据源加密
    线程返回值的方式介绍
    @Async java 异步方法
    spring 源码下载地址
    springmvc maven 入门及页面拿不到controller的值 显示${message} el表达式不起作用
    mysql常用函数
    eclipse 开发常见问题集锦
    linux 常用命令及零散知识
    js一些注意事项
    liunx 免密登录远程主机
  • 原文地址:https://www.cnblogs.com/outsrkem/p/12081072.html
Copyright © 2011-2022 走看看