linux環境安裝docker,部署應用


 

 

 

安裝:

  1、Docker要求CentOS系統的內核版本高於 3.10 ,通過 uname -r 命令查看你當前的內核版本是否支持安賬docker

  2、更新yum包:sudo yum update

  3、安裝需要的軟件包,yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2

  4、設置yum源:sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

     

  5、可以查看所有倉庫中所有docker版本,並選擇特定版本安裝:yum list docker-ce --showduplicates | sort -r

    

  6、安裝docker:sudo yum install docker-ce-17.12.0.ce

  7、啟動、設置開啟開機啟動

    sudo systemctl start docker

    sudo systemctl enable docker

  8、驗證安裝是否成功(有client和service兩部分表示docker安裝啟動都成功了):docker version

    

  9、查看docker啟動狀態:systemctl status docker(如下圖即啟動成功)   


卸載:

  1、查詢docker安裝過的包:

    yum list installed | grep docker

       

  2、刪除安裝包:

   yum remove docker-ce.x86_64 ddocker-ce-cli.x86_64 -y

  3、刪除鏡像/容器等

    rm -rf /var/lib/docker

  5.啟動docker鏡像容器服務(//將宿主機的9090端口映射到容器的8090端口):docker   -it    -p  9090:8090    應用服務名稱

     

 

 

6.dockerfile 里面配置:

FROM         java:8
workdir    /usr/docker
add  /api-web.jar ./api-web.jar<br>env LOGPATH=/usr/docker/log/api-web.log \
PORT=8080
cmd java -jar /usr/docker/api-web.jar

 

部署前提條件:

1.可以運行jar包的環境
2.機器上已經安裝了docker
3.准備部署的springboot的jar包
4.Dockerfile文件

准備Dockerfile

前三條都很容准備,創建一個Dockerfile:

FROM java:8 VOLUME /tmp ADD dalaoyang_mgr.jar /dalaoyang.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/dalaoyang.jar"]

解釋一下需要注意的地方

1.java:8 是使用jdk版本
2.dalaoyang_mgr.jar是使用jar包名稱
3.ADD dalaoyang_mgr.jar /dalaoyang.jar 拷貝jar到容器
4.ENTRYPOINT 執行jar文件

生成docker鏡像

將Dockerfile和jar放在一個文件夾,使用下面命令生成鏡像,注意最后的.

docker build -t dalaoyang .

注意:dalaoyang是生成的鏡像名稱。

更多docker build命令可以查看菜鳥教程

查看一下docker鏡像

docker images

如圖,可以看到已經有了一個名稱為dalaoyang的鏡像
這里寫圖片描述

運行Docker容器

代碼如下

docker run -d -p 9000:9000 dalaoyang

解釋一下需要注意的地方

1.-d 后台運行
2.-p 9000:9000 將docker容器的9000端口映射到服務器上的9000端口

到這里就配置完成了,在瀏覽器使用:服務器ip:9000就能訪問docker容器內部署的springboot項目了。

 

停止一個正在運行的容器 
1、docker stop 此方式常常被翻譯為優雅的停止容器

docker stop 容器ID或容器名 
參數 -t:關閉容器的限時,如果超時未能關閉則用kill強制關閉,默認值10s,這個時間用於容器的自己保存狀態 
docker stop -t=60 容器ID或容器名

2、docker kill

docker kill 容器ID或容器名 :直接關閉容器

由此可見stop和kill的主要區別:stop給與一定的關閉時間交由容器自己保存狀態,kill直接關閉容器

想更進一步了解處理機制的可以看下面這篇文章,比較詳細但是需要其他方面的 
https://www.jb51.net/article/96617.htm

三、重啟一個容器

docker restart 容器ID或容器名 :不管容器是否啟動,直接重啟容器 
1. 首先 docker ps 查看正在運行的容器信息,顯示2分鍾前啟動運行 
2. docker restart 59ec 重啟容器 
3. 再次 docker ps 查看容器信息 顯示 2秒前啟動運行 
這里寫圖片描述
docker restart 參數 
-t:關閉容器的限時,如果超時未能關閉則用kill強制關閉,默認值10s,這個時間用於容器的自己保存狀態 
這里寫圖片描述

 

docker logs -f -t --since="2017-05-31" --tail=10 edu_web_1

--since : 此參數指定了輸出日志開始日期,即只輸出指定日期之后的日志。

-f : 查看實時日志

-t : 查看日志產生的日期

-tail=10 : 查看最后的10條日志。

edu_web_1 : 容器名稱


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM