一、部署Nginx
1、下載nginx鏡像(這一步可以省略,直接進入第二步會自動下載的) pull
2、啟動容器 run
3、進入容器 exec
1、鏡像:
docker hub官網搜索nginx
-
下載:docker pull nginx
查看下載情況:docker images
2、容器:
創(chuàng)建容器命令:docker run [-d 后臺啟動] [--name nginx01 起別名] [-p 3344:80 端口:協(xié)議] [鏡像(包含版本)]
-
(創(chuàng)建)啟動容器實例:docker run -d --name nginx01 -p 3344:80 nginx
查看容器運行狀況:docker ps
本機訪問測試一下:curl localhost:3344
■ 端口暴露 -p 宿主機端口:容器內部端口

圖片.png
- 瀏覽器輸入: http://服務器ip地址:3344/
3344 是暴露的端口
----接下來:
-
進入(正在運行的)容器內部:docker exec -it nginx01 /bin/bash
[root@iZwz9535z41cmgcpkm7i81Z /]# docker exec -it nginx01 /bin/bash root@d1a29e4791e3:/# whereis nginx nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx root@d1a29e4791e3:/# cd /etc/nginx root@d1a29e4791e3:/etc/nginx# ls conf.d fastcgi_params mime.types modules nginx.conf scgi_params uwsgi_params root@d1a29e4791e3:/etc/nginx#
■ /bin/bash
是Linux的一種常用shell腳本,用于解釋執(zhí)行Linux命令,根據鏡像支持的shell的不同,可以使用不同的的shell腳本。
- 容器,也是和虛擬機一樣是虛擬技術呀,通過腳本執(zhí)行/bin/bash實現,創(chuàng)建并進入容器內部docker
● 思考問題:每次改動nginx配置文件,都需要進入容器內部,十分麻煩:
要是可以在容器外部提供一個映射路徑,達到在容器修改文件名,容器內部就可以自動修改?-v 數據卷技術!
二、部署tomcat
-
docker run 可以不用pull,能自動下載

圖片.png
- ctrl+c退出
docker pull tomcat:9.0
- 啟動運行,應該加上版本號:
docker run -d -p 3355:8080 --name tomcat01 tomcat:9.0
- 進入容器
docker exec -it tomcat01 /bin/bash
● 部署tomcat,發(fā)現問題:
1、linux命令少了
2、沒有webapps
[圖片上傳失敗...(image-4da331-1652610780617)]
這是阿里云鏡像的原因:默認使用最小鏡像,所有不必要的都剔除了,保證最小可運行環(huán)境
- 可以通過拷貝的方式,解決沒有webapps的問題:

圖片.png
- 在瀏覽器中輸入:http://服務器ip地址:3355/ 進行訪問
● 思考問題:我們以后部署項目,如果每次都要進入容器很麻煩?
- 要是可以在容器外部提供一個映射路徑,webapps,我們在外部放置項目,容器內部就可以自動修改?-v 數據卷技術!
三、部署es+kibana
● Elasticsearch 的問題:
es 暴露的端口很多
es 十分耗內存
es 的數據一般需要放置到安全目錄!掛載
1、問題1:es 十分耗內存
- 下載啟動運行elastissearch 之后,Linux系統(tǒng)就變得特別卡
# 啟動了 linux就卡住了
docker stats
# 查看 cpu的狀態(tài) #es 是十分耗內存的,1.xG
# 1核2G(學生機)! # 查看 docker stats
2、問題2:es 需要暴露的端口很多 -p
# (下載)啟動 elasticsearch
$ docker run -d --name elasticsearch01 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
# 查看內存占用情況
docker stats

圖片.png
# 先感覺stop一下
docker stop ba18713ca536
3、es 十分耗內存的解決:增加內存的限制,修改配置文件 -e 環(huán)境配置修改
# 通過 -e 限制內存
docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
[root@iZwz9535z41cmgcpkm7i81Z /]# curl localhost:9200/
{
"name" : "14329968b00f",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "0iDu-G_KTo-4X8KORDj1XQ",
"version" : {
"number" : "7.6.2",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
"build_date" : "2020-03-26T06:34:37.794943Z",
"build_snapshot" : false,
"lucene_version" : "8.4.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
4、思考:用kibana連接elasticsearch?
- 思考(kibana連接elasticsearch)網絡如何連接過去

圖片.png
? 參考來源:
狂神的B站視頻《【狂神說Java】Docker最新超詳細版教程通俗易懂》 https://www.bilibili.com/video/BV1og4y1q7M4
如果本文對你有幫助的話記得給一樂點個贊哦,感謝!