文章目錄
- 前言
- 一、Docker操作鏡像
- 1、拉取鏡像
- 2、查看鏡像
- 3、洗掉鏡像
- 4、保存鏡像
- 5、讀取鏡像
- 5、鏡像幫助命令
- 二、Docker容器基礎操作
- 1、創建并運行容器
- 2、查看容器運行狀態
- 3、查看容器啟動日志
- 4、停止容器
- 5、啟動容器
- 6、暫停容器
- 7、恢復容器
- 8、進入容器
- 9、洗掉容器
- 三、Docker容器資料卷操作
- 1.資料卷基礎命令
- 1.1 創建資料卷
- 1.2 查看資料卷
- 1.3 洗掉資料卷
- 2.資料卷掛載
- 四、Dockerfile自定義鏡像
- 1、撰寫Dockerfile檔案
- 2、構建鏡像
- 3、運行鏡像
- 4、訪問測驗
- 總結
前言
一、Docker操作鏡像
首先鏡像名稱一般分為兩個部分:[repository]:[tag],前者是鏡像名,后者是版本號,在沒有指定tag的情況下,默認是latest,代表的是最新版本,

1、拉取鏡像
首先怎么獲得鏡像呢?你可以從本地構建一個鏡像,使用docker build命令,下文我們會說到如何構建自己的鏡像,我們先從鏡像倉庫中拉取鏡像,使用docker pull命令進行拉取,如下圖所示:
docker pull nginx
首先我們得找到docker的鏡像倉庫,網址:https://hub.docker.com/ ,輸入你要拉取的鏡像名稱,如下圖所示,我們拉取一個Nginx進行安裝,

檢索到之后,我們選擇一個我們需要的版本進行下載:


2、查看鏡像
當我們拉取鏡像成功之后(下載成功),怎么查看我們的鏡像呢?使用docker images命令,如查看我們剛剛拉取的鏡像,如下圖所示:
docker images

3、洗掉鏡像
串列中列出了我們現有的鏡像,比如此時我們不需要這個鏡像了,如何洗掉呢?使用docker rmi命令,如下圖所示:
docker rmi nginx
docker rmi 鏡像名稱 / docker rm 鏡像ID

4、保存鏡像
如果我們的鏡像需要分享給別人,怎么操作呢?使用docker push命令,那么首先我們得有一個鏡像檔案是吧!其實就類似于把檔案分享出去,我們需要處理成一個壓縮包的形式,使用docker save命令即可打包成一個tar檔案,那么當別人收到這個鏡像的時候,如何解壓呢?使用docker load命令即可解壓,如下圖操作所示:
鏡像打包:
docker save -o nginx.tar nginx:latest

在這之前,我們先洗掉鏡像后,再做匯入操作,以免重復,

5、讀取鏡像
鏡像解壓:
使用如下命令進行鏡像tar包解壓:
docker load -i nginx.tar

5、鏡像幫助命令
這么多命令記不住怎么辦?使用docker help命令幫助我們查看每個命令的使用方式,如下圖操作所示:
docker help

繼續使用docker 命令 --help 的命令查看具體命令的使用:
docker images --help

二、Docker容器基礎操作
1、創建并運行容器
docker run --name mynginx -p 80:80 -d nginx
docker run : 創建并運行一個容器
–name:給容器起一個名字
-p:將宿主機埠與容器埠做一個映射,冒號左邊是宿主機埠,右邊是容器埠
-d:代表行程以后臺方式運行
nginx:鏡像全稱,沒有標簽,代表最新版本


2、查看容器運行狀態
docker ps -a
3、查看容器啟動日志
docker logs 容器名稱

如果想查看日志的實時資訊,跟蹤日志輸出:
docker logs -f 容器名稱

4、停止容器
docker stop 容器ID

當容器狀態為Exited (0):表示退出,Up:表示在線
5、啟動容器
docker start 容器ID

6、暫停容器
docker pause 容器ID

7、恢復容器
docker unpause 容器ID

8、進入容器
進入容器,修改Nginx的HTML歡迎頁,
docker exec -it mynginx bash

exit // 退出終端
9、洗掉容器
docker rm 容器ID

在洗掉容器之前,必須先停止容器,才能執行洗掉命令:

