window 如何使用 docker 构建本地开发环境 ?

Dockerfile

# Use PHP 7.4 as the base image
FROM php:7.4-fpm

# Install system dependencies
RUN apt-get update && apt-get install -y
git
unzip
libpng-dev
libjpeg62-turbo-dev
libfreetype6-dev
libzip-dev

# Install PHP extensions
RUN docker-php-ext-install pdo_mysql gd zip bcmath

# Install Composer globally
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Set working directory
WORKDIR /var/www

# Copy the composer.json file and install dependencies
#COPY ./composer.json .
COPY . /var/www

RUN composer install

# Copy the rest of the application
#COPY . .

# Expose port 9000
EXPOSE 9000

docker-compose.yml

version: '3.8'
services:
web:
image: nginx:latest
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf
- ./public:/var/www/public
ports:
- "8080:80"
app:
build:
context: .
dockerfile: Dockerfile
volumes:
- /mnt/d/Code/demo:/var/www
depends_on:
- db
db:
image: mysql:5.7
environment:
    MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
    MYSQL_DATABASE: ${MYSQL_DATABASE}
    MYSQL_USER: ${MYSQL_USER}
    MYSQL_PASSWORD: ${MYSQL_PASSWORD}
volumes:
- db_data:/var/www/mysql
volumes:
db_data:

请问使用 docker-compose up -d 构建容器,在容器中的 compose install 扩展包如何同步到本地?

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 5

把整个www目录映射出来

volumes:
- ./www:/var/www/
1年前 评论
yuebanwan (楼主) 1年前

在调试的时候,我在本地新增一个文件,在容器中就同步一个文件,所以目录映射应该是没有问题的

1年前 评论
volumes:
- /mnt/d/Code:/var/www

这样的话你在容器内新增一个demo,你本机Code目录也就有demo了,在demo中compose install也会同步

1年前 评论
yuebanwan (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!