- 資訊首頁(yè) > 網(wǎng)絡(luò )安全 >
- 如何在docker容器中部署應用
本篇內容介紹了“如何在docker容器中部署應用”的有關(guān)知識,在實(shí)際案例的操作過(guò)程中,不少人都會(huì )遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學(xué)有所成!
一個(gè)簡(jiǎn)單的Hello World應用。
1.1 Maven依賴(lài)
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent>
引入spring-boot-starter-web來(lái)創(chuàng )建一個(gè)Web應用。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
1.2 主應用程序
@SpringBootApplicationpublic class FirtSpringBootApplication { public static void main(String[] args) { SpringApplication.run(FirtSpringBootApplication.class, args); } }
1.3 服務(wù)接口
RESTful服務(wù)接口:
@RestControllerpublic class HelloController { @RequestMapping("/hello") public String hello() { return "Hello World"; } }
2 安裝Docker,安裝完畢后,Docker環(huán)境的虛擬IP是192.168.99.100。
3 部署應用
3.1 Spring Boot應用打包
在Spring Boot應用工程目錄下執行mvn 打包命令:
mvn package spring-boot:repackage
工程的target目錄里生成了一個(gè)jar包 firtSpringBoot-0.0.1-SNAPSHOT.jar。將jar包更名為firtSpringBoot-1.0.jar上傳到Docker環(huán)境里。
3.2 Dockerfile文件
Dockfile原則上是一個(gè)批處理文件,包含了構建鏡像的命令。將這些命令放入文件中并不是絕對必要的,因為我們可以將它們傳遞到命令行,只是使用文件更簡(jiǎn)單一些。
現在創(chuàng )建一個(gè)Dockerfile:
FROM alpine:edge MAINTAINER peterwanghao.com RUN apk add --no-cache openjdk8 VOLUME /tmp ADD firtSpringBoot-1.0.jar firtSpringBoot.jar EXPOSE 8080ENTRYPOINT ["java","-jar","/firtSpringBoot.jar"]
3.3創(chuàng )建鏡像
在Dockerfile文件目錄下運行docker build命令,這將下載基鏡像并一條接一條地運行Dockerfile文件中的條目。創(chuàng )建的鏡像的名字是first,標簽1.0。–rm=true,在整個(gè)構建過(guò)程成功后刪除中間環(huán)節的容器。
$docker build -t first:1.0 --rm=true .
使用docker images命令列出所有的鏡像和它們的詳細信息。
docker@default:~/first-spring-boot$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE first 1.0 02f67d8c308d 17 hours ago 119MB hello-world latest e38bc07ac18e 6 weeks ago 1.85kB alpine edge 5c4fa780951b 4 months ago 4.15MB
3.4 運行容器
接下來(lái),我們將運行容器。使用下面的命令加載并運行容器。
docker run --name=first -p 8080:8080 -t first:1.0
使用docker ps命令列出正在運行的容器
docker@default:~/first-spring-boot$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9fc3aef6e852 first:1.0 "java -jar /firtSpri 5 hours ago Up 5 hours 0.0.0.0:8080->8080/tcp first
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站