CentOS7安裝Docker-CE並部署項目


前言

這是我第一次使用dokcer部署項目,現學現賣。成功之后把所有用到的安裝及部署和操作命令做一個總結。如有不足,請指教。

使用的是阿里雲服務器。CentOS7版本。

Dokcer安裝

1.Centos7安裝Docker,系統一頓操作。

yum install docker-ce

2.設置開機自啟動

chkconfig docker on
systemctl  start docker.service
systemctl  enable docker.service

3.使用Docker 中國加速器,因為Docker是外國的,有個強大防火牆。但是Docker也有秘密武器。

  首先:

vim  /etc/docker/daemon.json

  文件內容:

{
                "registry-mirrors": ["https://registry.docker-cn.com"],
                "live-restore": true
        }

4.重新啟動docker

systemctl restart docker

輸入docker version 返回版本信息則安裝正常。
測試docker是否成功
docker info
出現一下信息證明成功:

········
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Insecure Registries:
127.0.0.0/8
Registries: docker.io (secure)

 

項目部署

准備好一個springboot項目的jar包。

1.創建一個目錄,用於放jar包和配置文件Dockerfile。

mkdir /usr/local/springboot

2.通過SSH工具將jar包上傳並移動到這個文件夾(命令略...)

3.在這個目錄下創建文件Dockerfile

touch Dockerfile

4.編寫這個文件內容

vim Dockerfile
// 內容如下
    FROM java:8
    VOLUME /tmp
    ADD XXXXXXXX.jar app.jar
    RUN bash -c 'touch /app.jar'
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

其中:XXXXXX.jar就是我們的springboot項目的jar包。

5.生成鏡像文件

docker build -t springboot .

注意:以空格+點結尾,springboot是生成鏡像的名字。

6.查看生成的鏡像

docker images

7.創建容器並運行jar包

docker run -d -p 10001:10001 springboot ( springboot就是鏡像文件)

這樣就可以訪問了。

所以,docker容器的性質和linux虛擬機是一樣一樣的。我們使用springboot的jar包,生成鏡像文件,再利用鏡像文件生成容器。最后使用和操作的就是容器。

如果項目更新了,需要更換容器。更換之前,需要停止容器並首先刪除容器,要是先刪除鏡像文件的話,系統就會提示有容器在使用該鏡像。

所以更新的思路為,停止並刪除容器,更換鏡像文件,重新生成容器並運行。

 

如果想要更新,可能用到的命令如下:

8.查看執行中的容器

docker ps

  查看所有容器命令

docker ps -a

9.停止指定的容器

docker stop 784fd3b294d8  (這個是容器ID,上一步知道的,每次都是隨機生成的)

或者

docker stop NAMES (同上)

10.啟動已停止的容器

docker start 784fd4b2947d(這是容器ID)

11.進入docker容器

sudo docker exec -it 容器ID /bin/bash

docker容器就相當於一個linux虛擬機,里面的目錄完全一樣。
查看當前目錄中的文件命令“ll”,不能用,“ls”可以。當然,有的命令不能用,也可以在里面裝。
  1).如果項目中使用logback來打印日志文件,保存的地址是/usr/socket/...,如果用docker容器啟動,產生的log文件當然在容器里,並不在雲服務器對應的位置。進入到容器的指定位置,可以看到日志文件。
  2).如果項目里有上傳文件的功能,並且使用的外部地址,地址是 /usr/upload/.. ,如果用容器運行,也是只會傳到容器里對應的位置。


12.刪除容器

docker rm 784fd3b294d8  (刪除鏡像之前必須先刪除使用該鏡像的容器)

13.如果要刪除鏡像文件

docker rmi springboot(springboot是鏡像文件名字)

 

最后:我這里是使用Dockerfile文件生成鏡像文件的,還有使用maven的方式生成鏡像文件。我還未試過。

 


免責聲明!

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



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