DOCKER windows 安裝Tomcat內容

DOCKER windows安裝


  • DOCKER windows安裝
    • 1.下載程序包
    • 2. 設置環境變量
    • 3. 啟動DOCKERT
    • 4. 分析start.sh
    • 5. 利用SSH工具管理
    • 6. 下載鏡像
      • 6.1 下載地址
      • 6.2 用FTP工具上傳tar包
      • 6.3 安裝
      • 6.4 查看鏡像
      • 6.5 運行

windows必須是64位的

#!/bin/bashset -e# clear the MSYS MOTD
clearcd "$(dirname "$BASH_SOURCE")"ISO="$HOME/.boot2docker/boot2docker.iso"if [ ! -e "$ISO" ]; thenecho 'copying initial boot2docker.iso (run "boot2docker.exe download" to update)'mkdir -p "$(dirname "$ISO")"cp ./boot2docker.iso "$ISO"fiecho 'initializing...'
./boot2docker.exe init
echoecho 'starting...'
./boot2docker.exe start
echo./boot2docker.exe ipecho 'connecting...'
./boot2docker.exe ssh
echoechoecho '[Press any key to exit]'read

從內容上看主要是執行,如下語句

boot2docker.exe init
boot2docker.exe start
boot2docker.exe ssh

所有在命令行下執行 sh start.sh 即可

最近貌似docker也被GFW墻了

所以運行start.sh到init時,如果不幸長時間不進入下一步,就說明鏡像被GFW擋住了,手動去github上下載鏡像,地址為:

https://github.com/boot2docker/boot2docker/releases

如果還是無法下載成功,我是好心人,把1.1.2版本的boot2docker.iso鏡像丟到了百度云上:

http://pan.baidu.com/s/1c01qieG

下載完畢之后放到目錄:

<code><span class="pln">    C</span><span class="pun">:</span><span class="pln">\Users\你</span><span class="pun">的用戶名</span><span class="pln">\.boot2docker\boot2docker</span><span class="pun">.</span><span class="pln">iso</span></code>

另外如果我們的物理機內存低于4G,那么跑這個sh可能需要修改一下,設置內存占用大小:

<code><span class="pln">boot2docker start </span><span class="pun">-</span><span class="pln">m</span><span class="pun">=</span><span class="lit">512</span></code>

可以開始DOCKER旅行了。

就拿要做tomcat集群分布式做例子,我們首先面臨的就是,要把Docker容器里的的內容發布出去,不過在我們打ifconfig時候就會發現,

172.17.0.2和192.168.99.100倆網卡,不過在Docker里訪問外網或者192.168.99.1是可以通的。不過在外面訪問172.17.0.2是不通的,這個時候

就有一個參數-p ? 外網端口|內網端口,例子如下:

我們在啟動容器的時候,?docker run ?-i -t ?-d -p 8081:8080 ubuntu:ubuntu14 /bin/bash,這樣內網的8081端口可以通過192.168.99.100:8080這個地址訪問了。而在使用這個命令后,當前并不是停留在里面。所以我們要看下當前運行的進程,利用docker ps命令

docker@default:~$ docker ps
CONTAINER ID ? ? ? ?IMAGE ? ? ? ? ? ? ? COMMAND ? ? ? ? ? ? CREATED ? ? ? ? ? ? STATUS ? ? ? ? ? ? ?PORTS ? ? ? ? ? ? ? ? ? ?NAMES
ce661e237aaa ? ? ? ?5b21e1ea7e54 ? ? ? ?"/bin/bash" ? ? ? ? 5 seconds ago ? ? ? Up 4 seconds ? ? ? ?0.0.0.0:8081->8080/tcp ? hopeful_minsky
b4da9fbb64a6 ? ? ? ?ubuntu:ubuntu14 ? ? "/bin/bash" ? ? ? ? 34 minutes ago ? ? ?Up 34 minutes ? ? ? 0.0.0.0:8080->8080/tcp ? mad_sammet
dd17cb3a0e35 ? ? ? ?ubuntu:ubuntu14 ? ? "/bin/bash" ? ? ? ? About an hour ago ? Up About an hour ? ? ? ? ? ? ? ? ? ? ? ? ? ? angry_kalam

這個時候我們發現這個進程名叫hopeful_minsky

然后我們就用?docker attach hopeful_minsky 就可以進入到容器內部。

而這個時候,容器里的linux是空空如也,啥都沒有,我們要為他安裝JDK,tomcat

wget http://192.168.99.1:8080/yes/apache-tomcat-7.0.52.zip
unzip apache-tomcat-7.0.52.zip
wget http://192.168.99.1:8080/yes/jdk-8u91-linux-x64.gz

tar -xzvf?jdk-8u91-linux-x64.gz


然后進入到 etc/下找到profile

vi /etc/profile,在最后一行后面填寫環境變量

export JAVA_HOME=/tomcat/bin/jdk1.8.0_91/
export JAVA_BIN=/tomcat/bin/jdk1.8.0_91/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH


之后就需要到tomcat的bin下,先要chmod 777那兩個熟悉的startup.sh 和catalina.sh文件

