準備工作
docker 主機
192.168.1.10
tomcat:latest
tomcat1
tomcat:latest
tomcat2
nginx:latest
nginx
準備好nginx 和 tomcat 映象
[root@localhost ~
]# docker images
repository tag image id created size
tomcat latest a92c139758db 2 years ago 558 mb
nginx latest 3f8a4339aadd 2 years ago 108 mb
建立共享卷用於容器和主機之間的對映目錄
*在啟動之前,我們先建立容器和主機之間的對映的共享卷*
[root@localhost
~]# mkdir www1
[root@localhost
~]# mkdir www2
[root@localhost
~]# cd www1
[root@localhost www1]# vi index.jsp //建立檔案,寫入如下內容
tomcat1<
/title>
<
/head>
<
% out.
println
("this is tomcat1");
%>
<
/body>
<
/html>
[root@localhost www1]# cd ..
[root@localhost
~]# cd www2 //進入另外乙個目錄
[root@localhost www2]# vi index.jsp //寫入如下內容
tomcat2<
/title>
<
/head>
<
% out.
println
("this is tomcat2");
%>
<
/body>
<
/html>
啟動tomcat映象為容器
[root@localhost
~]# docker run -itd --name tomcat1 -p -v /root/www1:
[root@localhost
~]# docker run -itd --name tomcat2 -p -v /root/www2:
讓宿主機的www1目錄和www2目錄對映到tomcat的**發布目錄中去
-v /root/www1:
-p 指定隨機埠
[root@localhost
~]# docker ps //檢視執行狀態
container id image command created status ports names
425d605672c3 tomcat:latest "catalina.sh run"
5 seconds ago up 4 seconds 0.0
.0.0
:32771
->
8080
/tcp tomcat2
cd9ca608a5be tomcat:latest "catalina.sh run"
11 seconds ago up 11 seconds 0.0
.0.0
:32770
->
8080
/tcp tomcat1
訪問測試
注:如果這裡訪問不了,可能是因為tomcat沒有啟動我們可以執行以下操作:
[root@localhost ~]# docker exec -it tomcat2 /bin/bash //進入容器
root@425d605672c3:/usr/local/tomcat# cd bin/
root@425d605672c3:/usr/local/tomcat/bin# startup.sh //開啟服務即可
啟動nginx映象為容器
[root@localhost
~]# docker run -itd --name nginx -p 80
:80 nginx:latest //啟動nginx映象
[root@localhost
~]# docker ps
container id image command created status ports names
f850a7b10728 nginx:latest "nginx -g 'daemon ..."
2 seconds ago up 1 second 0.0
.0.0:80
->
80/tcp nginx
[root@localhost ~]# vi nginx.conf //寫入如下內容即可
以為修改好了以後,我們將這個檔案複製到nginx容器裡面然後重啟容器即可
[root@localhost ~]# docker cp nginx.conf f850a7b10728
:/etc/nginx/nginx.conf
[root@localhost ~]# docker restart f850a7b10728
效果驗證
然後不斷重新整理(nginx會在tomcat1和tomcat2之間來回進行切換,達到負載分擔效果)
docker中nginx容器和php容器混合執行
該容器在文章 php環境容器大 制得,亦可用docker官方提供的php環境 啟動php容器 docker run name php1 v home wwwroot service config php config usr local php etc v home wwwroot home www...
docker 容器之nginx 篇
2.簡單執行nginx 容器 python docker run name my nginx d p 80 80 d nginx 3.將nginx 容器的一些配置掛載到宿主目錄下 python mkdir nginx mkdir nginx conf mkdir nginx logs mkdir n...
基於Docker容器安裝nginx
1 在docker倉庫中搜尋nginx映象 docker search nginxdocker pull docker.io nginxdocker imagesdocker images grep i nginxll var lib docker image 4 基於nginx映象啟動nginx應...