与php和workdir的docker ubuntu

时间:2017-09-27 12:52:05

标签: php ubuntu docker php-7

大家好我试图用ubuntu php7设置一个Dockerfile,用workdir / app / web设置Apache。 phpmyadmin和mysql已经在运行,但我不知道如何为ubuntu和php7设置Dockerfile任何建议?是的我知道在docker hub和git上有很多完成的解决方案,但我更喜欢创建我自己的知道它是如何工作的。

version: '2'
services:
  #######################################
  # PHP application Docker container
  #######################################
  app:
    build:
      context: .
      dockerfile: Dockerfile
    links:
      - mysql
    ports:
      - "8000:80"
    volumes:
      #- ./app/:/app/
      - ./:/docker/
    volumes_from:
      - storage
    networks:
      - php-network

#######################################
# MySQL server
#######################################
  mysql:
    build:
      context: docker/mysql/
      dockerfile: MySQL-5.7.Dockerfile
    restart: always
    volumes_from:
      - storage
    env_file:
      - etc/environment.yml
    networks:
    - php-network
#######################################
# PHP MY ADMIN
#######################################
  myphpadmin:
    build:
      context: docker/myphpadmin
      dockerfile: Dockerfile
    restart: always
    links:
    - mysql
    ports:
    - 8080:80
    environment:
    - PMA_HOST=mysql
    - VIRTUAL_PORT=80
    networks:
    - php-network

  storage:
    build:
      context: docker/storage/
    volumes:
      - /storage

networks:
    php-network:
      driver: bridge

Dockerfile

FROM ubuntu:latest

# Install apache, PHP, and supplimentary programs. openssh-server, curl, and lynx-cur are for debugging the container.
RUN apt-get update && apt-get -y upgrade && DEBIAN_FRONTEND=noninteractive apt-get -y install \
apache2 php7.0 php7.0-mysql libapache2-mod-php7.0 curl lynx-cur

# Enable apache mods.
RUN a2enmod php7.0
RUN a2enmod rewrite

# Update the PHP.ini file, enable <? ?> tags and quieten logging.
RUN sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php/7.0/apache2/php.ini
RUN sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php/7.0/apache2/php.ini

# Manually set up the apache environment variables
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2
ENV APACHE_PID_FILE /var/run/apache2.pid

# Expose apache.
EXPOSE 80

# Copy this repo into place.
ADD www /var/www/site

# Update the default apache site with the config we created.
ADD apache-config.conf /etc/apache2/sites-enabled/000-default.conf

# By default start up apache in the foreground, override with /bin/bash for interative.
CMD /usr/sbin/apache2ctl -D FOREGROUND

1 个答案:

答案 0 :(得分:0)

Found this solution必须包含apache-config.conf