Ubuntu下通過docker部署springboot項目

Ubuntu下安裝docker

安裝

安裝命令:

sudo apt-get update
sudo apt-get install docker.io

(如果安裝失敗,也可參考如下網(wǎng)站進行安裝:鏈接

啟動

啟動命令:

sudo service docker start

測試

測試運行hello-world:

sudo docker run hello-world

運行效果:

運行效果圖

設置docker鏡像加速

添加鏡像加速地址

編輯daemon.json文件:

sudo vim /etc/docker/daemon.json

添加阿里云加速鏡像地址內(nèi)容:

{
"registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"]
}

重啟服務

sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl status docker

下載基礎鏡像

搜索鏡像

進入阿里云的鏡像倉庫搜索自己想要的鏡像,鏈接。

阿里云鏡像倉庫

找到想要的java基礎鏡像:

java基礎鏡像

右邊有相應的版本,下載自己想要的版本(注:這里的java全部是openjdk,不是oracle
jdk)。

下載鏡像

語法:

docker pull [OPTIONS] NAME[:TAG|[@DIGEST](https://my.oschina.net/u/3392911)]

說明:

OPTIONS:參數(shù),例如 ‘-a’,下載所有版本的鏡像。
NAME:鏡像名稱,例如 ‘java’。
TAG:為版本,例如 ‘java:8u111’,java的8u111版本。

實例:

sudo docker pull java:8u111

(注:如果不指定相應的版本,docker則會自動下載最新的版本。)

查看本地鏡像

運行命令:

sudo docker images
image

編寫Dockerfile

FROM java #基礎的鏡像
ADD application.yml application.yml #添加配置文件
ADD FaceWeb-1.0.2-SNAPSHOT.jar app.jar #添加項目的jar包,并重命名
EXPOSE 80 #聲明端口
VOLUME /tmp #定義匿名卷
#程序的入口點
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar","/app.jar", "--Dspring.config.location=application.yml"]
# Ubuntu 時區(qū)
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

(詳情請參考:鏈接

修改項目配置application.yml

略。

編譯鏡像

上傳文件

在服務器上建立一個文件夾,用于存放docker文件,將文件通過工具全部發(fā)送到服務器上。

image

編譯

語法:

docker build [OPTIONS] PATH | URL | -

OPTIONS說明:

-f :指定要使用的Dockerfile路徑;
-m :設置內(nèi)存最大值;
--tag, -t:鏡像的名字及標簽,通常 name:tag 或者 name格式;可以在一次構建中為一個鏡像設置多個標簽。

實例:

sudo docker build -t faceweb .

(注:詳細語法,請查看:鏈接

image

編譯完成后運行查看鏡像,就可以看到剛剛編譯好的鏡像了。

image

啟動容器

運行命令

語法:

sudo docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTIONS說明:

-d:后臺運行容器,并返回容器ID;
-p: 端口映射,格式為:主機(宿主)端口:容器端口;
--name:"nginx-lb":為容器指定一個名稱;
-e username="ritchie":設置環(huán)境變量;
-P:隨機端口映射。

(注:詳細語法,請查看:鏈接

實例:

sudo docker run –name faceweb -d -p 80:80 faceweb
  1. 查看運行的容器

語法:

sudo docker ps [OPTIONS]

OPTIONS說明:

-a :顯示所有的容器,包括未運行的;
-l :顯示最近創(chuàng)建的容器。

(注:詳細語法,請查看:鏈接

實例:

sudo docker ps -a
image
image

可以清楚的看到端口的映射情況和容器的一些詳細信息。

到目前為止,docker容器的下載,編譯和部署已經(jīng)完成,下面是容器的一些常用操作介紹。

容器常用操作命令

查看運行的容器

查看容器,復制容器的CONTAINER ID。

停止容器

sudo docker stop CONTAINER

啟動容器

sudo docker start CONTAINER

重啟容器

sudo docker restart CONTAINER

刪除容器

sudo docker rm CONTAINER

(注:刪除容器前需要先停止這個容器,刪除是不可逆的,謹慎操作。)

查看容器的日志

sudo docker logs [OPTIONS] CONTAINER

OPTIONS說明:

-f : 跟蹤日志輸出;
-t : 顯示時間戳;
--since :顯示某個開始時間的所有日志;
--tail :僅列出最新N條容器日志。

實例:

sudo docker logs -f cd4c9b023c46

進入容器

語法:

sudo docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

OPTIONS說明:

-i :即使沒有附加也保持STDIN 打開;
-t :分配一個偽終端。

實例:

sudo docker exec -it faceweb /bin/bash
image

鏡像的常用操作

刪除鏡像

語法

sudo docker rmi [OPTIONS] IMAGE [IMAGE...]

OPTIONS說明:

-f :強制刪除;
--no-prune :不移除該鏡像的過程鏡像,默認移除。

實例:

sudo docker rmi faceweb

(注:所有的刪除是不可逆的,請請謹慎操作。)

所有的docker命令請參考:鏈接

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容