chmod 777?startup.sh

chmod 777?catalina.sh

接下來就是啟動tomcat

./startup.sh

這就說明成功了。

之后我們辛辛苦苦搭的tomcat 環境,在exit的那一剎那,全沒了,那咋辦?別著急,這玩意其實也是可以保存生成新的鏡像的

當你對某一個容器做了修改之后(通過在容器中運行某一個命令),可以把對容器的修改保存下來,這樣下次可以從保存后的最新狀態運行該容器。docker中保存狀態的過程稱之為committing,它保存的新舊狀態之間的區別,從而產生一個新的版本。

目標:

首先使用docker ps -l命令獲得安裝完ping命令之后容器的id。然后把這個鏡像保存為learn/ping。

提示:

1. 運行docker commit,可以查看該命令的參數列表。

2. 你需要指定要提交保存容器的ID。(譯者按:通過docker ps -l 命令獲得)

3. 無需拷貝完整的id,通常來講最開始的三至四個字母即可區分。?

這時候在打docker images,你會發現多出來鏡像了

REPOSITORY ? ? ? ? ?TAG ? ? ? ? ? ? ? ? IMAGE ID ? ? ? ? ? ?CREATED ? ? ? ? ? ? SIZE
<none> ? ? ? ? ? ? ?<none> ? ? ? ? ? ? ?5b21e1ea7e54 ? ? ? ?29 minutes ago ? ? ?1.019 GB
<none> ? ? ? ? ? ? ?<none> ? ? ? ? ? ? ?9505c52a1644 ? ? ? ?32 minutes ago ? ? ?1.019 GB
<none> ? ? ? ? ? ? ?<none> ? ? ? ? ? ? ?b9a4bba4aa80 ? ? ? ?About an hour ago ? 1.2 GB
<none> ? ? ? ? ? ? ?<none> ? ? ? ? ? ? ?b46f3ab23a1e ? ? ? ?About an hour ago ? 1.019 GB
<none> ? ? ? ? ? ? ?<none> ? ? ? ? ? ? ?a8ac084c4be4 ? ? ? ?2 hours ago ? ? ? ? 653.7 MB
?
ubuntu ? ? ? ? ? ? ?ubuntu14 ? ? ? ? ? ?3c1b6503833a ? ? ? ?27 hours ago ? ? ? ?415.7 MB?

看Created就知道哪個是剛剛建設的了。那不對啊,剛剛起ubuntu的時候,都有tag的,這。。。。none了,咋起。

呵呵,一樣docker run ?-i -t ?-d -p 8081:8080 IMAGEID /bin/bash也一樣啟動,如上面的IMAGEID是5b21e1ea7e54的容器。

docker run ?-i -t ?-d -p 8081:8080 5b21e1ea7e54 /bin/bash

多個端口可以用

docker run ?-i -t ?-d -p 8081:8080 -p 23:22 ?5b21e1ea7e54 /bin/bash

如果你用xshell或crt,以這種方式起來的,直接關閉,只要不exit,容器一直存在。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/news/387976.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387976.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387976.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python記錄日志_5分鐘內解釋日志記錄—使用Python演練

python記錄日志Making your code production-ready is not an easy task. There are so many things to consider, one of them being able to monitor the application’s flow. That’s where logging comes in — a simple tool to save some nerves and many, many hours.使…

理解 Linux 中 `ls` 的輸出

理解 Linux 中 ls 的輸出ls 的輸出會因各 Linux 版本變種而略有差異&#xff0c;這里只討論一般情況下的輸出。 下面是來自 man page 關于 ls 的描述&#xff1a; $ man ls ls - list directory contents 列出文件夾中的內容。 但一般我們會配合著 -l 參數使用&#xff0c;將輸…

鎖表的進程和語句,并殺掉

查看鎖表進程SQL語句1&#xff1a; select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id lo.object_id and lo.session_id sess.sid; 查看鎖…

p值 t值 統計_非統計師的P值

p值 t值 統計Here is a summary of how I was taught to assess the p-value in hopes of helping some other non-statistician out there.這是關于如何教會我評估p值的摘要&#xff0c;希望可以幫助其他一些非統計學家。 P-value in Context上下文中的P值 Let’s start wit…

獲取對象屬性(key)

for…in方法Object.keysObject.getOwnPropertyNames關于對象的可枚舉性&#xff08;enumerable&#xff09; var obj {a: 1,b: 2 } Object.defineProperty(obj, c, {value: 3,enumerable: false }) 復制代碼enumerable設置為false&#xff0c;表示不可枚舉&#xff0c;for…in…

github免費空間玩法

GitHub 是一個用于使用Git版本控制系統的項目的基于互聯網的存取服務,GitHub于2008年2月運行。在2010年6月&#xff0c;GitHub宣布它現在已經提供可1百萬項目&#xff0c;可以說非常強大。 Github雖然是一個代碼倉庫&#xff0c;但是Github還免費為大家提供一個免費開源Github …

用php生成HTML文件的類

