Docker之tomcat和nginx的部署
生活随笔
收集整理的這篇文章主要介紹了
Docker之tomcat和nginx的部署
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.鏡像掛載
我們可以在創建容器的時候,將宿主機的目錄與容器內的目錄進行映射,這樣我們就可以通過修改宿主機某個目錄的文件從而去影響容器。創建容器 添加-v參數 后邊為 宿主機目錄:容器目錄,例如:
docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:7如果你共享的是多級的目錄,可能會出現權限不足的提示。
這是因為CentOS7中的安全模塊selinux把權限禁掉了,我們需要添加參數 --privileged=true 來解決掛載的目錄沒有權限的問題
2.tomcat的部署
(1)拉取鏡像
docker pull tomcat:7-jre7(2)創建容器
創建容器? -p表示地址映射
docker run -di --name=mytomcat -p 9000:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7-jre7為了方便項目的部署,我們將wepapps目錄映射到linux服務器的目錄下。
為了方便測試,我們將一個war包放入該虛擬機的/usr/local/tomcat/webapps目錄下
然后訪問你的虛擬機ip地址:9090/項目名
這里我的虛擬機ip為192.168.142.129,引入的項目為CAS單點登陸的開源項目
?
3. Nginx部署
(1)拉取鏡像
docker pull nginx(2)創建Nginx容器
docker run -di --name=mynginx -p 80:80 nginx(3)靜態文件拷貝
我們在 創建nginx容器的時候,并沒有使用鏡像掛載。此時我們想要將我們項目的靜態頁面放到nginx中讓我們訪問。
先進入nginx容器中
docker exec -it mynginx /bin/bash查看nginx的配置文件
cat /etc/nginx/nginx.conf內容如下:
http {include ? ? ? /etc/nginx/mime.types;default_type application/octet-stream; ?log_format main ?'$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"'; ?access_log /var/log/nginx/access.log main; ?sendfile ? ? ? on;#tcp_nopush ? ? on; ?keepalive_timeout ?65; ?#gzip on; ?include /etc/nginx/conf.d/*.conf; } ?進入conf.d文件夾下查看default.conf
cat /etc/nginx/conf.d/default.conf內容如下:
server {listen ? ? ? 80;server_name localhost; ?#charset koi8-r;#access_log /var/log/nginx/host.access.log main; ?location / {root ? /usr/share/nginx/html;index index.html index.htm;} ?#error_page 404 ? ? ? ? ? ? /404.html; ?# redirect server error pages to the static page /50x.html#error_page ? 500 502 503 504 /50x.html;location = /50x.html {root ? /usr/share/nginx/html;} ?可以看到html在/usr/share/nginx/html目錄下
我們將準備好的靜態文件夾拷貝到該目錄下
docker cp html mynginx:/usr/share/nginx/然后在瀏覽器上就可以訪問了
總結
以上是生活随笔為你收集整理的Docker之tomcat和nginx的部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux之Shell脚本的条件判断和函
- 下一篇: Docker私有仓库的搭建