阿里雲部署docker& docker部署springboot項目

docker簡介及常用命令

---- 

docker是linux容器的一種解決方案,相比於原來使用的vm虛擬機,有很多優勢,比如啓動時秒級,虛擬機爲分鐘級;硬盤使用MB,vm爲GB;而且性能更接近原生;在系統支持量上面,單機支持上千個容器,而vm只有幾十個。

容器包含:
          鏡像  容器  倉庫
對應: 類    實例  (面向對象)
多用於ci/cd  持續集成、持續交付  ,自動化打包部署,自動化測試。 節省資源做更多的事情。
命令
docker run -i -t  // i交互式操作;t終端
docker ps -a  // 查看所有容器
docker start [容器id] // 
docker stop 容器id
docker restart 容器id
        
----------- 運行web應用
docker pull traing/webapp  // 載入鏡像
docker run -d -p traing/webapp  phthon app.py  
-d  後臺運行  -p主機端口映射
docker logs -f  [容器id]  
     logs -f  =》  tails -200f  ....
docker ps 後,可以根據names屬性 進行停職 開始 移除web應用 , 對應 stop start rm [webapp names]
----------鏡像使用 
docker images 

----------docker compose
yaml 文件配置  docker-compose.yml 
編寫Dockerfile文件 
執行: docker-compose up 啓動運行整個應用。
docker-compose up -d // 後臺運行
 

阿里雲Es安裝docker

yum安裝:

$   yum install docker

開機自動啓動

$ service docker start

查看

$ docker version

查看發現報錯:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

使用下面方法: 

$ systemctl daemon-reload
$ sudo service docker restart
$ sudo service docker status (should see active (running))

再查看version,成功安裝

 

部署springboot項目

springboot項目打包 jar包 

https://blog.csdn.net/lileLife/article/details/103890550

新建目錄  

$ mkdir dcapp

上傳打包後的webapp.jar  包

編寫Dockerfile文件

$ touch Dockerfile

vim Dockerfile 

# 基礎鏡像使用java
FROM java:8
# 作者
MAINTAINER lile <[email protected]>
# VOLUME 指定了臨時文件目錄爲/tmp。
# 其效果是在主機 /var/lib/docker 目錄下創建了一個臨時文件,並鏈接到容器的/tmp
VOLUME /tmp 
# 將jar包添加到容器中並更名爲app.jar
ADD webapp.jar app.jar 
# 運行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

也就是 Dockerfile 和 webapp是在一個目錄,該dockerfile是用於將webapp 打成鏡像的

製作鏡像:

$ docker build -t dcwebapp .

# -t 後面指定該鏡像名爲 dcwebapp     命令後面有個 .   !!!

查看鏡像

$docker images

已經制作成功。

啓動容器

先kill掉 前面使用shell運行的 webapp.jar 包,防止端口衝突

$ docker run -d -p 8001:8001 dcwebapp 

# -d  後臺運行  -p端口映射,服務器的8001端口映射到容器的8001端口。

下面的長串就是 運行後的容器id  

查看運行容器 :

$ docker ps 

至此簡單的部署完成 。

日誌查看

使用上面docker ps後的 container id .

docker logs -f -t [container id] 

關閉:

docker stop [conatiler id]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章