使用Dockerfile構建Nginx,Tomcat,MySQL鏡像
阿新 • • 發佈:2018-08-15
from tomcat serve 容器 download image 創建 Opens path 實驗環境說明
本機IP地址:192.168.10.157
構建mysql鏡像時,驗證的主機IP;192.168.10.149
構建Nginx鏡像
1、下載基礎鏡像——centos鏡像
docker pull centos
2、創建工作目錄
mkdir /opt/nginx
cd /opt/nginx/
3、創建並編寫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"]
4、編寫執行腳本內容
vim run.sh
#!/bin/bash
/usr/local/nginx/sbin/nginx
5、生成鏡像
docker build -t nginx:new .
docker images //查看鏡像
6、啟動容器進行測試
docker run -d -P nginx:new //啟動容器,-p隨機指定宿主機端口映射容器中nginx服務相關端口
docker ps -a //查看容器
瀏覽器輸入:http://192.168.10.157:32769/
構建Tomcat鏡像
1、創建工作目錄,將相關軟件包解壓到工作目錄下
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 //解壓軟件包
2、創建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
3、生成鏡像
docker build -t tomcat:centos .
4、運行容器並驗證
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
瀏覽器輸入:http://192.168.10.157/
構建MySQL鏡像
1、下載鏡像,建議使用centos6鏡像
docker pull guyton/centos6
2、創建工作目錄
mkdir /opt/mysql
cd /opt/mysql
3、創建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"]
4、生成鏡像
docker build -t centos6:mysql .
docker images //查看鏡像
5、運行容器並驗證
docker run --name=mysqlserver -d -P centos6:mysql //運行容器,隨機指定本機端口映射容器mysql的端口
docker ps -a //查看容器
在裝有mysql服務的主機上,或者在本機安裝mysql服務,登錄容器的mysql數據庫進行驗證
mysql -h 192.168.10.157 -u root -P 32770 -pabc123
使用Dockerfile構建Nginx,Tomcat,MySQL鏡像