怎么使用Docker搭建Java環境

這篇文章主要介紹“怎么使用Docker搭建Java環境”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“怎么使用Docker搭建Java環境”文章能幫助大家解決問題。

創新互聯專注于企業成都全網營銷、網站重做改版、牡丹網站定制設計、自適應品牌網站建設、H5技術商城網站定制開發、集團公司官網建設、外貿網站制作、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為牡丹等各大城市提供網站開發制作服務。

docker是干什么的

docker 是一個基于linux容器(lxc-linux container)的高級容器引擎,基于go語言開發,源代碼托管在 github 上, 遵從apache2.0協議開源。docker的目標是實現輕量級的操作系統虛擬化解決方案。

學習docker首先要了解幾個概念:

鏡像—docker的鏡像和常見的系統iso鏡像類似,包含了應用程序的信息;

容器—容器相當于一個可以運行起來的虛擬機,應用程序運行在容器中,docker運行在“docker”上;

倉庫—倉庫是存放鏡像的地方,有類似git的版本控制,同樣分為公開倉庫(public)和私有倉庫(private)兩種形式;

docker支持大部分的linux發行版,通過使用docker容器,就可以在不同的操作系統,不同的機器上運行自己的應用,不用關心硬件、運行環境之類的配置,應用程序的遷移變得非常簡單。

docker和傳統虛擬化技術的對比

相比傳統虛擬機技術,docker資源占用少,啟動更快,很大的方便了項目的部署和運維。

docker是在操作系統層面上實現虛擬化,復用本地主機的操作系統,傳統方式是在硬件的基礎上,虛擬出多個操作系統,然后在系統上部署相關的應用。

這張圖片很形象的說明了docker和vm之類的傳統虛擬化技術的區別:

怎么使用Docker搭建Java環境 vs怎么使用Docker搭建Java環境

準備

首先需要準備一個centos的操作系統,虛擬機也可以。具體配置要求如下:

1.必須是64位操作系統
2.建議內核在3.8以上

安裝docker

只需要通過以下命令即可安裝docker軟件

yum -y install docker-io

可使用以下命令,查看docker是否安裝成功:

docker version

如果輸出看docker的版本號,則說明安裝成功了,可通過以下命令啟動docker服務:

service docker start

如果service命令啟動不了用下面的

systemctl start docker.service

做法

就像安裝軟件一樣,我們首先需要有一張刻錄了該軟件的光盤,如果使用的是虛擬光驅,那么就需要準備鏡像的文件,通過它來安裝軟件。在docker的世界里,也是有鏡像的文件的,已經安裝我們所需的操作系統,我們一般稱為docker鏡像

下載鏡像

docker search <image>

使用docker pull imagename(鏡像名)來下載鏡像

下載完成后使用以下命令查看本地所有的鏡像:

docker images

當下載完成后,你應該會看到:

repository        tag         image id      created       virtual size
docker.io/centos   centos7       f753707788c5    12 days ago     127.1 mb

如果看到以上輸出,說明你可以使用 “docker.cn/docker/centos”這個鏡像了,或將其稱為倉庫(repository),該鏡像有一個名為”centos7”的標簽(tag),此外還有一個名為”25c5298b1a36”的鏡像id(這個是隨機生成,所以每個人看到的都不一樣)

啟動容器

容器是在鏡像的基礎上來運行的,一旦容器啟動了,我們就可以登錄到容器中,安裝自己所需的軟件或應用程序。

使用進入已經運行的docker

docker attach dabfb413d8cf[容器id]

使用以下命令即可啟動容器:

docker run -i -t -v /root/software/:/mnt/software/ --privileged=true 2a392a47afc5

docker run <相關參數> <鏡像 id> <初始命令>

其中相關參數包括:

-i:表示以交互模式運行容器

-t:表示容器啟動后會進入其命令行

-v:表示需要將本地哪個目錄掛載到容器中,格式-v<宿主機目錄>:<容器目錄>

假設我們的所有安裝程序都放在了宿主機的/root/software/目錄下,現在需要將其掛載到容器的/mnt/software/目錄下。

這一切做好后你就可以為這個容器安裝軟件了。

docker 傳送文件命令

docker cp more.log e7de404c00bd:/tmp/ 

1f8787b81bcd

安裝java開發環境

我們需要安裝的有jdk1.7,、tomcat7、nginx,安裝包去官網下載就行了

1.安裝jdk

首先,解壓jdk程序包:

tar -zxf jdk-7u71-linux-x64.tar.gz –c

如果是rpm包

rpm –ivh jdk-7u71-linux-x64.tar.gz

然后重命名文件夾

mv jdk1.7.0_71/ jdk/

最后配置環境變量

vi ~/.bashrc

在文件末尾添加如下配置:

export java_home=/opt/jdk

export path=$path:$java_home

·用文本編輯器打開/etc/profile

·在profile文件末尾加入:

export java_home=/usr/share/jdk1.6.0_14 
 export path=$java_home/bin:$path 
 export classpath=.:$java_home/lib/dt.jar:$java_home/lib/tools.jar

