溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker部署項(xiàng)目的示例分析

發(fā)布時(shí)間:2022-03-31 09:03:06 來(lái)源:億速云 閱讀:167 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“Docker部署項(xiàng)目的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Docker部署項(xiàng)目的示例分析”這篇文章吧。

環(huán)境準(zhǔn)備

Docker安裝啟動(dòng)

檢查系統(tǒng)內(nèi)核是否滿足3.10及以上版本:

uname -r

升級(jí)內(nèi)核軟件包:

yum update

使用yum安裝Docker:

yum install docker

啟動(dòng)Docker:

systemctl start docker

查看Docker版本:

docker -v

Java環(huán)境安裝

使用Docker安裝Java 8的環(huán)境:

docker pull java:8

Docker遠(yuǎn)程訪問(wèn)配置

打開docker.service文件:

vim /lib/systemd/system/docker.service

添加監(jiān)聽(tīng)端口:

ExecStart=/usr/bin/dockerd-current -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

Docker重啟

重新加載Docker的配置文件:

systemctl daemon-reload

重啟Docker:

systemctl restart docker

查看是否存在dockerd-current進(jìn)程:

netstat -tulp

使用curl查看Docker的配置是否生效:

curl http://127.0.0.1:2375/info

IDEA配置Docker

在路徑File->Settings下打開Docker:

Docker部署項(xiàng)目的示例分析

配置Docker的路徑地址:

Docker部署項(xiàng)目的示例分析

項(xiàng)目配置

配置pom.xml文件

在項(xiàng)目的pom.xml文件中添加如下配置:

<!-- docker-maven-plugin插件 -->
<plugin>
	<groupId>com.spotify</groupId>
	<artifactId>docker-maven-plugin</artifactId>
	<version>1.0.0</version>

	<!-- 綁定插件在指定的phase上執(zhí)行 -->
	<executions>
		<execution>
			<id>build-image</id>
			<!-- 綁定插件在package這個(gè)phase上.這樣只要執(zhí)行mvn package,就會(huì)自動(dòng)執(zhí)行mvn docker:build -->
			<phase>package</phase>
			<goals>
				<goal>build</goal>
			</goals>
		</execution>
	</executions>

	<configuration>
		<!-- 指定生成的鏡像名稱.可以使用項(xiàng)目的名稱作為鏡像名 -->
		<imageName>${project.artifactId}</imageName>
		<!-- 指定標(biāo)簽.這里是可以是鏡像的版本 -->
		<imageTags>
			<imageTag>latest</imageTag>
		</imageTags>
		<!-- 指定項(xiàng)目中Dockerfile文件的路徑 -->
		<dockerDirectory>${project.baseDir}/src/main/resources</dockerDirectory>

		<!-- 指定遠(yuǎn)程Docker路徑地址 -->
		<dockerHost>http://192.168.6.66:2375</dockerHost>

		<!-- 配置復(fù)制jar包到Docker容器中的指定目錄 -->
		<resources>
			<resource>
				<targetPath>/</targetPath>
				<!-- 配置jar包所在路徑. 這里的路徑就是對(duì)應(yīng)項(xiàng)目中的target目錄的路徑 -->
				<directory>${project.build.directory}</directory>
				<!-- 配置需要包含的jar包. 這里對(duì)應(yīng)的就是Dockerfile中添加的文件名 -->
				<include>${project.build.finalName}.jar</include>
			</resources>
		</resources>
	</configuration>
</plugin>

配置Dockerfile文件

FROM java:8

# 掛載目錄
VOLUME /tmp

ADD *.jar app.jar

# 暴露端口號(hào)
EXPOSE 8083

ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]

Docker配置

Maven打包生成Docker鏡像

依次使用Maven工具欄中的cleanpackage命令對(duì)項(xiàng)目進(jìn)行打包操作,生成Docker鏡像

Docker部署項(xiàng)目的示例分析

在生成的Docker鏡像右擊選擇Create Container進(jìn)行Docker鏡像配置,配置完成后點(diǎn)擊Run啟動(dòng)Docker容器:

Docker部署項(xiàng)目的示例分析

Docker容器啟動(dòng)完成后效果圖如下:

Docker部署項(xiàng)目的示例分析

根據(jù)端口名8083和項(xiàng)目名稱oxford訪問(wèn)項(xiàng)目:

http://127.0.0.1:8083/oxford

總結(jié)

Linux操作命令

查看Linux防火墻狀態(tài):

service firewalld status

關(guān)閉Linux防火墻:

service firewalld stop

Docker操作命令

配置Docker開機(jī)自啟動(dòng):

systemctl enable docker

停止Docker服務(wù):

systemctl stop docker

啟動(dòng)Docker服務(wù):

systemctl start docker

查看所有鏡像:

docker images

拉取指定名稱的鏡像:

# :tag是可選值.表示標(biāo)簽.通常為鏡像軟件的版本,默認(rèn)為latest
docker pull 鏡像名:tag

刪除指定的鏡像:

docker rmi image-id

查看運(yùn)行中的Docker容器:

docker ps

查看所有Docker容器,包括運(yùn)行中的Docker容器和未運(yùn)行的Docker容器:

docker ps -a

啟動(dòng)容器:

docker start 容器名稱/容器ID

停止容器:

docker stop 容器名稱/容器ID

刪除容器:

docker rm 容器ID

查看容器日志:

docker logs 容器名稱/容器ID

在指定的Docker容器中運(yùn)行指定的鏡像:

# --name表示自定義容器名稱.-d表示后臺(tái)運(yùn)行
docker run --name 自定義容器名稱 -d 鏡像名稱

# -p表示主機(jī)端口映射到的容器內(nèi)部端口
docker run --name 自定義容器名稱 -d 鏡像名稱 -p 8088:8080

以上是“Docker部署項(xiàng)目的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI