久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Docker如何部署

148次閱讀
沒有評論

共計 2171 個字符,預(yù)計需要花費 6 分鐘才能閱讀完成。

這篇文章給大家分享的是有關(guān) Docker 如何部署的內(nèi)容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。

一 : 概述

我們將在 CentOS 7 上演示用 Docker 部署 Spring Boot 程序。

我們需要編譯自己的 Docker 鏡像, 并運行鏡像的容器。

主流的云計算 (PAAS) 平臺都支持發(fā)布 Docker 鏡像。

二 : Dockerfile(一) 介紹

Docker 是使用 Dokerfile 文件來編譯自己的鏡像的。

(二) 指令

FROM : 指明了當(dāng)前鏡像繼承的基鏡像

編譯當(dāng)前鏡像時會自動下載基鏡像

示例 : FROM ubuntu

MAINTAINER : (maintainer, 維護者) 指明了當(dāng)前鏡像的作者

示例 : MAINTAINER info

RUN : 可以在當(dāng)前鏡像上執(zhí)行 Linux 命令并形成一個新的層

RUN /bin/bash -c echo helloworld

RUN [/bin/bash , -c , echo hello]

RUN 是編譯時 (build) 的動作

示例 : 可有如下兩種格式, CMD 和 ENTRYPOINT 也是如此

CMD : (command, 命令 / 指令) 指明了啟動鏡像容器時的默認行為

一個 Dockerfile 里只能有一個 CMD 指令。CMD 指令里設(shè)定的命令可以在運行鏡像時使用參數(shù)覆蓋。

CMD 是運行時 (run) 的動作

示例 : CMD echo this is a test

可被 docker run-d image_name echo this is not a test 覆蓋。

EXPOSE : (expose, 暴露) 指明了鏡像運行時的容器必需監(jiān)聽指定的端口。

示例 : EXPOSE 8080

ENV : (environment, 環(huán)境) 可用來設(shè)置環(huán)境變量

示例 : ENV myName=info 或 ENV myName info

ADD : 從當(dāng)前工作目錄復(fù)制文件到鏡像目錄中去

示例 : ADD test.txt /mydir/

ENTRYPOINT : (entrypoint, 入口點) 讓容器像一個可執(zhí)行程序一樣運行, 這樣鏡像運行時可以像軟件一樣接收參數(shù)執(zhí)行。

ENTRYPOINT 是運行時 (run) 的動作。

示例 : ENTRYPOINT [/bin/echo]

我們可以向鏡像傳遞參數(shù)運行 :

docker run -d image_name  this is not a test

三 : 安裝 Docker

通過下面命令安裝 Docker :

yum install docker

啟動 Docker 并保持開機自啟 :

systemctl start docker #  啟動 docker
systemctl enable docker #  設(shè)置開機啟動

四 : 項目目錄及文件

新建 Spring Boot 項目, docker-demo, 這個項目很簡單, 只修改了入口類, 代碼如下 :

@SpringBootApplication 
@RestController
public class DockerDemoApplication { 
 @RequestMapping(/) 
 public String home() { 
 return  Hello Docker!!  
 }
 public static void main(String[] args) { 
 SpringApplication.run(Ch20dockerApplication.class, args); 
 } 
}

在 CentOS 7 上的 /var/apps/dockerdemo 目錄下放入我們編譯好的 dockerdemo 的 jar 包, 如 dockerdemo-0.0.1-SNAPSHOT.jar, 在同級目錄下新建一個 Dokcerfile 文件。

Dockerfile 文件內(nèi)容如下 :

FROM java:8 #  基鏡像為 Java,  標簽 (版本) 為 8
MAINTAINER info #  作者  info
#  將我們的  dockerdemo-0.0.1-SNAPSHOT.jar  添加到鏡像中,  并重命名為 app.jar
ADD dockerdemo-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080 #  運行鏡像的容器,  監(jiān)聽 8080 端口
ENTRYPOINT [java , -jar , /app.jar] #  啟動時運行 java -jar app.jar

五 : 編譯鏡像

在 /var/apps/dockerdemo 目錄下執(zhí)行下面命令, 執(zhí)行編譯鏡像 :

docker build -t info/dockedemo .

其中, info/dockedemo 為鏡像名稱, 我們設(shè)置 info 作為前綴, 這也是 Docker 鏡像的一種命名習(xí)慣。

注意, 最后還有一個 ., 這是用來指明 Dockerfile 路徑的, . 表示 Dockerfile 在當(dāng)前路徑下。

這時我們查看本地鏡像

docker images

六 : 運行

通過下面命令運行 :

docker run -d --name test -p 8080:8080 info/dockerdemo

查看我們當(dāng)前的容器狀態(tài)

docker ps

當(dāng)前的 CentOS 系統(tǒng)的 ip 為 192.168.25.11, 訪問 http://192.168.25.11:8080

感謝各位的閱讀!關(guān)于“Docker 如何部署”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-25發(fā)表,共計2171字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 当阳市| 梓潼县| 同江市| 白城市| 吕梁市| 聂荣县| 沙湾县| 通渭县| 陆川县| 安图县| 临夏市| 南昌市| 南涧| 西平县| 海安县| 龙山县| 玛沁县| 鄂托克前旗| 台东市| 鄂伦春自治旗| 宜良县| 扶余县| 通化市| 新化县| 南溪县| 乌鲁木齐市| 呼玛县| 九龙坡区| 曲阳县| 东辽县| 阿克苏市| 吐鲁番市| 桐柏县| 庆安县| 新宾| 东安县| 绥中县| 韩城市| 新蔡县| 炉霍县| 台南市|