主頁 > 軟體設計 > Docker Review - docker部署Tomcat & Nginx

Docker Review - docker部署Tomcat & Nginx

2021-10-07 07:54:54 軟體設計

文章目錄

  • Docker 部署tomcat
    • 搜索 tomcat
    • 下載tomcat
    • 啟動tomcat
    • 訪問tomcat
    • 查看webapps & 修復問題
    • 重新訪問tomcat
  • Docker 部署Nginx
    • 搜索 nginx
    • 下載ng
    • 啟動nginx
    • 查看容器內的ng
    • 訪問

在這里插入圖片描述


Docker 部署tomcat

搜索 tomcat

在這里插入圖片描述

下載tomcat

[root@VM-0-7-centos ~]# docker pull tomcat
Using default tag: latest
latest: Pulling from library/tomcat
df5590a8898b: Pull complete
705bb4cb554e: Pull complete
519df5fceacd: Pull complete
ccc287cbeddc: Pull complete
39a2961e8351: Pull complete
0287b7aa7f62: Pull complete
165d4a436d89: Pull complete
2b9d00974b45: Pull complete
5b60b035e686: Pull complete
e521db7f7e29: Pull complete
Digest: sha256:0d985ff1e6cb81cdf3139336d95acb995621a5c79dfb4a705bc18e1e54134164
Status: Downloaded newer image for tomcat:latest
docker.io/library/tomcat:latest
[root@VM-0-7-centos ~]#


啟動tomcat

啟動 tomcat 容器,將容器的 8080 埠與外網的 8888埠進行映射


[root@VM-0-7-centos ~]# docker run -d --name artisanTomcat -p 8888:8080 tomcat
2a0e6e88661732a710d8a30d9fda6d73c25478fe352a59f520cb753da6442f7b
[root@VM-0-7-centos ~]#


