天津做网站的,巨量关键词搜索查询,网站建设需要费用,淘宝可做的团购网站Dockerfile创建镜像INMPwordpress
需要哪些呢#xff1a;
Nginx 172.111.0.10 docker-nginx
Mysql 172.111.0.20 docker-mysql
PHP 172.111.0.30 docker-PHP 开始实验#xff1a;
创建各级目录#xff0c;他们各自的包和配置文件必须要在同一目录下才可以生效wordpress
需要哪些呢
Nginx 172.111.0.10 docker-nginx
Mysql 172.111.0.20 docker-mysql
PHP 172.111.0.30 docker-PHP 开始实验
创建各级目录他们各自的包和配置文件必须要在同一目录下才可以生效否则报错 基于Nginx的dockerfile
vim Dockerfile FROM centos:7
MAINTAINER this is my diy nginx wang
RUN yum -y install pcre-devel zlib-devel gcc gcc-c make useradd -M -s /sbin/nologin nginx
ADD nginx-1.22.0.tar.gz /usr/local/src/
WORKDIR /usr/local/src/nginx-1.22.0
RUN ./configure \
--prefix/usr/local/nginx \
--usernginx \
--groupnginx \
--with-http_stub_status_module make -j 4 make install
ENV PATH /usr/local/nginx/sbin:$PATH
COPY nginx.conf /usr/local/nginx/conf
ADD wordpress-6.4.2-zh_CN.tar.gz /usr/local/nginx/html
RUN chmod 777 -R /usr/local/nginx/html
EXPOSE 80
VOLUME [usr/local/nginx/html/]
CMD [/usr/local/nginx/sbin/nginx,-g,daemon off;] 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$ { root html; fastcgi_pass 172.111.0.30:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; include fastcgi_params; }
}
} 创建自定义网络
docker network create --subnet172.111.0.0/16 --opt com.docker.network.bridge.namedocker1 mynetwork 随后容器下载
docker build -t nginx:lnmp . 端口映射
docker run -itd --name nginx -p 80:80 -v /opt/nginx:/opt/nginxlogs --net mynetwork --ip 172.111.0.10 nginx:lnmp MySQL的dockerfile FROM centos:7
RUN yum -y install ncurses ncurses-devel bison cmake pcre-devel zlib-devel gcc gcc-c make \useradd -M -s /sbin/nologin mysql
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_CHARSETutf8 \
-DDEFAULT_COLLATIONutf8_general_ci \
-DWITH_EXTRA_CHARSETSall \
-DWITH_INNOBASE_STORAGE_ENGINE1 \
-DWITH_ARCHIVE_STORAGE_ENGINE1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE1 \
-DMYSQL_DATADIR/usr/local/mysql/data \
-DWITH_BOOSTboost \
-DWITH_SYSTEMD1 make -j 4 make install
COPY my.cnf /etc/my.cnf
EXPOSE 3306
RUN chown -R mysql:mysql /usr/local/mysql/ chown mysql:mysql /etc/my.cnf
WORKDIR /usr/local/mysql/bin/
RUN ./mysqld \
--initialize-insecure \
--usermysql \
--basedir/usr/local/mysql \
--datadir/usr/local/mysql/data cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ systemctl enable mysqld
ENV PATH/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
VOLUME [/usr/local/mysql]
ENTRYPOINT [/usr/sbin/init] 接下来 vim my.cnf [mysqld]
user mysql
basedir/usr/local/mysql
datadir/usr/local/mysql/data
port 3306
character-set-serverutf8
pid-file /usr/local/mysql/mysqld.pid
socket/usr/local/mysql/mysql.sock
bind-address 0.0.0.0
skip-name-resolve
max_connections2048
default-storage-engineINNODB
max_allowed_packet16M
server-id 1
general_logON
general_log_file/usr/local/mysql/date/mysql_general.log sql_modeNO_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 创键容器记得给权限
docker run -itd --name mysql -p 3306:3306 --privileged -v /opt/mysql:/opt/mysql --net mynetwork --ip 172.111.0.20 mysql:lnmp 进入容器
docker exec -it mysql bash 进入数据库
mysql -u root -p create database wordpress;
grant all privileges on wordpress.* to wordpress% identified by 123456;
grant all privileges on *.* to root% identified by 123456;
flush privileges; 最后
Docker build -t mysql:lnmp . PHP的Dockerfile
vim Dockerfile FROM centos:7
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 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 -j 4 make install
ENV PATH /usr/local/php/bin:/usr/local/php/sbin:$PATH COPY php.ini /usr/local/php/lib
COPY php-fpm.conf /usr/local/php/etc/
COPY www.conf /usr/local/php/etc/php-fpm.d/
EXPOSE 9000
ENTRYPOINT [/usr/local/php/sbin/php-fpm,-F] php-fpm.conf php.ini www.conf 最后
docker bulid -t php:lnmp . 端口映射
docker run -itd --name php -p 9000:9000 --volumes-from nginx --volumes-from mysql --net mynetwork --ip 172.111.0.30 php:lnmp docker exex -it php bash 浏览器访问
20.0.0.58/wordpress/index.php 如何在外面赋权外面赋权 重新构建镜像 如果不能同步删除容器重新创建 继续我们的操作 最终 进入