使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

實驗環境說明

本機IP地址:192.168.10.157
構建mysql鏡像時,驗證的主機IP;192.168.10.149

構建Nginx鏡像

一、下載基礎鏡像——centos鏡像

docker pull centos

二、建立工做目錄

mkdir /opt/nginx
cd /opt/nginx/

三、建立並編寫Dockerfile文件

vim Dockerfile

FROM centos
MAINTAINER this is nginx image <xxy>
RUN yum install -y wget proc-devel net-tools gcc zlib zlib-devel make openssl-devel
RUN wget http://nginx.org/download/nginx-1.9.7.tar.gz
RUN tar zxvf nginx-1.9.7.tar.gz
WORKDIR nginx-1.9.7
RUN ./configure --prefix=/usr/local/nginx && make && make install
EXPOSE 80           //http
EXPOSE 443              //https
RUN echo "daemon off;">>/usr/local/nginx/conf/nginx.conf     //關閉守護進程
WORKDIR /opt/nginx
ADD run.sh /run.sh       //將宿主機中的run.sh添加到容器中
RUN chmod 755 /run.sh
CMD ["/run.sh"]

使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

四、編寫執行腳本內容

vim run.sh

#!/bin/bash
/usr/local/nginx/sbin/nginx

使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

五、生成鏡像

docker build -t nginx:new .

docker images           //查看鏡像

使用Dockerfile構建Nginx,Tomcat,MySQL鏡像
使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

六、啓動容器進行測試

docker run -d -P nginx:new        //啓動容器,-p隨機指定宿主機端口映射容器中nginx服務相關端口

docker ps -a      //查看容器

使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

瀏覽器輸入:http://192.168.10.157:32769/

使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

構建Tomcat鏡像

一、建立工做目錄,將相關軟件包解壓到工做目錄下

mkdir /opt/tomcat     //建立工做目錄
cp jdk-8u91-linux-x64.tar.gz /opt/tomcat/
cp apache-tomcat-8.5.16.tar.gz /opt/tomcat/     //移動到工做目錄

cd /opt/tomcat/
tar zxvf jdk-8u91-linux-x64.tar.gz
tar zxvf apache-tomcat-8.5.16.tar.gz        //解壓軟件包

二、建立Dockerfile文件

vim Dockerfile

FROM centos
MAINTAINER this is tomcat image <xxy>
ADD jdk1.8.0_91 /usr/local/java
ENV JAVA_HOME /usr/local/java
ENV JAVA_BIN /usr/local/java/bin
ENV JRE_HOME /usr/local/java/jre
ENV PATH $PATH:/usr/local/java/bin:/usr/local/java/jre/bin
ENV CLASSPATH /usr/local/java/jre/bin:/usr/local/java/lib:/usr/local/java/jre/lib/charsets.jar
ADD apache-tomcat-8.5.16 /usr/local/tomcat8
EXPOSE 8080

使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

三、生成鏡像

docker build -t tomcat:centos .

使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

四、運行容器並驗證

docker run --name tomcat01 -p 80:8080 -it  tomcat:centos /bin/bash          //運行容器,將本地80端口映射到容器的8080端口

[root@643488fd23c4 bin]#cd /usr/local/tomcat8/bin
[root@643488fd23c4 bin]#./startup.sh      //容器中啓動Tomcat

使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

瀏覽器輸入:http://192.168.10.157/

使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

構建MySQL鏡像

一、下載鏡像,建議使用centos6鏡像

docker pull guyton/centos6

使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

二、建立工做目錄

mkdir /opt/mysql
cd /opt/mysql

三、建立Dockerfile文件

vim Dockerfile

FROM guyton/centos6
MAINTAINER this is msyql images <xxy>
RUN yum install mysql mysql-server
RUN /etc/init.d/mysqld start &&\
mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'abc123';" &&\
mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'abc123';"      //root在本地,非本地登陸時都使用abc123密碼
EXPOSE 3306
CMD ["mysqld_safe"]

使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

四、生成鏡像

docker build -t centos6:mysql .

docker images      //查看鏡像

使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

五、運行容器並驗證

docker run --name=mysqlserver -d -P centos6:mysql       //運行容器,隨機指定本機端口映射容器mysql的端口

docker ps -a    //查看容器

使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

在裝有mysql服務的主機上,或者在本機安裝mysql服務,登陸容器的mysql數據庫進行驗證

mysql -h 192.168.10.157 -u root -P 32770 -pabc123

使用Dockerfile構建Nginx,Tomcat,MySQL鏡像

相關文章
相關標籤/搜索