我有一张已经使用了很长时间的图像了,效果很好。它使我可以启动一个新项目,并通过compose文件,可以运行所有我需要的东西。我一直感到沮丧的一件事是,让一些代理人为当地发展工作显然很复杂。
目前,我获得了一个Web服务器,该服务器将允许我通过localhost访问正在运行的容器。为了我自己的理智,我希望能够进行myproject.test或类似的工作。无论如何,可以通过撰写文件完成此操作吗?我已经尝试了几天,但似乎无法找到一种方法来完成这项工作,但似乎并不难。
我的撰写文件如下:
version: ‘2’
services:
webserver:
build: ./docker/webserver
image: perch
ports:
- "80:80"
- "443:443"
volumes:
- ./www:/var/www/html
links:
- db
env_file:
- web-variables.env
db:
image: mysql:5.7
command: mysqld --sql_mode=""
ports:
- "3306:3306"
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=xxx
- MYSQL_DATABASE=db_xxx
我的Dockerfile:
FROM php:7.2-apache
RUN apt-get update -y && apt-get install -y \
mcrypt \
imagemagick \
libpng-dev \
libfreetype6-dev \
libjpeg62-turbo-dev \
curl \
libcurl4-openssl-dev \
libxpm-dev \
libvpx-dev \
&& docker-php-ext-configure gd \
--with-freetype-dir=/usr/lib/x86_64-linux-gnu/ \
--with-jpeg-dir=/usr/lib/x86_64-linux-gnu/ \
--with-xpm-dir=/usr/lib/x86_64-linux-gnu/ \
--with-vpx-dir=/usr/lib/x86_64-linux-gnu/ \
&& docker-php-ext-install \
pdo \
pdo_mysql \
gd \
curl \
&& a2enmod \
rewrite \
ssl \
actions \
include \
cgi \
&& service apache2 restart
答案 0 :(得分:0)
AFAIK,您无法通过配置docker-compose.yml
来做到这一点(至少)(至少,到目前为止,还没有任何图片可以使之成为现实-但实际上这是一件很酷的事情! )
您可以 要做的是在Web服务器的容器内为反向代理安装一个预先配置的配置文件,然后使其适应您的需求。您不能动态执行的操作是通过点击http://myproject.test
使浏览器进入反向代理。*您必须为此配置/etc/hosts
文件。当然,如果您足够的话,您可以在自己的计算机上执行此操作。
(*)好吧,您可以做到这一点,但这似乎不是正确的选择,否则请纠正我。