我将使用PHP Redis MySQL Nginx与您分享我的docker设置,看看它是否对您有用!
我的Dockerfile
FROM php:7.1-fpm
RUN apt-get update
RUN apt-get install -y zlib1g-dev \n libjpeg-dev \n libpng-dev \n libfreetype6-dev
# Add Microsoft repo for Microsoft ODBC Driver 13 for Linux
RUN apt-get update && apt-get install -y \n apt-transport-https \n && curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \n && curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list \n && apt-get update
# Install Dependencies
RUN ACCEPT_EULA=Y apt-get install -y \n unixodbc \n unixodbc-dev \n libgss3 \n odbcinst \n msodbcsql \n locales \n && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen
RUN pecl install pdo_sqlsrv-4.1.8preview sqlsrv-4.1.8preview \n && docker-php-ext-enable pdo_sqlsrv sqlsrv
RUN ln -s /usr/lib/x86_64-linux-gnu/libsybdb.a /usr/lib/
RUN docker-php-ext-install pdo_mysql
RUN docker-php-ext-install zip
RUN mkdir -p /code
ENV HOME=/code
WORKDIR $HOME
USER root
COPY ./ $HOME
在这个docker文件中也有一个SQLServer连接插件(我有许多与之集成的项目).
现在我的docker-compose.yml
web:
container_name: your_web_container_name
image: nginx
ports:
- "80:80"
volumes:
- ./:/code
- ./host.conf:/etc/nginx/conf.d/default.conf
links:
- php:php
redis:
container_name: your_redis_container_name
image: redis
php:
container_name: your_php_container_name
build: ./
dockerfile: ./Dockerfile
volumes:
- ./:/code
links:
- db
- redis
db:
container_name: your_database_container_name
image: mysql:5.6
volumes:
- /var/lib/mysql
ports:
- "3306:3306"
environment:
- MYSQL_USER=docker
- MYSQL_DATABASE=docker
- MYSQL_ROOT_PASSWORD=docker
- MYSQL_PASSWORD=docker
我希望它对你有所帮助.