三、Docker容器資料卷操作
1.資料卷基礎命令
資料卷是一個虛擬目錄,指向宿主機檔案系統中的某個檔案目錄
1.1 創建資料卷
docker volume create html

1.2 查看資料卷
docker volume inspect
docker volume ls

1.3 洗掉資料卷
docker volume prune // 洗掉未使用的資料卷
docker volume rm html // 更具資料卷名稱洗掉

2.資料卷掛載
修改Nginx啟動的默認歡迎頁,我們使用資料卷掛載的方式來操作:
docker run --name mynginx -p 80:80 -v html:/usr/share/nginx/html -d nginx
-v:將html這個資料卷掛載到/usr/share/nginx/html這個目錄上,并且當html資料卷不存在的時候,容器會自動創建該資料卷


此時我們nginx啟動成功了,我們去查看html資料卷是否創建成功了,

進入資料卷的硬碟存盤地址,修改Nginx的html內容,


我們修改一下Nginx的歡迎頁面內容:

修改保存成功之后,我們重繪一下web網頁,發現動態重繪了,高級,爽啊!!!!!!!!!!!!,

四、Dockerfile自定義鏡像
這里我們以部署一個jar檔案為例子,簡單說一下Dockerfile的使用方式,首先準備好一個普通SpringBoot的jar包,并且上傳至Linux服務器,

1、撰寫Dockerfile檔案
# Docker image for springboot file run
# VERSION 0.0.1
# Author: DT辰白
FROM java:8
MAINTAINER 1973984292@qq.com
LABEL description="描述jar包資訊"
ADD dt.jar app.jar
ENTRYPOINT ["java","-jar","app.jar"]
命令解釋:
FROM: 表示的是這個dockerfile構建鏡像的基礎鏡像是什么,以哪個鏡像作為基礎進行制作,比如這里我們要運行java的一個jar包,JDK是整個Java的核心,是java運行的基礎環境,所以首先必須有基礎鏡像java,這里 : 指代版本的意思,如果鏡像名稱中沒有制定TAG,默認為latest,
MAINTAINER: 就是維護者資訊了,通常是名字/郵箱格式,
LABEL: 用于為鏡像添加元資料,就類似備注資訊,
WORKDIR: 作業目錄,類似于cd命令
ADD: 顧名思義,就是添加檔案的功能了,將jar包添加到容器中并更名為app.jar,
RUN: 就是鏡像操作命令,比如特殊的配置,安裝等等,RUN命令默認使用/bin/sh,Shell執行,默認為root權限,如果命令過長需要換行,需要在行末尾加\,
ENTRYPOINT: 就是容器啟動命令,
2、構建鏡像
注意 . 表示 Dockerfile 檔案在當前目錄下
docker build -t boot-service .

3、運行鏡像
docker run -d -p 8080:9093 boot-service
-d 引數是讓容器后臺運行
-p 是做埠映射,此時將服務器中的8080埠映射到容器中的9093(專案中埠配置的是9093)埠

4、訪問測驗
瀏覽器輸入web地址,訪問測驗,這里小編隨便使用的本地的一個小demo,SpringBoot集成freemarker的簡單使用,

跟蹤實時日志:

總結
最后文章到這里就結束了,最近小編的最新版Spring Cloud Alibaba微服務架構-Sentinel高可用防護組件篇馬上也要發布了,希望大家嘗鮮,并且小編之前打造過一個后臺管理系統,正在代碼重構當中,集成了Activiti作業流,大家可以期待一下,總之不負小伙伴們的支持,后面會越來越多的干貨,并且會給大家整體理一下,作為一個新生代農民工,我們應該如何提高我們的技術,這里小編自己創建了一個交流群,感興趣的同學可以加入,群號在博客主頁能看到,大家一起暢聊,無論前端還是后端,運維,都歡迎,職業不限,
本篇文章結束了,后面我們再繼續深入研究微服務其他的組件的使用以及原理剖析,創作不易,喜歡的請關注小編CSDN:https://blog.csdn.net/qq_41107231 以及掘金:https://juejin.cn/user/3940246036699848
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/295134.html
標籤:其他
上一篇:IT軟體測驗 怎么樣?
