常用的Dockerfile文件-WFY

实验环境

系统版本:CentOS Linux release 7.6.1810 (Core)x64

Docker版本:18.09.5

关闭防火墙并禁止开机自启

systemctl stop firewalld.servicesystemctl disable firewalld

关闭selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

重启 reboot

安装docker

1、安装docker最新版本

1)安装docker-ce的yum源

//下载yum源到本地

wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

//移动yum源到/etc/yum.repos.d/目录下

mv docker-ce.repo /etc/yum.repos.d/

2)从高到低排列显示docker版本

yum list docker-ce --showduplicates | sort -r

3)安装docker最新版

yum -y install docker-ce .x86_64

注:切记启动docker并设置开机自启!

构建Dockerfile-tomcat

1、上传需要使用的压缩包

注:因为apache-tomcat-8.0.46.tar.gz压缩包网络下载太慢所以根据自身情况调整,将下载好的压缩包提前上传服务器,然后根据实际情况创建dockerfile文件即可!

2、首先创建Dockerfile-tomcat文件

cat Dockerfile-tomcat

FROM centos:7MAINTAINER www.ctnrs.comENV VERSION=8.0.46RUN yum install java-1.8.0-openjdk wget curl unzip iproute net-tools -y && \yum clean all && \rm -rf /var/cache/yum/*

Copy apache-tomcat-8.0.46.tar.gz .RUN tar zxf apache-tomcat-${VERSION}.tar.gz && \mv apache-tomcat-${VERSION} /usr/local/tomcat && \rm -rf apache-tomcat-${VERSION}.tar.gz /usr/local/tomcat/webapps/* && \mkdir /usr/local/tomcat/webapps/test && \echo "ok" > /usr/local/tomcat/webapps/test/status.html && \sed -i '1a JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"' /usr/local/tomcat/bin/catalina.sh && \ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeENV PATH $PATH:/usr/local/tomcat/binWORKDIR /usr/local/tomcatEXPOSE 8080CMD ["catalina.sh", "run"]

3、生成tomcat镜像

docker build -t tomcat:v1 -f Dockerfile-tomcat .注:dockerfile构建的镜像在运行时需要添加一些参数,例如:内存、cpu、挂载目录、自定义网络卷等等。

构建Dockerfile-Mysql镜像

注:因为自己构建的数据库不够简洁所以建议使用官方镜像!

//下载并运行mysql镜像

docker run -d --name lnmp_mysql --net lnmp --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress mysql:5.7 --character-set-server=utf8

注:因为使用的官网镜像简洁包小并且不容易出问题,所以直接下载运行了!

构建Dockerfile-php镜像

1、提前创建好php配置文件

php-fpm.conf php.ini

注:以上两个文件与dockerfile-php文件在同一目录,里边配置信息根据需求改正即可!

2、创建Dockerfile-php文件

cat Dockerfile-php

FROM centos:7MAINTAINER www.ctnrs.comRUN yum install epel-release -y && \yum install -y gcc gcc-c++ make gd-devel libxml2-devel \libcurl-devel libjpeg-devel libpng-devel openssl-devel \libmcrypt-devel libxslt-devel libtidy-devel autoconf \iproute net-tools telnet wget curl && \yum clean all && \rm -rf /var/cache/yum/*

RUN wget http://docs.php.net/distributions/php-5.6.36.tar.gz && \tar zxf php-5.6.36.tar.gz && \cd php-5.6.36 && \./configure --prefix=/usr/local/php \--with-config-file-path=/usr/local/php/etc \--enable-fpm --enable-opcache \--with-mysql --with-mysqli --with-pdo-mysql \--with-openssl --with-zlib --with-curl --with-gd \--with-jpeg-dir --with-png-dir --with-freetype-dir \--enable-mbstring --with-mcrypt --enable-hash && \make -j 4 && make install && \cp php.ini-production /usr/local/php/etc/php.ini && \cp sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf && \sed -i "90a \daemonize = no" /usr/local/php/etc/php-fpm.conf && \mkdir /usr/local/php/log && \cd / && rm -rf php* && \ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ENV PATH $PATH:/usr/local/php/sbinCOPY php.ini /usr/local/php/etc/COPY php-fpm.conf /usr/local/php/etc/WORKDIR /usr/local/phpEXPOSE 9000CMD ["php-fpm"]

3、生成php镜像

docker build -t hph:v1 -f Dockerfile-php .注:dockerfile构建的镜像在运行时需要添加一些参数,例如:内存、cpu、挂载目录、自定义网络卷等等。

构建Dockerfile-Nginx镜像

1、创建dockerfile-nginx配置文件

nginx.conf

注:以上两个文件与dockerfile-nginx文件在同一目录,里边配置信息根据需求改正即可!

2、创建Dockerfile-Nginx文件

cat Dockerfile-nginx

FROM centos:7MAINTAINER www.ctnrs.comRUN yum install -y gcc gcc-c++ make \openssl-devel pcre-devel gd-devel \iproute net-tools telnet wget curl && \yum clean all && \rm -rf /var/cache/yum/RUN wget http://nginx.org/download/nginx-1.15.5.tar.gz && \tar zxf nginx-1.15.5.tar.gz && \cd nginx-1.15.5 && \./configure --prefix=/usr/local/nginx \--with-http_ssl_module \--with-http_stub_status_module && \make -j 4 && make install && \rm -rf /usr/local/nginx/html/ && \echo "ok" >> /usr/local/nginx/html/status.html && \cd / && rm -rf nginx-1.12.2* && \ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeENV PATH $PATH:/usr/local/nginx/sbinCOPY nginx.conf /usr/local/nginx/conf/nginx.confWORKDIR /usr/local/nginxEXPOSE 80CMD ["nginx", "-g", "daemon off;"]

2、生成nginx镜像

docker build -t nginx:v1 -f Dockerfile-nginx .注:dockerfile构建的镜像在运行时需要添加一些参数,例如:内存、cpu、挂载目录、自定义网络卷等等。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注