前言
之前學(xué)習(xí)了如何安裝docker彤悔,今天練習(xí)一下docker的使用薯定,docker常用的命令并不多唾那,通過實(shí)踐學(xué)習(xí)docker是最有效的方式庞钢。所以接下來通過一個(gè)簡單的案例對docker進(jìn)行實(shí)戰(zhàn)演練拔恰。
正文
我們使用Dockerfile的方式來構(gòu)建docker鏡像,首先我們需要一個(gè)SpringBoot項(xiàng)目基括,SpringBoot這里就不講解了颜懊。接下來貼一段Dockerfile的code
# 指定使用鏡像,docker默認(rèn)會(huì)從官網(wǎng)拉取鏡像,可以配置一下dokcer加速
FROM openjdk:8-jre-alpine
# 容器掛載目錄,數(shù)據(jù)持久化
VOLUME /tmp
# 維護(hù)者信息
MAINTAINER xxxxx@163.com
# RUN命令 相當(dāng)于執(zhí)行bash命令,可以執(zhí)行多個(gè)RUN命令风皿。
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN mkdir -p /springboot-demo
# 定義docker工作目錄河爹,如果不設(shè)置,默認(rèn)為Dockerfile路徑桐款,所有Dockerfile命令均在此目錄下執(zhí)行
WORKDIR /springboot-demo
# 要暴露的端口咸这,只起警示作用,沒有實(shí)際作用
EXPOSE 8080
# 復(fù)制命令 相當(dāng)于bash 的cp命令
ADD ./springboot-demo-0.0.1-SNAPSHOT.jar ./app.jar
# 設(shè)置container時(shí)執(zhí)行的操作,可以有多個(gè)鲁僚,只執(zhí)行最后一條
CMD java -jar app.jar
把Dockerfile文件以及打包好的springboot jar包上傳至服務(wù)器炊苫。
執(zhí)行構(gòu)建命令
# -t 表示給創(chuàng)建的鏡像添加名稱 . 代表在當(dāng)前目錄下執(zhí)行
docker build -t hello .
可以看到鏡像構(gòu)建成功了,接下來就可以通過docker運(yùn)行鏡像文件了冰沙。image
# 查看創(chuàng)建的鏡像名稱
docker images
# imagesId 指鏡像id侨艾,也可以通過指定鏡像名稱:tag的方式運(yùn)行
docker run -name hello -d -p 8080:8080 IMAGE ID
# 查看容器運(yùn)行狀態(tài)
docker ps -a
# 查看容器信息
docker inspect hello:latest
總結(jié)
至此,一個(gè)簡單的Docker工程就構(gòu)建成功了拓挥。初學(xué)者對一些命令會(huì)比較模糊唠梨。慢慢接觸的多了就好了。這里盡可能多的演示了一些常用命令侥啤。后續(xù)會(huì)出一個(gè)比較詳細(xì)的Dockerfile講解当叭。