国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【云原生 ? Docker】鏡像的遷移與備份、Dockerflie 使用方法

這篇具有很好參考價值的文章主要介紹了【云原生 ? Docker】鏡像的遷移與備份、Dockerflie 使用方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

docker打包鏡像是不是相當(dāng)于備份,云原生/云計算 - 入門到實戰(zhàn),云原生,docker,容器,云計算

目錄

一、遷移與備份

1. 容器保存為鏡像

2. 鏡像備份

3. 鏡像恢復(fù)與遷移

二、Dockerflie

1. 認(rèn)識 Dockerfile

2. Dockerfile 常用命令

3. 使用 Dockerfile 構(gòu)建鏡像


一、遷移與備份

遷移和備份主要有三個操作命令將容器保存為鏡像、備份鏡像(將鏡像導(dǎo)出為一個文件)、鏡像的遷移與恢復(fù)。遷移與備份在實際操作 Docker 的過程中使用的是非常多的,比如要將一臺服務(wù)器的鏡像遷移到另外一臺服務(wù)器,就么可以先將鏡像保存為一個文件,然后將文件拷貝至另一臺服務(wù)器,最后進(jìn)行鏡像的恢復(fù)來實現(xiàn)。

1. 容器保存為鏡像

#語法
docker commit 容器名稱 鏡像名稱

如下,此時系統(tǒng)中正在運行的容器有 myredis 和 mynginx;

