Docker 實際部署

HuDu發表於2020-08-04

Docker 部署 Nginx

# 1.搜尋映象 search 建議從docker搜尋,可以看到幫助文件
$ docker search nginx

# 2.下載映象
$ docker pull nginx

# 3.啟動 nginx 容器,-d 後臺執行,--name給容器命名,-p 通過宿主機的3344埠訪問nginx預設的80埠
$ docker run -d --name nginx01 -p 3344:80 nginx

# 4.檢視時候啟動成功
$ docker ps

# 5.執行測試

# 6.進入nginx容器
$ docker exec -it nginx01 /bin/bash

# 7.停止 nginx 容器
# exit
$ docker stop nginx01或者容器id

Docker 實際部署

埠暴露的概念
Docker 實際部署

問題:
每次修改檔案需要進入容器,很麻煩,如何在外部容器提供一個對映路徑,達到在宿主機修改檔名,容器內部就可以自動修改?
-v 資料卷!

Docker 部署 tomcat

# 官方使用
docker run -it --rm tomcat:9.0

# 我們之前的啟動都是後臺,停止了容器之後,容器還是可以查到    docker run -it --rm 一般用來測試,用完及刪除

# 下載再啟動
docker pull tomcat:9.0

# 啟動
docker run -d -p 3355:8080 --name tomcat01 tomcat

# 測試訪問沒有問題

# 進入容器
docker exec -it tomcat01 /bin/bash

# 發現問題:1.linux命令少了,2.沒有webapps。阿里映象的原因,預設是最小的映象,所以不必要的都剔除了
# 保證最小可執行的環境

# 顯示頁面,將webapps.dist下檔案拷貝到webapps目錄下
cp -r webapps.dist/* webapps

Docker 部署 es(elasticsearch) + kibana

# es 暴露的埠很多
# es 十分耗記憶體
# es 的資料一般需要放置到安全目錄!掛載
# --net somenetwork 網路配置
$ docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag

# 下載啟動
$ docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2

# 啟動了 linux就卡住了
$ docker stats 檢視 cpu的狀態

# 修改配置檔案 -e 環境配置修改
$ docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2

使用kibana 連線 es

Docker 實際部署

  • 問題

如何使用kibana連線es,網路如何才能連線過去。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章