[root@VM-0-7-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                       NAMES
2a0e6e886617   tomcat    "catalina.sh run"        36 seconds ago   Up 34 seconds   0.0.0.0:8888->8080/tcp, :::8888->8080/tcp   artisanTomcat
bb19cf9ced23   nginx     "/docker-entrypoint.…"   22 minutes ago   Up 22 minutes   0.0.0.0:7788->80/tcp, :::7788->80/tcp       artisanNginx
[root@VM-0-7-centos ~]#


訪問tomcat

訪問下試試

在這里插入圖片描述

在這里插入圖片描述

不應該啊,看看Tomcat下的webapps


[root@VM-0-7-centos ~]# docker exec -it artisanTomcat  /bin/bash
root@2a0e6e886617:/usr/local/tomcat# ls -al
total 176
drwxr-xr-x 1 root root  4096 Sep 29 11:23 .
drwxr-xr-x 1 root root  4096 Sep 29 11:13 ..
-rw-r--r-- 1 root root 18994 Sep  6 16:22 BUILDING.txt
-rw-r--r-- 1 root root  6210 Sep  6 16:22 CONTRIBUTING.md
-rw-r--r-- 1 root root 60269 Sep  6 16:22 LICENSE
-rw-r--r-- 1 root root  2333 Sep  6 16:22 NOTICE
-rw-r--r-- 1 root root  3372 Sep  6 16:22 README.md
-rw-r--r-- 1 root root  6905 Sep  6 16:22 RELEASE-NOTES
-rw-r--r-- 1 root root 16517 Sep  6 16:22 RUNNING.txt
drwxr-xr-x 2 root root  4096 Sep 29 11:24 bin
drwxr-xr-x 1 root root  4096 Oct  6 13:16 conf
drwxr-xr-x 2 root root  4096 Sep 29 11:23 lib
drwxrwxrwx 1 root root  4096 Oct  6 13:16 logs
drwxr-xr-x 2 root root  4096 Sep 29 11:24 native-jni-lib
drwxrwxrwx 2 root root  4096 Sep 29 11:23 temp
drwxr-xr-x 2 root root  4096 Sep 29 11:23 webapps
drwxr-xr-x 7 root root  4096 Sep  6 16:22 webapps.dist
drwxrwxrwx 2 root root  4096 Sep  6 16:22 work
root@2a0e6e886617:/usr/local/tomcat# cd webapps
root@2a0e6e886617:/usr/local/tomcat/webapps# ls
root@2a0e6e886617:/usr/local/tomcat/webapps# pwd
/usr/local/tomcat/webapps
root@2a0e6e886617:/usr/local/tomcat/webapps#


查看webapps & 修復問題

進入 tomcat 容器 ,發現webapps 下面什么都沒有 , 阿里云鏡像 默認是最小的鏡像,所有不必要的都剔除了,保證最小可運行環境

將webapps.dist 目錄下的檔案拷貝到 webapps下面 ,然后重繪頁面就可以看到tomcat頁面了


root@2a0e6e886617:/usr/local/tomcat# cd ..
root@2a0e6e886617:/usr/local/tomcat# cp -r webapps.dist/* webapps
root@2a0e6e886617:/usr/local/tomcat# cd webapps
root@2a0e6e886617:/usr/local/tomcat/webapps# ls -al
total 32
drwxr-xr-x  1 root root 4096 Oct  6 13:22 .
drwxr-xr-x  1 root root 4096 Sep 29 11:23 ..
drwxr-xr-x  3 root root 4096 Oct  6 13:22 ROOT
drwxr-xr-x 15 root root 4096 Oct  6 13:22 docs
drwxr-xr-x  7 root root 4096 Oct  6 13:22 examples
drwxr-xr-x  6 root root 4096 Oct  6 13:22 host-manager
drwxr-xr-x  6 root root 4096 Oct  6 13:22 manager
root@2a0e6e886617:/usr/local/tomcat/webapps#
root@2a0e6e886617:/usr/local/tomcat/webapps#

在這里插入圖片描述


重新訪問tomcat

重繪頁面,無需重啟容器

在這里插入圖片描述


Docker 部署Nginx

搜索 nginx

[root@VM-0-7-centos ~]# docker search nginx
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                             Official build of Nginx.                        15588     [OK]
jwilder/nginx-proxy               Automated Nginx reverse proxy for docker con…   2069                 [OK]
richarvey/nginx-php-fpm           Container running Nginx + PHP-FPM capable of…   818                  [OK]
jc21/nginx-proxy-manager          Docker container for managing Nginx proxy ho…   247
linuxserver/nginx                 An Nginx container, brought to you by LinuxS…   156
tiangolo/nginx-rtmp               Docker image with Nginx using the nginx-rtmp…   141                  [OK]
jlesage/nginx-proxy-manager       Docker container for Nginx Proxy Manager        139                  [OK]
alfg/nginx-rtmp                   NGINX, nginx-rtmp-module and FFmpeg from sou…   108                  [OK]
nginxdemos/hello                  NGINX webserver that serves a simple page co…   73                   [OK]
privatebin/nginx-fpm-alpine       PrivateBin running on an Nginx, php-fpm & Al…   57                   [OK]
nginx/nginx-ingress               NGINX and  NGINX Plus Ingress Controllers fo…   55
nginxinc/nginx-unprivileged       Unprivileged NGINX Dockerfiles                  54
staticfloat/nginx-certbot         Opinionated setup for automatic TLS certs lo…   24                   [OK]
nginxproxy/nginx-proxy            Automated Nginx reverse proxy for docker con…   23
nginx/nginx-prometheus-exporter   NGINX Prometheus Exporter for NGINX and NGIN…   20
schmunk42/nginx-redirect          A very simple container to redirect HTTP tra…   19                   [OK]
centos/nginx-112-centos7          Platform for running nginx 1.12 or building …   15
centos/nginx-18-centos7           Platform for running nginx 1.8 or building n…   13
bitwarden/nginx                   The Bitwarden nginx web server acting as a r…   11
flashspys/nginx-static            Super Lightweight Nginx Image                   10                   [OK]
mailu/nginx                       Mailu nginx frontend                            9                    [OK]
navidonskis/nginx-php5.6          Docker nginx + php5.6 on Ubuntu                 7                    [OK]
ansibleplaybookbundle/nginx-apb   An APB to deploy NGINX                          2                    [OK]
wodby/nginx                       Generic nginx                                   1                    [OK]
arnau/nginx-gate                  Docker image with Nginx with Lua enabled on …   1                    [OK]


下載ng

[root@VM-0-7-centos ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
07aded7c29c6: Pull complete
bbe0b7acc89c: Pull complete
44ac32b0bba8: Pull complete
91d6e3e593db: Pull complete
8700267f2376: Pull complete
4ce73aa6e9b0: Pull complete
Digest: sha256:06e4235e95299b1d6d595c5ef4c41a9b12641f6683136c18394b858967cd1506
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest




啟動nginx

  • -d 后臺啟動
  • –name 給容器命名
  • -p 宿主機埠:容器埠

[root@VM-0-7-centos ~]# docker run -d --name artisanNginx -p 7788:80  nginx
bb19cf9ced237313ef6cc0f332b1ed0f4ad8632c14a719de801ceb539ce41576
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                   NAMES
bb19cf9ced23   nginx     "/docker-entrypoint.…"   3 seconds ago   Up 3 seconds   0.0.0.0:7788->80/tcp, :::7788->80/tcp   artisanNginx
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#

查看容器內的ng

# 進入容器 
[root@VM-0-7-centos ~]# docker exec  -it artisanNginx /bin/bash
root@bb19cf9ced23:/# 查找nginx 
root@bb19cf9ced23:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@bb19cf9ced23:/# cd /etc/nginx
root@bb19cf9ced23:/etc/nginx# ls
conf.d  fastcgi_params  mime.types  modules  nginx.conf  scgi_params  uwsgi_params
root@bb19cf9ced23:/etc/nginx#

# 查看組態檔 
root@bb19cf9ced23:/etc/nginx# cat nginx.conf

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


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;
}
root@bb19cf9ced23:/etc/nginx#



訪問

本地訪問


[root@VM-0-7-centos ~]# curl localhost:7788
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
[root@VM-0-7-centos ~]#


外網訪問:

在這里插入圖片描述

在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/305926.html

標籤:其他

上一篇:Nginx 突然無法啟動 出現 unknown directive “?諾“錯誤 報錯記錄

下一篇:Nginx 實戰: 部署 React 前端專案

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more