您好,登錄后才能下訂單哦!
本篇文章給大家主要講的是關于應該怎么樣構建Nginx+Tomcat+MYSQLDocker容器的內容,感興趣的話就一起來看看這篇文章吧,相信看完應該怎么樣構建Nginx+Tomcat+MYSQLDocker容器對大家多少有點參考價值吧。
Nginx是一款輕量級的WEB云服務器,也是一款優秀的反向代理云服務器。Nginx服務占用內存少,并發能力強,深受國內外用戶的歡迎。
[root@localhost ~]# docker pull docker.io/lvzhenjiang/centos7 //下載一個創建Nginx鏡像的基礎centos鏡像
[root@localhost ~]# mkdir nginx [root@localhost ~]# cd nginx/
[root@localhost nginx]# vim Dockerfile FROM lvzhenjiang/centos7 //設置基礎鏡像 MAINTAINER lzj //維護者信息 RUN yum -y install wget prce-devel net-tools gcc zlib zlib-devel make openssl-devel //安裝所需依賴包 RUN wget http://nginx.org/download/nginx-1.14.2.tar.gz //獲取nginx源碼包 RUN tar zxf nginx-1.14.2.tar.gz WORKDIR nginx-1.14.2 //解壓之后進入解壓后的目錄 RUN ./configure --prefix=/usr/local/nginx && make && make install //編譯安裝 EXPOSE 80 //開啟80端口 EXPOSE 443 //開啟443端口 RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf //修改nginx服務配置文件,以非daemon(守護進程)方式啟動 ADD run.sh /run.sh //上傳本地編寫的腳本到容器中 RUN chmod 775 /run.sh //賦予腳本執行權限 CMD ["/run.sh"] //啟動容器時,執行run.sh腳本
[root@localhost nginx]# vim run.sh #!/bin/bash //聲明使用的shell /usr/local/nginx/sbin/nginx //使用nginx自帶的腳本啟動nginx
[root@localhost nginx]# ls //確保Dockerfile文件和啟動腳本在同一目錄下 Dockerfile run.sh [root@localhost nginx]# docker build -t nginx:v1 . //使用當前目錄下的Dockerfile文件生成新的鏡像,名為nginx:v1
[root@localhost nginx]# docker run -dit -p 12345:80 --name nginx nginx:v1 //使用新生成的鏡像創建一個名為nginx的容器,并將容器中的80端口映射到宿主機的12345端口 [root@localhost nginx]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1c73bb591e84 nginx:v1 "/run.sh" 31 minutes ago Up 31 minutes 443/tcp, 0.0.0.0:12345->80/tcp nginx //確認容器已經正常運行并已經映射端口
測試結果:
nginx容器搭建完成!
Tomcat是一個免費開源的輕量級Web云服務器,在中小型企業和并發量不高的場合普遍使用,是開發和調試JSP程序的首選。
[root@localhost ~]# docker pull docker.io/lvzhenjiang/centos7 //下載一個創建Nginx鏡像的基礎centos鏡像
因為tomcat需要java的環境,所以要下載JDK軟件包
[root@localhost ~]# mkdir tomcat [root@localhost ~]# cd tomcat/
[root@localhost tomcat]# vim Dockerfile FROM lvzhenjiang/centos7 //基礎鏡像 MAINTAINER lzj //維護者信息 ADD jdk1.8.0_91 /usr/local/jdk-8u91 ENV JAVA_HOME /usr/local/jdk-8u91 ENV JAVA_BIN /usr/local/jdk-8u91/bin ENV JRE_HOME /usr/local/jdk-8u91/jre ENV PATH $PATH:/usr/local/jdk-8u91/bin:/usr/local/jdk-8u91/jre/bin ENV CLASSPATH /usr/local/jdk-8u91/jre/bin:/usr/local/jdk-8u91/lib:/usr/local/jdk-8u91/jre/lib/charsets.jar //設置JDK環境變量 RUN yum -y install wget RUN wget http://us.mirrors.quenda.co/apache/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz //獲取tomcat軟件包 RUN tar zxf apache-tomcat-9.0.27.tar.gz RUN mv apache-tomcat-9.0.27 /usr/local/tomcat //解壓之后,并將解壓后的目錄移動到指定的位置 EXPOSE 8080 //開啟8080端口 ADD run.sh /run.sh RUN chmod 775 /run.sh CMD ["/run.sh"] //啟動容器時,執行腳本
[root@localhost tomcat]# vim run.sh #!/bin/bash /usr/local/tomcat/bin/startup.sh //使用tomcat服務自帶的腳本啟動服務 tailf /run //讓啟動腳本始終運行
[root@localhost tomcat]# ls Dockerfile jdk1.8.0_91 run.sh //確保Dockerfile文件中所需的東西全在這個目錄下 [root@localhost tomcat]# docker build -t tomcat:v1 . //使用當前目錄的Dockerfile文件生成名為tomcat:v1的鏡像
[root@localhost tomcat]# docker run -dit -p 12344:8080 --name tomcat tomcat:v1 //使用新生成的進行創建一個名為tomcat的容器,并將容器中的8080端口映射到宿主機的12344端口 [root@localhost tomcat]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1ffc46084d84 tomcat:v1 "/run.sh" 10 minutes ago Up 10 minutes 0.0.0.0:12344->8080/tcp tomcat //確保容器已經啟動,并已經映射端口
訪問測試:
tomcat容器搭建完成!
MySQL是當下最流行的關系型數據庫,所使用的SQL語言是用于訪問數據庫的最常用標準化語言,MySQL具有體積小、速度快、成本低的優勢,成為中小型企業首選的數據庫。
[root@localhost ~]# docker pull docker.io/lvzhenjiang/centos6 //下載centos6的基礎鏡像作為構建MySQL的基礎鏡像
[root@localhost ~]# mkdir mysql [root@localhost ~]# cd mysql/
[root@localhost mysql]# vim Dockerfile FROM lvzhenjiang/centos6 //基礎鏡像 MAINTAINER lzj //維護者信息 RUN yum -y install mysql mysql-server //安裝mysql RUN /etc/init.d/mysqld start && \ mysql -e "grant all privileges on *.* to 'root'@'%' identified by '123456';"&&\ mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by '123456';" //啟動MySQL服務,并授權用戶 EXPOSE 3306 //開啟3306端口 CMD ["mysqld_safe"] //使用MySQL自帶的啟動腳本啟動服務
[root@localhost mysql]# ls Dockerfile [root@localhost mysql]# docker build -t mysql:v1 . //使用當前目錄下的Dockerfile文件生成名為mysql:v1的鏡像
[root@localhost mysql]# docker run -dit -p 12343:3306 --name=mysql mysql:v1 //使用mysql:v1的鏡像生成一個名為mysql的容器,并映射容器中的3306端口都宿主機的12343端口 [root@localhost mysql]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c356d5b35167 mysql:v1 "mysqld_safe" 4 seconds ago Up 3 seconds 0.0.0.0:12343->3306/tcp //確認容器已經正常運行,并已經啟動端口映射
宿主機進行測試:
[root@localhost ~]# yum -y install mysql //首先安裝mysql命令 [root@localhost ~]# mysql -u root -h 127.0.0.1 -P 12343 -p123456 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.73 Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MySQL [(none)]> //訪問成功
以上關于應該怎么樣構建Nginx+Tomcat+MYSQLDocker容器詳細內容,對大家有幫助嗎?如果想要了解更多相關,可以繼續關注我們的行業資訊板塊。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。