赞
踩
- vim Dockerfile
-
- FROM centos:7
- MAINTAINER this is nginx image <zgc>
- RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make
- RUN useradd -M -s /sbin/nologin nginx
- ADD nginx-1.12.0.tar.gz /usr/local/src
- WORKDIR /usr/local/src/nginx-1.12.0
- RUN ./configure \
- --prefix=/usr/local/nginx \
- --user=nginx \
- --group=nginx \
- --with-http_stub_status_module && make && make install
- ENV PATH /usr/local/nginx/sbin:$PATH
- ADD nginx.conf /usr/local/nginx/conf/
- ADD html /usr/local/nginx/
- RUN chmod 777 -R /usr/local/nginx/html
- EXPOSE 80
- EXPOSE 443
- ENTRYPOINT [ "/usr/local/nginx/sbin/nginx","-g","daemon off;" ]
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
- worker_processes 1;
- events {
- worker_connections 1024;
- }
- http {
- include mime.types;
- default_type application/octet-stream;
- sendfile on;
- keepalive_timeout 65;
- server {
- listen 80;
- server_name localhost;
- charset utf-8;
- location / {
- root html;
- index index.html index.php;
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
- location ~ \.php$ { #当访问以.php结尾的URL时,会连接到172.18.0.30的ip地址上
- root html;
- fastcgi_pass 172.18.0.30:9000;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
- include fastcgi_params;
- }
- }
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
- vim /opt/my.cnf
-
- [client]
- port = 3306
- default-character-set=utf8
- socket=/usr/local/mysql/mysql.sock
-
- [mysql]
- port = 3306
- default-character-set=utf8
- socket=/usr/local/mysql/mysql.sock
- auto-rehash
-
- [mysqld]
- user = mysql
- basedir=/usr/local/mysql
- datadir=/usr/local/mysql/data
- port = 3306
- character-set-server=utf8
- pid-file = /usr/local/mysql/mysqld.pid
- socket=/usr/local/mysql/mysql.sock
- bind-address = 0.0.0.0
- skip-name-resolve
- max_connections=2048
- default-storage-engine=INNODB
- max_allowed_packet=16M
- server-id = 1
- sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
- vim Dockerfile
-
- FROM centos:7
- MAINTAINER this is mysql image <wl>
- RUN yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake make
- ADD mysql-boost-5.7.20.tar.gz /usr/local/src/
- WORKDIR /usr/local/src/mysql-5.7.20/
- RUN cmake \
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
- -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
- -DSYSCONFDIR=/etc \
- -DSYSTEMD_PID_DIR=/usr/local/mysql \
- -DDEFAULT_CHARSET=utf8 \
- -DDEFAULT_COLLATION=utf8_general_ci \
- -DWITH_INNOBASE_STORAGE_ENGINE=1 \
- -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
- -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
- -DMYSQL_DATADIR=/usr/local/mysql/data \
- -DWITH_BOOST=boost \
- -DWITH_SYSTEMD=1 && make -j 4 && make install
- ADD my.cnf /etc/
- ENV PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
- RUN useradd -M -s /sbin/nologin mysql
- RUN chown mysql:mysql /etc/my.cnf
- RUN chown -R mysql:mysql /usr/local/mysql/
- RUN /usr/local/mysql/bin/mysqld \
- --initialize-insecure \
- --user=mysql \
- --basedir=/usr/local/mysql \
- --datadir=/usr/local/mysql/data
- EXPOSE 3306
- CMD ["/usr/local/mysql/bin/mysqld"]
-
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
- vim Dockerfile
-
- FROM centos:7
- MAINTAINER this is php image <wl>
- RUN yum -y install gd \
- libjpeg libjpeg-devel \
- libpng libpng-devel \
- freetype freetype-devel \
- libxml2 libxml2-devel \
- zlib zlib-devel \
- curl curl-devel \
- openssl openssl-devel \
- gcc gcc-c++ make pcre-devel
- RUN useradd -M -s /sbin/nologin nginx
- ADD php-7.1.10.tar.bz2 /usr/local/src/
- WORKDIR /usr/local/src/php-7.1.10
- RUN ./configure \
- --prefix=/usr/local/php \
- --with-mysql-sock=/usr/local/mysql/mysql.sock \
- --with-mysqli \
- --with-zlib \
- --with-curl \
- --with-gd \
- --with-jpeg-dir \
- --with-png-dir \
- --with-freetype-dir \
- --with-openssl \
- --enable-fpm \
- --enable-mbstring \
- --enable-xml \
- --enable-session \
- --enable-ftp \
- --enable-pdo \
- --enable-tokenizer \
- --enable-zip && make && make install
- ENV PATH /usr/local/php/bin:/usr/local/php/sbin:$PATH
- ADD php.ini /usr/local/php/lib/
- ADD php-fpm.conf /usr/local/php/etc/
- ADD www.conf /usr/local/php/etc/php-fpm.d/
- EXPOSE 9000
- ENTRYPOINT [ "/usr/local/php/sbin/php-fpm", "-F" ]
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
- vim /opt/php/php.ini
-
- [PHP]
- engine = On
- short_open_tag = Off
- precision = 14
- output_buffering = 4096
- zlib.output_compression = Off
- implicit_flush = Off
- unserialize_callback_func =
- serialize_precision = -1
- disable_functions =
- disable_classes =
- zend.enable_gc = On
- expose_php = On
- max_execution_time = 30
- max_input_time = 60
- memory_limit = 128M
- error_reporting = E_ALL
- display_errors = On
- display_startup_errors = On
- log_errors = On
- log_errors_max_len = 1024
- ignore_repeated_errors = Off
- ignore_repeated_source = Off
- report_memleaks = On
- track_errors = On
- html_errors = On
- variables_order = "GPCS"
- request_order = "GP"
- register_argc_argv = Off
- auto_globals_jit = On
- post_max_size = 8M
- auto_prepend_file =
- auto_append_file =
- default_mimetype = "text/html"
- default_charset = "UTF-8"
- doc_root =
- user_dir =
- enable_dl = Off
- file_uploads = On
- upload_max_filesize = 2M
- max_file_uploads = 20
- allow_url_fopen = On
- allow_url_include = Off
- default_socket_timeout = 60
- [CLI Server]
- cli_server.color = On
- [Date]
- date.timezone = Asia/Shanghai
- [filter]
- [iconv]
- [intl]
- [sqlite3]
- [Pcre]
- [Pdo]
- [Pdo_mysql]
- pdo_mysql.cache_size = 2000
- pdo_mysql.default_socket=
- [Phar]
- [mail function]
- SMTP = localhost
- smtp_port = 25
- mail.add_x_header = On
- [SQL]
- sql.safe_mode = Off
- [ODBC]
- odbc.allow_persistent = On
- odbc.check_persistent = On
- odbc.max_persistent = -1
- odbc.max_links = -1
- odbc.defaultlrl = 4096
- odbc.defaultbinmode = 1
- [Interbase]
- ibase.allow_persistent = 1
- ibase.max_persistent = -1
- ibase.max_links = -1
- ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
- ibase.dateformat = "%Y-%m-%d"
- ibase.timeformat = "%H:%M:%S"
- [MySQLi]
- mysqli.max_persistent = -1
- mysqli.allow_persistent = On
- mysqli.max_links = -1
- mysqli.cache_size = 2000
- mysqli.default_port = 3306
- mysqli.default_socket = /usr/local/mysql/mysql.sock
- mysqli.default_host =
- mysqli.default_user =
- mysqli.default_pw =
- mysqli.reconnect = Off
- [mysqlnd]
- mysqlnd.collect_statistics = On
- mysqlnd.collect_memory_statistics = On
- [OCI8]
- [PostgreSQL]
- pgsql.allow_persistent = On
- pgsql.auto_reset_persistent = Off
- pgsql.max_persistent = -1
- pgsql.max_links = -1
- pgsql.ignore_notice = 0
- pgsql.log_notice = 0
- [bcmath]
- bcmath.scale = 0
- [browscap]
- [Session]
- session.save_handler = files
- session.use_strict_mode = 0
- session.use_cookies = 1
- session.use_only_cookies = 1
- session.name = PHPSESSID
- session.auto_start = 0
- session.cookie_lifetime = 0
- session.cookie_path = /
- session.cookie_domain =
- session.cookie_httponly =
- session.serialize_handler = php
- session.gc_probability = 1
- session.gc_divisor = 1000
- session.gc_maxlifetime = 1440
- session.referer_check =
- session.cache_limiter = nocache
- session.cache_expire = 180
- session.use_trans_sid = 0
- session.sid_length = 26
- session.trans_sid_tags = "a=href,area=href,frame=src,form="
- session.sid_bits_per_character = 5
- [Assertion]
- zend.assertions = 1
- [COM]
- [mbstring]
- [gd]
- [exif]
- [Tidy]
- tidy.clean_output = Off
- [soap]
- soap.wsdl_cache_enabled=1
- soap.wsdl_cache_dir="/tmp"
- soap.wsdl_cache_ttl=86400
- soap.wsdl_cache_limit = 5
- [sysvshm]
- [ldap]
- ldap.max_links = -1
- [mcrypt]
- [dba]
- [opcache]
- [curl]
- [openssl]
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
配置php-fpm.conf文件
- vim /opt/php/php-fpm.conf
-
- [global]
- pid = run/php-fpm.pid
- include=/usr/local/php/etc/php-fpm.d/*.conf
- vim /opt/php/www.conf
-
- [www]
- user = nginx
- group = nginx
- listen = 172.18.0.30:9000
- pm = dynamic
- pm.max_children = 5
- pm.start_servers = 2
- pm.min_spare_servers = 1
- pm.max_spare_servers = 3
- #定义docker-compose版本,可以是2 或 3
- version: '3'
-
- #使用services定义服务
- services:
- #第一个service
- nginx:
- #设置容器名
- container_name: nginx
- #使用dockerfile来构建镜像
- build:
- #指定Dockerfile文件所在位置
- context: ./nginx
- #指定文件名
- dockerfile: Dockerfile
- #映射端口
- ports:
- - 80:80
- - 443:443
- #设置数据卷挂载
- volumes:
- - ./nginx/html:/usr/local/nginx/html
- #加入网络
- networks:
- lnmp:
- ipv4_address: 172.18.0.10
- mysql:
- container_name: mysql
- build:
- context: ./mysql
- dockerfile: Dockerfile
- ports:
- - 3306:3306
- networks:
- lnmp:
- ipv4_address: 172.18.0.20
- volumes:
- - db-data:/usr/local/mysql
- privileged: true
-
- php:
- container_name: php
- build:
- context: ./php
- dockerfile: Dockerfile
- ports:
- - 9000:9000
- networks:
- lnmp:
- ipv4_address: 172.18.0.30
- volumes:
- - db-data:/usr/local/mysql
- - ./nginx/html:/usr/local/nginx/html
- depends_on:
- - nginx
- - mysql
-
- #设置网络为自定义网络
- networks:
- lnmp:
- driver: bridge
- ipam:
- config:
- - subnet: 172.18.0.0/16
-
- volumes:
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
docker-compose -f docker-compose.yml up -d
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。