摘要:實(shí)踐定制鏡像準(zhǔn)備文件下載安裝包解壓修改文件移動(dòng)相關(guān)文件修改文件,在的節(jié)點(diǎn)增加屬性?,F(xiàn)在能用賬號(hào)在對(duì)應(yīng)的上進(jìn)行在線部署操作。是一種推出的免費(fèi)的公共鏡像庫(kù)服務(wù)。本地對(duì)鏡像打提交鏡像到倉(cāng)庫(kù)
# CentOS
yum update && yum install -y wget curl unar
# Debain/Ubuntu
apt update && apt install -y wget curl unar
# 下載 tomcat8 安裝包 https://tomcat.apache.org/download-80.cgi
wget -N https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.61/bin/apache-tomcat-8.5.61.zip
# 解壓
unar apache-tomcat-8.5.61.zip && cd apache-tomcat-8.5.61
移動(dòng)相關(guān)文件
mkdir tomcat8-docker
cp tomcat-users.xml server.xml tomcat8-docker/
cd tomcat8-docker
修改 server.xml
文件,在 port="8080"
的 Connector
節(jié)點(diǎn)增加屬性URIEncoding="UTF-8"
。
原因:將 get
請(qǐng)求中的參數(shù)做 UTF-8
編碼,以后在瀏覽器的地址欄可以直接輸入中文參數(shù)。
修改 tomcat-users.xml
文件,在tomcat-users
節(jié)點(diǎn)中增加以下內(nèi)容。
創(chuàng)建 manager.xml
文件。
現(xiàn)在能用 tomcat
賬號(hào)在對(duì)應(yīng)的 tomcat
上進(jìn)行在線部署操作。
新建文件 Dockerfile
touch Dockerfile
cat > Dockerfile << -EOF
# First docker file from kongren
# VERSION 0.0.1
# Author: kongren
# 基礎(chǔ)鏡像
FROM tomcat
# 作者
MAINTAINER kongren
# 定義工作目錄
ENV WORK_PATH /usr/local/tomcat/conf
# 定義manager.xml工作目錄
ENV MANAGER_PATH /usr/local/tomcat/conf/Catalina/localhost
# 定義要替換的文件名
ENV USER_CONF_FILE_NAME tomcat-users.xml
# 定義要替換的server.xml文件名
ENV SERVER_CONF_FILE_NAME server.xml
# 定義要新增的manager.xml文件名
ENV MANAGER_CONF_FILE_NAME manager.xml
# 刪除原文件tomcat-users.xml
RUN rm $WORK_PATH/$USER_CONF_FILE_NAME
# 復(fù)制文件tomcat-users.xml
COPY ./$USER_CONF_FILE_NAME $WORK_PATH/
# 刪除原文件server.xml
RUN rm $WORK_PATH/$SERVER_CONF_FILE_NAME
# 復(fù)制文件server.xml
COPY ./$SERVER_CONF_FILE_NAME $WORK_PATH/
# 復(fù)制文件manager.xml
COPY ./$MANAGER_CONF_FILE_NAME $MANAGER_PATH/
EOF
以上就是Dockerfile的全部?jī)?nèi)容,每一行都有使用說(shuō)明。幾個(gè)關(guān)鍵點(diǎn)如下:
FROM tomcat
的意思是使用tomcat
作為基礎(chǔ)鏡像;tomcat
作為基礎(chǔ)鏡像后,通過(guò)RUN rm
命令將原有的server.xml
和tomcat-users.xml
文件刪除;server.xml
和tomcat-users.xml
文件復(fù)制到原來(lái)的conf
目錄下,這樣就用取代了原有的文件;構(gòu)建 tomcat
鏡像
$ docker build -t kongren/tomcat:8.5.61 .
Sending build context to Docker daemon 18.94kB
Step 1/12 : FROM tomcat
---> 6fa48e047721
Step 2/12 : MAINTAINER kongren
---> Using cache
---> 3edb5058268f
Step 3/12 : ENV WORK_PATH /usr/local/tomcat/conf
---> Using cache
---> 171752ea6f68
Step 4/12 : ENV MANAGER_PATH /usr/local/tomcat/conf/Catalina/localhost
---> Using cache
---> f196a2426d3a
Step 5/12 : ENV USER_CONF_FILE_NAME tomcat-users.xml
---> Using cache
---> 6fae9cc05145
Step 6/12 : ENV SERVER_CONF_FILE_NAME server.xml
---> Using cache
---> ad86732af7c2
Step 7/12 : ENV MANAGER_CONF_FILE_NAME manager.xml
---> Using cache
---> 2014bd71fe8d
Step 8/12 : RUN rm $WORK_PATH/$USER_CONF_FILE_NAME
---> Using cache
---> 637698cb46e0
Step 9/12 : COPY ./$USER_CONF_FILE_NAME $WORK_PATH/
---> Using cache
---> 14a33261309b
Step 10/12 : RUN rm $WORK_PATH/$SERVER_CONF_FILE_NAME
---> Using cache
---> c911d2047dd5
Step 11/12 : COPY ./$SERVER_CONF_FILE_NAME $WORK_PATH/
---> Using cache
---> 8290b98670d7
Step 12/12 : COPY ./$MANAGER_CONF_FILE_NAME $MANAGER_PATH/
---> Using cache
---> 141d73e3bc18
Successfully built 141d73e3bc18
Successfully tagged kongren/tomcat:8.5.61
執(zhí)行完畢后,輸入docker images
命令可以查看當(dāng)前本機(jī)的鏡像。
$ docker images
啟動(dòng) tomcat
。
$ docker run --name=tomcat8 -p 8080:8080 -e TOMCAT_SERVER_ID=tomcat_server_001 -idt tomcat:8.5.61
執(zhí)行docker ps
命令,可以看到啟動(dòng)的容器:
$ docker ps
http://:8080
,可以看到熟悉的頁(yè)面這里使用 Ucloud 的 公共鏡像庫(kù) UHub。UHub 是一種 UCloud 推出的免費(fèi)的公共鏡像庫(kù)服務(wù)。
登錄鏡像倉(cāng)庫(kù)。
$ docker login uhub.service.ucloud.cn -u [email protected]
本地對(duì)鏡像打 tag
:
$ docker tag kongren/tomcat:8.5.61 uhub.service.ucloud.cn/kongren/tomcat:8.5.61
提交鏡像到倉(cāng)庫(kù):
$ docker push uhub.service.ucloud.cn/kongren/tomcat:8.5.61
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/125936.html
Docker技術(shù)之構(gòu)建鏡像和網(wǎng)絡(luò)模式解析 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...
摘要:創(chuàng)建用戶(hù)組并添加用戶(hù)。默認(rèn)情況下是過(guò)濾掉所有的入站規(guī)則。初始命令表示一旦容器啟動(dòng),需要運(yùn)行的命令,此時(shí)使用,表示什么也不做,只需進(jìn)入命令行即可。1.什么是docker docker翻譯為搬運(yùn)工,在這里應(yīng)該可以理解為搬運(yùn)應(yīng)用的工具,也就是云.先了解其運(yùn)用場(chǎng)景之后更容易對(duì)他形成深刻理解. Docker提供了一種可移植的配置標(biāo)準(zhǔn)化機(jī)制,允許你一致性地在不同的機(jī)器上運(yùn)行同一個(gè)Container;...
摘要:的主要作用是自己根據(jù)基礎(chǔ)鏡像,重新定制鏡像,而不是直接從官方倉(cāng)庫(kù)拿現(xiàn)成的使用。以接下來(lái)要構(gòu)建的環(huán)境來(lái)說(shuō)明下,下面我將要搭建一個(gè)的開(kāi)發(fā)環(huán)境,需要進(jìn)行配合。它的主要作用是持久化數(shù)據(jù),避免容器銷(xiāo)毀后內(nèi)部數(shù)據(jù)丟失暴露到宿主機(jī)的端口。 以前一直使用 Vagrant 作為自己的開(kāi)發(fā)環(huán)境,并且在上家公司也推行大家采用 Vagrant 作為開(kāi)發(fā)環(huán)境,保障公司使用的是同一套開(kāi)發(fā)環(huán)境。隨著docker的流...
摘要:的主要作用是自己根據(jù)基礎(chǔ)鏡像,重新定制鏡像,而不是直接從官方倉(cāng)庫(kù)拿現(xiàn)成的使用。以接下來(lái)要構(gòu)建的環(huán)境來(lái)說(shuō)明下,下面我將要搭建一個(gè)的開(kāi)發(fā)環(huán)境,需要進(jìn)行配合。它的主要作用是持久化數(shù)據(jù),避免容器銷(xiāo)毀后內(nèi)部數(shù)據(jù)丟失暴露到宿主機(jī)的端口。 以前一直使用 Vagrant 作為自己的開(kāi)發(fā)環(huán)境,并且在上家公司也推行大家采用 Vagrant 作為開(kāi)發(fā)環(huán)境,保障公司使用的是同一套開(kāi)發(fā)環(huán)境。隨著docker的流...
閱讀 3580·2023-04-25 20:09
閱讀 3770·2022-06-28 19:00
閱讀 3115·2022-06-28 19:00
閱讀 3129·2022-06-28 19:00
閱讀 3230·2022-06-28 19:00
閱讀 2917·2022-06-28 19:00
閱讀 3104·2022-06-28 19:00
閱讀 2703·2022-06-28 19:00