:::

8-4 常用映像檔

mysql

docker pull mysql:5.7
#port 號及 password 
docker run  -d --name mysql -p 3344:3306 -e MYSQL_ROOT_PASSWORD=123   mysql:5.7
docker start mysql
#進入修改為非嚴格模式
docker exec -it mysql bash
echo sql_mode=NO_ENGINE_SUBSTITUTION >> /etc/mysql/mysql.conf.d/mysqld.cnf

 

MariaDB

docker pull mariadb:latest


docker run -d --name MariaDB -p 3344:3306 -v ~/git/mariadb:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123 mariadb:latest

php7.1

docker pull skiychan/nginx-php7:latest
docker run --name nginx -v ~/git/www/htdocs:/data/wwwroot -p 8080:80 -d skiychan/nginx-php7

 

php7.1 apache2

  • 自建檔案 Dockerfile
以下為 php 7.1 ,再出新版時,可以把 7.1 改為 7.2 等方式再建新版本
FROM ubuntu:latest
MAINTAINER prolin99@gmail.com
ARG DEBIAN_FRONTEND=noninteractive 
RUN   apt-get update  
RUN   apt-get install -y software-properties-common    language-pack-en-base sed
RUN   LC_ALL=en_US.UTF-8 add-apt-repository  -y  -u  ppa:ondrej/php  

RUN  apt-get update && \
     apt-get install -y  apache2  libapache2-mod-php7.1 php7.1-bcmath php7.1-bz2 php7.1-cli php7.1-common php7.1-curl php7.1-dba php7.1-gd php7.1-gmp php7.1-imap php7.1-intl php7.1-ldap php7.1-mbstring php7.1-mcrypt php7.1-mysql php7.1-odbc php7.1-pgsql php7.1-recode php7.1-snmp php7.1-soap php7.1-sqlite php7.1-tidy php7.1-xml php7.1-xmlrpc php7.1-xsl php7.1-zip   
     

RUN sed -i -e 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php/7.1/apache2/php.ini && \
    sed -i -e 's/upload_max_filesize = 2M/upload_max_filesize = 256M/g' /etc/php/7.1/apache2/php.ini && \
    sed -i -e 's/post_max_size = 8M/post_max_size = 512M/g' /etc/php/7.1/apache2/php.ini && \
    sed -i -e 's/memory_limit = 128M/memory_limit = 512M/g' /etc/php/7.1/apache2/php.ini && \
    sed -i -e 's/;date.timezone =/date.timezone = Asia\/Taipei/g' /etc/php/7.1/apache2/php.ini && \
    sed -i -e 's/display_errors = Off/display_errors = On/g' /etc/php/7.1/apache2/php.ini && \
    sed -i -e 's/max_file_uploads = 20/max_file_uploads = 300/g' /etc/php/7.1/apache2/php.ini && \
    sed -i -e 's/max_input_time = 60/max_input_time = 120/g' /etc/php/7.1/apache2/php.ini && \
    sed -i -e 's/; max_input_vars = 1000/max_input_vars = 5000/g' /etc/php/7.1/apache2/php.ini && \
    sed -i -e 's/DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm/DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm/g' /etc/apache2/mods-available/dir.conf 
 

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

# 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


# 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


  • 制作 image
docker build -t prolin/php71 .
docker run --name php71 -v ~/git/x28:/var/www/html -p 8080:80  -d  prolin/php71
docker start php71

Google網站翻譯工具列

站內搜尋