当前位置: 首页 > 编程笔记 >

docker-compose 如何使用默认网络创建基本的LAMP环境

卫宏硕
2023-03-14
本文向大家介绍docker-compose 如何使用默认网络创建基本的LAMP环境,包括了docker-compose 如何使用默认网络创建基本的LAMP环境的使用技巧和注意事项,需要的朋友参考一下

示例

docker-compose.yml

version: '2'
services:
  php:
     image: phpmyadmin/phpmyadmin
     links:
       - mysql:db
     depends_on:
       - mysql

  mysql:
    image: k0st/alpine-mariadb
    volumes:
      - ./data/mysql:/var/lib/mysql
    environment:
      - MYSQL_DATABASE=mydb
      - MYSQL_USER=myuser
      - MYSQL_PASSWORD=mypass 

  nginx:
    image: nginx:stable-alpine
    ports:
      - "81:80"
    volumes:
      - ./nginx/log:/var/log/nginx
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
    depends_on:
      - php

nginx / nginx.conf

worker_processes  1;
events {
  worker_connections  1024;
}
http {
  sendfile  off;
  server {
    listen 80;
 
    location / {
      proxy_pass  http://php;
      proxy_set_header Host $host;
      proxy_redirect     off;
    }
  }
}

请注意,nginx配置已简化,但上面的代码应该可以进行测试-基本上它所做的就是代理php应用程序。映射到端口81,以避免主机冲突-根据需要进行调整。

关于链接,您可以看到,如果运行:mysql容器docker-compose exec mysql ping -c2 nginxpingnginx容器,即使在这些容器之间未指定任何链接,您也将成功。Docker Compose将为您维护默认网络中的那些链接。

 类似资料:
  • 问题内容: 我试图设置一个nginx-proxy容器来通过端口80而不是特殊端口上的子域访问我的其他容器。如您所料,我无法正常工作。 我对Docker本身是新手,发现对我来说编写文件更舒服,因此我不必不断地编写长命令。我认为使用或启动容器的方式没有区别。但是,我注意到的一个区别是,使用容器启动不会创建任何新的网络,但是之后将创建一个网络。 我读到不同网络上的容器无法相互访问,这可能是nginx-p

  • 我正在构建包括两个容器的docker-comment服务。其中一个容器(节点)被设计成支持自动发现机制,并且需要成为主机局域网的一部分(因为我需要多播UDP包由局域网路由器处理,而不是内置的docker路由器)。 虽然docker-compose.yml中的network_mode:主机完美地做到了这一点,但我需要此服务也可以通过默认的docker-comment网络(如:超文本传输协议://节点

  • LAMP stack built with Docker Compose A basic LAMP stack environment built using Docker Compose. It consists of the following: PHP Apache MySQL phpMyAdmin Redis As of now, we have several different PHP

  • 问题内容: 在Docker中使用自定义网络时 并尝试运行它,我得到了错误 错误:网络服务层已声明为外部,但找不到。请使用手动创建网络,然后重试。 是否可以使用docker-compose自动创建网络,还是除了首先手动创建网络外没有其他方法? 问题答案: 是使用现有网络。如果您想组成网络,只需执行以下操作: ..指示组成网络。它们将被命名为使用验证创建。 您还可以覆盖默认网络或指定更多属性。 ..将

  • 题目描述 docker-compose version 1.29.2 Ubuntu 22.04.1 LTS 题目来源及自己的思路 手动创建也是这个报错 相关代码 粘贴代码文本(请勿用截图) 你期待的结果是什么?实际看到的错误信息又是什么?

  • 在过去的几天里,我一直在玩Docker-Compose,看看它是否会简化我的Docker容器和网络构建过程。 我对此非常满意,但是当我想创建一些尚未被任何“服务”使用的“网络”时,遇到了一个问题。 我想要这种行为的原因是让Docker编写文件来创建我的本地结构的“私有”网络和“公共”网络。我的每个项目都有一个单独的Docker,利用已经创建的“外部”网络。 我注意到我能够指定一个虚拟容器来初始化网