最后使用source命令,讓環境變量生效:

source ~/.bashrc

source /etc/profile

1.安裝tomcat

也是一樣,解壓tomcat程序包:

tar –zxf apache-tomcat-7.0.55.tar.gz

然后重命名tomcat目錄:

mv apache-tomcat-7.0.55/ tomcat/

編寫一個運行腳本,當啟動容器時,運行該腳本,啟動tomcat,具體過程如下:

vi /root/run.sh

然后,編輯腳本內容如下:

#!/bin/bash

source ~/.bashrc

sh /opt/tomcat/bin/catalina.sh run

注意:這里必須先加載環境,然后使用tomcat的運行腳本來運行tomcat

最后,為運行腳本添加執行權限:

chmod u+x /root/run.sh

1.安裝nginx

先去官網下載源碼包注意要是gz的

下載地址

下載完后,解壓安裝包:

tar -zxvf nginx-1.11.5.tar.gz

然后再配置安裝變量,打開解壓后的目錄-執行命令

cd nginx-1.11.5

配置安裝環境

./configure  --prefix=/usr/local/servers/nginx  “/usr/local/servers/nginx”是安裝路徑

有可能會出現./configure: error: c compiler cc is not found

這時需要運行命令更新一下gcc

yum install gcc gcc-c++ ncurses-devel perl

yum -y install pcre-devel

yum -y install zlib-devel

yum -y install autoconf libtool make

在解壓目錄執行:

make

切換到root用戶執行安裝命令

make install

創建軟鏈

ln –s /usr/local/servers/nginx/sbin/nginx /usr/local/bin/nginx

啟動nginx服務

nginx

再用 ps  -ef|grep nginx查看是否啟動成功

提交docker鏡像

首先退出你剛才配置好的docker鏡像

exit

然后使用以下命令可以看到剛才退出的docker鏡像

docker ps –a

再使用以下命令,根據某個”容器id”來創建一個新的”鏡像”:

docker commit 57c312bbaad1 javaweb:0.1

該容器id是”57c312bbaad1”,所創建的鏡像名是”javaweb”

注意:”57c312bbaad1” 這個id是使用 docker ps 命令來查看的

提交了新的鏡像你可以把這個鏡像儲存tar包

docker  –o ~/javaweb.tar javaweb

docker  save –o  保存的目錄  鏡像名

啟動容器

先用 docker  images看看當前所有的鏡像

啟動最新創建的鏡像

docker run -d -p 80:80 --name javaweb javaweb:0.1 /root/run.sh

-d:表示以”守護模式”執行/root/run.sh腳本,此時tomcat控制臺不會出現在輸出終端上。

-p:表示宿主機與容器的端口映射,此時將容器內部的80端口映射為宿主機的 80端口,這樣就向外界暴露了80端口,可通過docker網橋來訪問容器內部的80端口了

--name:表示容器名稱,用一個有意義的名稱命名即可

關于“怎么使用Docker搭建Java環境”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注創新互聯行業資訊頻道,小編每天都會為大家更新不同的知識點。

新聞名稱:怎么使用Docker搭建Java環境
當前路徑:http://m.kartarina.com/article36/jedcpg.html

成都網站建設公司_創新互聯,為您提供ChatGPT營銷型網站建設軟件開發搜索引擎優化網站改版網站內鏈

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設公司
主站蜘蛛池模板: 久久无码专区国产精品| 国产色爽免费无码视频| 亚洲AV无码AV男人的天堂不卡| 69天堂人成无码麻豆免费视频| 久久水蜜桃亚洲AV无码精品| 中文字幕人妻无码一夲道| 亚洲av永久无码天堂网| 亚洲AV无码专区亚洲AV伊甸园| 免费无码又爽又刺激高潮| 18禁无遮挡无码国产免费网站| heyzo高无码国产精品| 无码八A片人妻少妇久久| 中文无码成人免费视频在线观看| 无码夜色一区二区三区| 精品无码日韩一区二区三区不卡 | 无套内射在线无码播放| 国产AV天堂无码一区二区三区| 久久久久久国产精品免费无码| 亚洲综合无码精品一区二区三区| 亚洲另类无码专区丝袜| 91久久精品无码一区二区毛片| 亚洲成av人片在线观看无码不卡| 中文字幕在线无码一区| 特级无码a级毛片特黄| 国产精品无码素人福利免费 | 亚洲av永久无码精品天堂久久| 国产无码一区二区在线| 国产免费AV片无码永久免费| 久久久久久亚洲精品无码| 无码人妻丰满熟妇区BBBBXXXX| 久久精品无码专区免费青青 | 性无码免费一区二区三区在线| 中文无码AV一区二区三区| 国产成人无码精品久久久久免费| 无码日韩人妻AV一区二区三区| 久久亚洲av无码精品浪潮 | 久久午夜无码鲁丝片秋霞| 亚洲国产精品无码久久一区二区| 亚洲熟妇无码八AV在线播放| 18禁超污无遮挡无码免费网站| 最新国产精品无码|