準備工作及安裝
https://docs.docker.com/engine/install/centos/
1.4 安裝存儲庫
1)安裝docker需要的工具包
我們可以通過修改daemon.json 文件添加其它的倉庫地址,進行鏡像上傳和下載。
修改此配置文件一定要先重啟daemon文件、重啟docker。
設置開機自啟。
Docker的基本命令使用
2.1 docker images
可以查看現有的鏡像上面的參數分別是:
鏡像名、鏡像標簽、鏡像id、鏡像創建時間、鏡像大小。
2.2 docker ps
上面的參數分別是:
容器ID、鏡像ID、啟動容器的命令、容器創建時間、容器狀態、容器端口信息、容器名字。
docker ps -a 會顯示所有的容器包括沒有運行的容器或者已經停止的容器。
2.3 docker run
由上圖可知docker run 后面接鏡像ID 或者 鏡像名:鏡像標簽。
-d參數使容器后臺啟動,會輸出容器的長ID。
-p參數指定虛擬機對容器的端口的映射(虛擬機端口:容器端口)。
--name參數指定容器的名字,不指定名字系統會隨機指定名字。
2.4 docker exec
tomcat是容器名稱,填寫容器ID也是可以的。
進入后臺啟動的容器或者正在運行的容器。
2.5 docker attach
可以看到容器啟動命令的終端。
2.6 docker rm /docker rmi
docker rm 刪除容器;
docker rmi 刪除鏡像。
兩者后面一般接需要刪除的容器或者鏡像的ID,刪除鏡像可以接鏡像名:鏡像標簽。
docker rm -v $(docker ps -aq -f status=exited)
直接刪除所有狀態為exited的容器。
docker rmi -v $(docker images -aq )
當出現如下報錯時,是指還有鏡像與要刪除的鏡像有關聯,無法刪除。
docker image inspect --format={{.RepoTags}} {{.Id}} {{.Parent}} $(docker image ls -q --filter since=c69ebce270d4)
這樣回輸出鏡像名稱:鏡像標簽,和兩個長ID前面為父鏡像ID,后面為子鏡像ID。
docker stop /docker start/docker restart/docker pause/docker unpause
2.7 docker stop /docker start/docker restart/docker pause/docker unpause
分別是停止容器,啟動容器,重啟容器,暫停容器,開啟容器。
docker restart 是先執行docker stop 在執行docker start。
制作鏡像(以tomcat為例)
鏡像制作有兩種方式分別是docker commit 和docker build。我們下面所涉及的是通過Dockerfile來制作鏡像。
以tomcat9.0.67版本的包為例子制作鏡像。
3.1 Dockerfile文件
Dockerfile文件是docker build 定制鏡像的基礎。
docker build -f xxx -t yyy:1.0 .
最后的 . 表示會調用當前目錄的包。
-f 參數是指定Dockerfile的路徑(如果是在當前目錄下不需要指定;如果是在當前目錄下且文件名非Dockerfile,需要指定文件)
-t 參數是指將制作好的鏡像命名和標簽(如果不寫標簽,標簽將為latest)
不過在從網上的公共庫中下載的鏡像的標簽為latest是指最新版本。
FROM 已centos:7為基礎,制作鏡像。
ADD 將jdk,tomcat 包放在/usr/local下,ADD會直接解壓包。
COPY 和ADD用法一樣。
COPY和ADD都是復制文件到鏡像中,他們區別在于,如果ADD指定的文件是歸檔文件將會解壓出來。
RUN 運行容器指定的命令,一般是下載一些必要的包,和一些基本的操作;
USER tomcat 這個是指將會以tomcat用戶運行,不會是root用戶,前提有這個用戶
ENV 配置環境變量;
WORKDIR 設置工作目錄;
EXPOSE 設置暴露的端口,要與tomcat設置的端口一致;
CMD 容器啟動使的命令;
ENTRYPOINT 容器啟動時的命令;
Dockerfile里面可以有多個CMD和ENTRYPOINT命令,但是都是只有最后一個生效;CMD會被docker run后面的參數替換;CMD或docker run之后的參數會被當做參數傳遞給ENTRYPOINT。
在制作鏡像的時候盡量少一些命令,每一個RUN、ENV等都會使鏡像的層數增加,這是不符合鏡像的原則。
3.2 準備好需要的包
3.3 改包的名字(防止在使用鏡像的時候暴露版本)
記住不能直接改壓縮包的名字,否則解壓出來的還是原來壓縮包的名字。
3.4 更改配置文件
(更改配置文件的要求要根據基線的要求)
1)修改端口
修改server.xml 文件:
這里包含了兩部分,第一部分是HTTP訪問頁面的配置:
port 是HTTP訪問的端口;
maxHttpHeaderSize是HTTP請求和響應頭的最大量,以字節為單位;
maxThreads是tomcat啟動的最大線程數;
minSpareThreads當連接器第一次啟協創建線程的數目,確保至少有這么多的空閑線程可用;
maxSpareThreads允許存在空閑線程的最大數目;
enableLookups是否反查域名,若設為true, 則支持域名解析,可把 ip 地址解析為主機名;
acceptCount 當所有的可能處理的線程都正在使用時,在隊列中排隊請求的最大數目,隊列已滿,任何接收到的請求都會被拒絕;
connectionTimeout設置連接的超時值,以毫秒為單位;
disableUploadTimeout允許Servlet容器,正在執行使用一個較長的連接超時值,以使Servlet有較長的時間來完成它的執行;
redirectPort在需要基于安全通道的場合,把客戶請求轉發到基于SSL的端口。
port是HTTPS訪問的端口,與第一部分的redirectPort相同;
maxThreads是tomcat啟動的最大線程數;
SSLEnabled啟用HTTPS;
scheme設置協議的名字,SSL連接器設為”https”;
secure在SSL連接器可將其設置為true;
clientAuth設置是否對客戶端進行HTTPS認證;
sslProtocol要使用的SSL協議;
keystoreFile存儲了服務器HTTPS證書的keystore文件的位置;
keystorePass用于訪問指定keystore文件的密碼。
2)修改web.xml文件
修改結果如上,表示當 WEB 目錄中沒有默認首頁如 index.html,index.jsp 等文件時,不會列出目錄內容。
修改結果如上,表示禁用非法HTTP方法例如PUT、DELETE等。
添加如上字段,表示強制HTTP轉HTTPS訪問頁面。
添加如上字段,表示tomcat的頁面重定向,目錄是tomcat目錄下的/webapps/ROOT。
3)修改tomcat自帶的版本信息
首先進入tomcat目錄下的lib目錄,找到改 catalina.jar。
將其解壓:
修改成如下:
如上是tomcat修改了版本之后日志的輸出。
4)禁用manager 權限
將tomcat目錄下的webapps目錄除了ROOT目錄全部刪除。
進入ROOT目錄,并刪除全部文件和目錄。
創建如下文件:
error.jsp是錯誤重定向的頁面;
index.html 是當無其他應用運行時的訪問頁面。
首先我們的證書是通過jdk制作的,所以需要保證我們的虛擬機有jdk環境否則無法運行命令。
添加jdk環境:
使環境生效,并測試是否成功。
證書制作:
為了方便這里的所有的口令都是一致的,而且這里的文件沒有指定目錄,將會在當前目錄下生成。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129101.html
摘要:作者麥冬白鯨魚是什么入門教程容器是與系統其他部分隔離開的一系列進程,運行這些進程所需的所有文件都由另一個鏡像提供,從開發到測試再到生產的整個過程中,容器都具有可移植性和一致性。快速容器的啟動和創建無需啟動,可以實現秒級甚至毫秒級的啟動。 作者: 麥冬 白鯨魚 docker 是什么 Docker 入門教程 Docker容器是與系統其他部分隔離開的一系列進程,運行這些進程所需的所有文件都由...
摘要:由于隔離的進程獨立于宿主和其它的隔離的進程,因此也稱其為容器。設計時,就充分利用的技術,將其設計為分層存儲的架構。鏡像實際是由多層文件系統聯合組成。分層存儲的特征還使得鏡像的復用定制變的更為容易。前面講過鏡像使用的是分層存儲,容器也是如此。 本文只是對Docker的概念做了較為詳細的介紹,并不涉及一些像Docker環境的安裝以及Docker的一些常見操作和命令。 閱讀本文大概需要15分...
摘要:對測試的影響讓單元測試運行的更順暢單元測試驅動開發是一個很好的應用程序開發方式,單元測試往往也是和代碼一起被提交到代碼倉庫中。但是很多單元測試通常依賴于很多其他服務,而這些服務的標準化配置往往是一個難點,如數據庫的搭建防火墻的配置等。 傳統的軟件開發、測試、運維需要三個團隊在三個不同的環境中進行,而三個環境的不同引發了很多的問題。如:工作內容的重復;開發環境中可運行的程序在測試和運維環...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4099·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3594·2023-01-11 13:20