目的 用PHP生成HTML文檔, 支持標簽嵌套縮進, 支持標簽自定義屬性 起因 這個東西確實也是心血來潮寫的, 本來打算是輸出HTML片段用的, 但后來就干脆寫成了一個可以輸出完整HTML的功能; 我很滿意里邊的實現縮進的機制, 大家有用到的可以看看p.s. 現在都是真正的前后端分離了(vue,…

在Markdown中輸入數學公式

寫在前面 最近想要把一些數學和編程方面的筆記記錄成電子筆記&#xff0c;因為修改、插入新內容等比較方便。這里記一下在Markdown中輸入數學公式的方法。 基礎知識 公式與文本的區別 公式輸入和文本輸入屬于不同的模式&#xff0c;公式中無法通過空格來控制空白&#xff0c;通…

如何不部署Keras / TensorFlow模型

While the most articles about deep learning are focusing at the modeling part, there are also few about how to deploy such models to production. Some of them say “production”, but they often simply use the un-optimized model and embed it into a Flask web…

[BZOJ3626] [LNOI2014] LCA 離線 樹鏈剖分

題面 考慮到詢問的\(l..r,z\)具有可減性&#xff0c;考慮把詢問差分掉&#xff0c;拆成\(r,z\)和\(l-1,z\)。 顯然這些LCA一定在\(z\)到根的路徑上。下面的問題就是怎么統計。 考慮不是那么暴力的暴力。 我們似乎可以把\(1..r\)的所有點先瞎搞一下&#xff0c;求出一個點內部有…

Linux查看系統各類信息

說明&#xff1a;Linux下可以在/proc/cpuinfo中看到每個cpu的詳細信息。但是對于雙核的cpu&#xff0c;在cpuinfo中會看到兩個cpu。常常會讓人誤以為是兩個單核的cpu。其實應該通過Physical Processor ID來區分單核和雙核。而Physical Processor ID可以從cpuinfo或者dmesg中找到…

biopython中文指南_Biopython新手指南-第1部分

biopython中文指南When you hear the word Biopython what is the first thing that came to your mind? A python library to handle biological data…? You are correct! Biopython provides a set of tools to perform bioinformatics computations on biological data s…

整合后臺服務和驅動代碼注入

整合后臺服務和驅動代碼注入 Home鍵的驅動代碼&#xff1a; /dev/input/event1: 0001 0066 00000001 /dev/input/event1: 0000 0000 00000000 /dev/input/event1: 0001 0066 00000000 /dev/input/event1: 0000 0000 00000000 對應輸入的驅動代碼&#xff1a; sendevent/dev/…

Java作業09-異常

6. 為如下代碼加上異常處理 byte[] content null; FileInputStream fis new FileInputStream("testfis.txt"); int bytesAvailabe fis.available();//獲得該文件可用的字節數 if(bytesAvailabe>0){content new byte[bytesAvailabe];//創建可容納文件大小的數組…

為數據計算提供強力引擎,阿里云文件存儲HDFS v1.0公測發布

2019獨角獸企業重金招聘Python工程師標準>>> 在2019年3月的北京云棲峰會上&#xff0c;阿里云正式推出全球首個云原生HDFS存儲服務—文件存儲HDFS&#xff0c;為數據分析業務在云上提供可線性擴展的吞吐能力和免運維的快速彈性伸縮能力&#xff0c;降低用戶TCO。阿里…

對食材的敬畏之心極致產品_這些數據科學產品組合將給您帶來敬畏和啟發(2020年中的版本)

對食材的敬畏之心極致產品重點 (Top highlight)為什么選擇投資組合&#xff1f; (Why portfolios?) Data science is a tough field. It combines in equal parts mathematics and statistics, computer science, and black magic. As of mid-2020, it is also a booming fiel…

android模擬用戶輸入

目錄(?)[-] geteventsendeventinput keyevent 本文講的是通過使用代碼&#xff0c;可以控制手機的屏幕和物理按鍵&#xff0c;也就是說不只是在某一個APP里去操作&#xff0c;而是整個手機系統。 getevent/sendevent getevent&sendevent 是Android系統下的一個工具&#x…

真格量化常見報錯信息和Debug方法

1.打印日志 1.1 在代碼中添加運行到特定部分的提示&#xff1a; 如果我們在用戶日志未能看到“調用到OnQuote事件”文字&#xff0c;說明其之前的代碼就出了問題&#xff0c;導致程序無法運行到OnQuote函數里的提示部分。解決方案為仔細檢查該部分之前的代碼是否出現問題。 1.2…

向量積判斷優劣弧_判斷經驗論文優劣的10條誡命

向量積判斷優劣弧There are a host of pathologies associated with the current peer review system that has been the subject of much discussion. One of the most substantive issues is that results reported in leading journals are commonly papers with the most e…

自定義PopView

改代碼是參考一個Demo直接改的&#xff0c;代碼中有一些漏洞&#xff0c;如果發現其他的問題&#xff0c;可以下方直接留言 .h文件 #import <UIKit/UIKit.h> typedef void(^PopoverBlock)(NSInteger index); interface CustomPopView : UIView //property(nonatomic,copy…