[root@192 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED       STATUS       PORTS                                       NAMES
9ddb490f2ac0   redis     "docker-entrypoint.s…"   4 hours ago   Up 4 hours   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   myredis
90509fb78df4   nginx     "/docker-entrypoint.…"   6 hours ago   Up 6 hours   0.0.0.0:80->80/tcp, :::80->80/tcp           mynginx

我們以操作 mynginx 為例,將容器 mynginx 保存為新鏡像 mynginx_i;

[root@192 ~]# docker commit mynginx mynginx_i
sha256:42b5d8d237ebf2ac4dc75dce3f202c3fcf52d7db07383e0649946ad13b5aaa67

此時查看鏡像,可以看到我們剛剛保存的鏡像 mynginx_i;

[root@192 ~]# docker images
REPOSITORY                TAG       IMAGE ID       CREATED         SIZE
mynginx_i                 latest    42b5d8d237eb   5 minutes ago   141MB
nginx                     latest    605c77e624dd   6 months ago    141MB
redis                     latest    7614ae9453d1   6 months ago    113MB
mysql                     latest    3218b38490ce   6 months ago    516MB
centos                    7         eeb6ee3f44bd   9 months ago    204MB
centos/mysql-57-centos7   latest    f83a2938370c   2 years ago     452MB
tomcat                    7-jre7    47c156f4d4e3   3 years ago     359MB
[root@192 ~]# 

測試結(jié)果,基于此鏡像再創(chuàng)建一個 nginx 容器;

[root@192 ~]# docker run -di --name=mynginx2 -p 81:80 mynginx_i
846bac2dc9a855590442e551fffe625dc77b41e567864067111956bbfb11e0e8

在本地進(jìn)行訪問,如下 nginx 訪問成功;

docker打包鏡像是不是相當(dāng)于備份,云原生/云計算 - 入門到實戰(zhàn),云原生,docker,容器,云計算

可以看到,mynginx_i 鏡像已經(jīng)包含了我們之前部署的靜態(tài)頁面。

2. 鏡像備份

有時候我們需要將本機(jī)的一個鏡像放到另外一臺服務(wù)器上進(jìn)行部署,這個時候就需要將此鏡像進(jìn)行備份。

#語法
docker save -o 導(dǎo)出的文件名 鏡像名

如下,我們將鏡像 mynginx_i 鏡像保存為 mynginx.tar 文件;

[root@192 ~]# docker save -o mynginx.tar mynginx_i
[root@192 ~]# dir
anaconda-ks.cfg  html  mynginx.tar
[root@192 ~]# 

3. 鏡像恢復(fù)與遷移

將鏡像保存為 .tar 文件后就可以將它放到其他服務(wù)器進(jìn)行部署了,首先將其恢復(fù);

#語法
docker load -i 文件名

首先我們的系統(tǒng)中是沒有 mynginx_i?鏡像的;

[root@192 ~]# docker images
REPOSITORY                TAG       IMAGE ID       CREATED        SIZE
nginx                     latest    605c77e624dd   6 months ago   141MB
redis                     latest    7614ae9453d1   6 months ago   113MB
mysql                     latest    3218b38490ce   6 months ago   516MB
centos                    7         eeb6ee3f44bd   9 months ago   204MB
centos/mysql-57-centos7   latest    f83a2938370c   2 years ago    452MB
tomcat                    7-jre7    47c156f4d4e3   3 years ago    359MB
[root@192 ~]# 

接下來使用?mynginx.tar 文件將其恢復(fù),再次查看鏡像;

[root@192 ~]# docker load -i mynginx.tar
b5d12f59f6a7: Loading layer  18.94kB/18.94kB
Loaded image: mynginx_i:latest
[root@192 ~]# docker images
REPOSITORY                TAG       IMAGE ID       CREATED          SIZE
mynginx_i                 latest    42b5d8d237eb   45 minutes ago   141MB
nginx                     latest    605c77e624dd   6 months ago     141MB
redis                     latest    7614ae9453d1   6 months ago     113MB
mysql                     latest    3218b38490ce   6 months ago     516MB
centos                    7         eeb6ee3f44bd   9 months ago     204MB
centos/mysql-57-centos7   latest    f83a2938370c   2 years ago      452MB
tomcat                    7-jre7    47c156f4d4e3   3 years ago      359MB
[root@192 ~]# 

二、Dockerflie

1. 認(rèn)識 Dockerfile

Dockerfile 是由一系列的命令和參數(shù)構(gòu)成的腳本,這些命令用于基于一個基礎(chǔ)鏡像來構(gòu)建一個新的鏡像。

基礎(chǔ)鏡像:Ubuntu、CentOS 等操作系統(tǒng)級別的鏡像。比如在 CentOS 系統(tǒng)上安裝了一個 JDK,那么 CentOS 鏡像就是 JDK 的基礎(chǔ)鏡像;后續(xù)在 JDK 的基礎(chǔ)上又安裝了其他的微服務(wù),那么 JDK 鏡像就是微服務(wù)的基礎(chǔ)鏡像。

  • 對于開發(fā)人員來說,Dockerfile 可以為開發(fā)團(tuán)隊提供一個完全一致的開發(fā)環(huán)境;
  • 對于測試人員來說,可以直接拿開發(fā)時所構(gòu)建的鏡像或者 Dockerfile 文件構(gòu)建一個新的鏡像開始工作;
  • 對于運維人員來說,部署時可以實現(xiàn)應(yīng)用的無縫移植。

Dockerfile 的主要目的就是更方便的構(gòu)建鏡像文件,避免過多的重復(fù)與出錯。

2. Dockerfile 常用命令

命令

作用

FROM image_name:tag

定義使用哪個鏡像啟動構(gòu)建流程(如果鏡像不存在會自動下載)

MAINTAINER user_name

聲明鏡像的構(gòu)建者

ENV key value

設(shè)置環(huán)境變量,可寫多條

RUN 命令

運行某條命令,最常用

ADD 源目錄/文件 目標(biāo)目錄/文件 將宿主機(jī)的文件復(fù)制到容器內(nèi),壓縮文件會在復(fù)制后自動解壓
COPY 源目錄/文件 目標(biāo)目錄/文件 和 ADD 相似,但壓縮文件不會自動解壓
WORKDIR 工作目錄 設(shè)置當(dāng)前工作目錄,設(shè)置后所有命令都是基于此執(zhí)行的

3. 使用 Dockerfile 構(gòu)建鏡像

此處我以構(gòu)建?JDK 1.8 鏡像為例,基礎(chǔ)鏡像為 CentOS 7。

第一步,創(chuàng)建一個目錄,用于存放鏡像;

[root@192 ~]# mkdir -p /usr/local/dockerjdk8
[root@192 ~]# 

第二步,上傳 jdk 壓縮包至該目錄;

docker打包鏡像是不是相當(dāng)于備份,云原生/云計算 - 入門到實戰(zhàn),云原生,docker,容器,云計算

[root@192 ~]# cd /usr/local/dockerjdk8
[root@192 dockerjdk8]# ls
jdk-8u261-linux-x64.tar.gz
[root@192 dockerjdk8]# 

第三步,構(gòu)建 Dockerfile 文件;

[root@192 dockerjdk8]# vi Dockerfile


#文件內(nèi)容
#指定基礎(chǔ)鏡像
FROM centos:7

#指定鏡像創(chuàng)建者
MAINTAINER Developer_xiaoma

#設(shè)置當(dāng)前目錄
WORKER /usr

#創(chuàng)建一個目錄
RUN mkdir /usr/local/java

#添加壓縮包
ADD jdk-8u261-linux-x64.tar.gz /usr/local/java/

#添加環(huán)境變量.
ENV JAVA_HOME /usr/local/java/jdk1.8.0_261
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH

第四步,構(gòu)建鏡像;

[root@192 dockerjdk8]# docker build -t='jdk1.8' .

# -t 指定鏡像名稱
# . 代表當(dāng)前目錄,會自動到當(dāng)前目錄尋找 Dockerfile 文件

構(gòu)建成功如下:????????

docker打包鏡像是不是相當(dāng)于備份,云原生/云計算 - 入門到實戰(zhàn),云原生,docker,容器,云計算

第五步,查看結(jié)果,構(gòu)建完成后 docker images 查看 Docker 下的鏡像;

[root@192 dockerjdk8]# docker images
REPOSITORY                TAG       IMAGE ID       CREATED         SIZE
jdk1.8                    latest    15c81e18c22e   2 minutes ago   556MB
mynginx_i                 latest    42b5d8d237eb   6 hours ago     141MB
nginx                     latest    605c77e624dd   6 months ago    141MB
redis                     latest    7614ae9453d1   6 months ago    113MB
mysql                     latest    3218b38490ce   6 months ago    516MB
centos                    7         eeb6ee3f44bd   9 months ago    204MB
centos/mysql-57-centos7   latest    f83a2938370c   2 years ago     452MB
tomcat                    7-jre7    47c156f4d4e3   3 years ago     359MB
[root@192 dockerjdk8]# 

可以看到,jdk1.8 創(chuàng)建成功,演示完成。文章來源地址http://www.zghlxwxcb.cn/news/detail-790438.html

到了這里,關(guān)于【云原生 ? Docker】鏡像的遷移與備份、Dockerflie 使用方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Docker學(xué)習(xí)入門(二):常用軟件安裝、掌握Docker遷移與備份、運用Dockerfile編寫創(chuàng)建容器的腳本、搭建與使用docker私有倉庫;

    Docker的學(xué)習(xí)目標(biāo): 4.掌握Tomcat Nginx等軟件的常用的安裝 5.掌握Docker遷移與備份相關(guān)命令 6.能夠運用Dockerfile編寫創(chuàng)建容器的腳本 7.能夠搭建與使用docker私有倉庫 8.學(xué)習(xí)總結(jié) 1.MYSQL的部署 ?? ?(1)拉取mysql鏡像 ?? ??? ? docker pull centos/mysql-57-centos7 ?? ??? ?? ?? ?(2)創(chuàng)建容

    2024年02月21日
    瀏覽(24)
  • docker 本地保存鏡像方法--docker export 和docker save 使用介紹

    在很多環(huán)境中,由于網(wǎng)絡(luò)問題,無法docker pull 鏡像,就需要tar包方式獲取鏡像,以下就制作tar包的方式和區(qū)別加以介紹: 如果要定義tag,如下操作 三、異常情況 3.1、docker import docker save的包 3.2、docker load docker export 的包 1、https://blog.csdn.net/Wqr_18390921824/article/details/123083151 2、

    2024年02月08日
    瀏覽(18)
  • Docker 遷移備份

    Docker 遷移備份

    1. 使用 docker ps -a 查看所有的容器 2. 通過以下命令將容器保存為鏡像 # 保存nginx容器為鏡像 docker commit 容器名稱 ?鏡像名稱 例如:docker commit tomcat tomcat_img 3. 查看鏡像是否保存成功 ?4. 使用保存的鏡像,重新創(chuàng)建一個容器 基于容器保存的鏡像中不會攜帶容器的內(nèi)容 通過docke

    2024年02月02日
    瀏覽(15)
  • 【Docker】升級docker或者docker到docker-ce完全保留鏡像和容器,不影響原容器使用方法

    以下是我的使用場景,docker升級到docker-ce,但對于docker-ce升級也通用!親測! CentOS自帶的docker是早期的版本,支持的功能比較少,而且已經(jīng)沒有人維護(hù)了。最新的版本存在于docker團(tuán)隊維護(hù)的版本,社區(qū)版本是docker-ce,企業(yè)版本是docker-ee。 由于默認(rèn)CentOS自帶的是早期的版本的

    2024年01月16日
    瀏覽(23)
  • 【云原生 | Docker 高級篇】11、Docker 私有鏡像倉庫 Harbor 安裝及使用教程

    【云原生 | Docker 高級篇】11、Docker 私有鏡像倉庫 Harbor 安裝及使用教程

    目錄 一、Harbor 介紹 二、Harbor 的優(yōu)勢 三、Harbor 部署安裝 3.1 部署環(huán)境 3.2?為 Harbor 自簽發(fā)證書 3.3 安裝 Harbor 3.4 設(shè)置開機(jī)自啟 四、Harbor 圖像化界面使用說明 4.1 修改本地 hosts 文件 4.2 訪問 harbor 4.3 創(chuàng)建項目 五、測試使用 harbor 私有鏡像倉庫 5.1 修改 docker 配置 5.2 登錄 harbor

    2024年01月17日
    瀏覽(55)
  • 【云原生】遷移Harbor鏡像倉庫到阿里云容器倉庫ACR

    【云原生】遷移Harbor鏡像倉庫到阿里云容器倉庫ACR

    一、摘要 阿里云鏡像倉庫ACR和Harbor鏡像倉庫之間鏡像的相互遷移,為上云添磚加瓦。 二、前言 業(yè)務(wù)場景: ??公司之前使用搭建了自己的Harbor私有鏡像倉庫服務(wù)。后來隨著互聯(lián)網(wǎng)行業(yè)發(fā)展?

    2024年02月07日
    瀏覽(17)
  • 【云原生】Docker鏡像的創(chuàng)建
Dockerfile 多階段構(gòu)建原理和使用場景

    【云原生】Docker鏡像的創(chuàng)建 Dockerfile 多階段構(gòu)建原理和使用場景

    創(chuàng)建鏡像有三種方法,分別為【基于已有鏡像創(chuàng)建】、【基于本地模板創(chuàng)建】以及【基于Dockerfile創(chuàng)建】。 (1)首先啟動一個鏡像,在容器里做修改 ?docker run -it --name web centos:7 /bin/bash ? ? #啟動容器 ?? ?yum install -y epel-release ?#安裝epel源 ?yum install -y nginx ? ? ? ? #安裝ng

    2024年02月12日
    瀏覽(30)
  • 小白也能玩轉(zhuǎn)Docker:應(yīng)用部署、遷移與備份

    小白也能玩轉(zhuǎn)Docker:應(yīng)用部署、遷移與備份

    目錄 1、應(yīng)用部署 1.1、Mysql 1.2、Ngixn 1.3、Redis 1.4、RabbitMQ 1.5、Elasticsearch 1.6、Zookeeper 2、遷移與備份 2.1容器保存為鏡像 2.2鏡像備份 2.3鏡像恢復(fù)與遷移 1.1、Mysql 拉取mysql的鏡像: 為mysql鏡像創(chuàng)建一個容器(守護(hù)進(jìn)程方式創(chuàng)建): 進(jìn)入mysql容器中 在容器中登錄本地的mysql數(shù)據(jù)庫:

    2024年02月10日
    瀏覽(23)
  • Docker安裝啟動、常用命令、應(yīng)用部署、遷移備份、Dockerfile、Docker私有倉庫

    Docker安裝啟動、常用命令、應(yīng)用部署、遷移備份、Dockerfile、Docker私有倉庫

    目錄 1.Docker安裝與啟動 1.1 安裝Docker ?1.2 設(shè)置ustc的鏡像 ?1.3 Docker的啟動與停止 2.常用命令 2.1 鏡像相關(guān)命令 2.1.1 查看鏡像 2.1.2 搜索鏡像 ?2.1.3?拉取鏡像 2.1.4?刪除鏡像 2.2 容器相關(guān)命令 2.2.1 查看容器 2.2.2?創(chuàng)建與啟動容器 2.2.3 停止與啟動容器 2.2.4 文件拷貝 2.2.5 目錄掛載

    2024年01月22日
    瀏覽(67)
  • Docker導(dǎo)入導(dǎo)出鏡像(鏡像遷移)

    Docker導(dǎo)入導(dǎo)出鏡像(鏡像遷移)

    打包現(xiàn)有鏡像 docker images 命令查看已有鏡像列表 docker save命令打包鏡像 docker save使用說明???????? ? ?-o 選項,用來指定輸出文件 將alpine-ffmpeg:3.15打包 命令執(zhí)行后我們發(fā)現(xiàn)當(dāng)前目錄多了alpine-ffmpeg-3.15.tar 文件 可以將該文件導(dǎo)出,遷移到其他主機(jī)上進(jìn)行使用 導(dǎo)入鏡像 首先

    2024年02月12日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包