婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 一篇文章弄懂Docker鏡像的制作、上傳、拉取和部署

一篇文章弄懂Docker鏡像的制作、上傳、拉取和部署

熱門標簽:400電話申請方案 烏海智能電話機器人 做外呼系統的公司違法嗎 寧夏房產智能外呼系統要多少錢 藍點外呼系統 在百度地圖標注車輛 貴陽教育行業電話外呼系統 威海人工外呼系統供應商 撫順移動400電話申請

一、鏡像(images)

1. 什么是鏡像?

(1)按照百度百科的解釋:鏡像(Mirroring)是一種文件存儲形式,是冗余的一種類型,一個磁盤上的數據在另一個磁盤上存在一個完全相同的副本即為鏡像。

(2)可以把許多文件做成一個鏡像文件,與GHOST等程序放在一個盤里用GHOST等軟件打開后,又恢復成許多文件,RAID 1和RAID 10使用的就是鏡像。

(3)常見的鏡像文件格式有ISO、BIN、IMG、TAO、DAO、CIF、FCD。

看完之后是不是更暈了?

其實簡單來說,鏡像就是是一個app的封裝,里面有程序代碼,基礎系統,依賴庫,工具。
再通俗地講,有點類似APP 的安裝包。

2. 鏡像的組成和用途

(1)Dockerfile

: 是制作鏡像的文件的配方

就像一種祖傳秘方: 云南白藥: 林芝,人參,鹿茸,三七等

(2)scratch

: 是最基礎的docker鏡像,相當于一個地基—》空白的鏡像,什么都沒有 --》白手起家

用別的鏡像做基礎鏡像: 其他鏡像可以之為基礎進行擴展–就像站在巨人的肩膀上。

但是我們需要,萬丈高樓平地起,一步一個腳印👣去制作鏡像

(3)一個完整的操作系統需要:

1.kernel
2.系統調用
3.應用程序、庫
4.shell等

bootfs --》容器啟動的時候需要的內容

rootfs --》容器內部的操作系統

docker save

docker export

原理:

容器啟動的時候,內核啟動bootfs后直接將基礎鏡像加載,然后一層一層的加載–》自下而上

容器運行后訪問文件的時候,從上而下,從可寫層,一層一層往下訪問。

3. 為什么要自己制作鏡像?

以前在Linux 中下載mysql,Centos 系統中需要使用yum 命令,在學習完doker技術以后,需要什么軟件,只需要在docker 上面pull 就可以得到,docker 就像是一個巨大的資源庫,只有你想不到的東西,沒有它沒有的東西。

有些同學說:是技術限制了我對 docker 的想象,流下了悔恨的淚水。

哪有些同學就說了,那既然docker 這么方便,上面有那么多的鏡像文件,為什么還需要我們自己去制作呢?需要啥 pull 啥不就可以了嘛?

但是,在公司中往往需要自己制作鏡像文件,因為別人制作的東西往往會不放心,或者某些特定的需求不能滿足。就像你去買茅臺酒,商家說這是十年的茅臺,你就信他?這就是十年的茅臺?不去鑒定一下?如果是土豪,就當我沒說,哈哈啊哈

二、鏡像制作的步驟(10步法)

第1步:編輯Dockerfile

[root@sc-docker-server ~]# mkdir /mydocker/
[root@sc-docker-server ~]# cd /mydocker/
[root@sc-docker-server mydocker]#

[root@sc-docker-server mydocker]# vim Dockerfile
FROM python:2.7-slim
WORKDIR /app
ADD . /app
RUN pip install --trusted-host  pypi.python.org -r requirements.txt
EXPOSE 80
ENV NAME World
ENV AUTHOR cali
CMD ["python","app.py"]

第2步:編輯requirements.txt文件

[root@sc-docker-server mydocker]# vim requirements.txt
Flask
Redis

第3步:編輯app.py文件,我們的程序文件

[root@sc-docker-server mydocker]# vim app.py
from flask import Flask
from redis import Redis, RedisError
import os
import socket

# Connect to Redis
redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)

app = Flask(__name__)

@app.route("/")
def hello():
    try:
        visits = redis.incr("counter")
    except RedisError:
        visits = "<i>cannot connect to Redis, counter disabled</i>"

    html = "<h3>Hello {name}!</h3>" \

           "<b>Hostname:</b> {hostname}<br/>" \

           "<b>Visits:</b> {visits}"
    return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits)

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=80)

第4步:生成鏡像文件

[root@sc-docker-server mydocker]#docker build -t sc_friendlyhello_1 .
docker build -t sc_friendlyhello_1 .
Sending build context to Docker daemon  4.608kB
Step 1/9 : FROM python:2.7-slim
 ---> eeb27ee6b893
Step 2/9 : WORKDIR /app
 ---> Using cache
 ---> 81aa71984f63
Step 3/9 : ADD . /app
 ---> Using cache
 ---> a5c7c6ed471c
Step 4/9 : VOLUME ["/data_flask"]
 ---> Using cache
 ---> d4db66a741db
Step 5/9 : RUN pip install --trusted-host  pypi.python.org -r requirements.txt
 ---> Using cache
 ---> bcdee009e5f7
Step 6/9 : EXPOSE 80
 ---> Using cache
 ---> 475474ce55ff
Step 7/9 : ENV NAME World
 ---> Using cache
 ---> 0f03ead6c99b
Step 8/9 : ENV AUTHOR cali
 ---> Using cache
 ---> f844eb0f1a78
Step 9/9 : CMD ["python","app.py"]
 ---> Using cache
 ---> ab30484b56b8
Successfully built ab30484b56b8
Successfully tagged sc_friendlyhello_1:latest
[root@sc-docker-server mydocker]#

第5步:檢查鏡像是否成功

[root@sc-docker-server mydocker]# docker images
REPOSITORY                 TAG        IMAGE ID       CREATED          SIZE
sc_friendlyhello_1         latest     ab30484b56b8   32 minutes ago   159MB

第6步:使用鏡像,啟動容器

docker run -d -p 5080:80  --name sc-hello-1 sc_friendlyhello_1

第7步:訪問容器的web服務

curl或者chrome瀏覽器訪問
宿主機ip:5080
Hello World!
Hostname: f4aeb5d5305a
Visits: cannot connect to Redis, counter disabled

因為redis數據庫容器沒有啟動,flask web服務不能連接到redis數據庫

第8步:啟動redis容器

docker run -d -p 6379:6379 --name sc-redis-1 redis

第9步:再次啟動一個自己制作鏡像的容器,鏈接到redis容器

docker run -d --name sc-hello-2 -p 5081:80 --link sc-redis-1:redis sc_friendlyhello_1

第10步:訪問容器的web服務

curl或者chrome瀏覽器訪問
宿主機ip:5081
Hello World!
Hostname: aad7da1892b5
Visits: 15

三. 鏡像制作的作業

作業

1.升級 sc_friendlyhello_1的鏡像里的基礎鏡像為python:3.9
自己的鏡像更名為sc_friendlyhello_2
2.啟動容器和redis容器,測試訪問**

作業步驟:

安裝上傳的文件

root@sc-docker-server ~]# yum install lrzsz -y  安裝上傳的軟件
上次元數據過期檢查:0:25:32 前,執行于 2021年08月18日 星期三 09時52分02秒。
軟件包 lrzsz-0.12.20-43.el8.x86_64 已安裝。
依賴關系解決。
無需任何處理。
完畢!
[root@sc-docker-server ~]#

第1步:下載app源代碼

https://github.com/docker/getting-started 在windows里下載,然后上傳到linux里 yum install git -y 

linux里: git clone https://github.com/califeng/getting-started.git

第2步:解壓app源代碼壓縮包

[root@sc-docker-server ~]# yum install zip unzip -y

    [root@sc-docker-1 ~]# unzip getting-started-master.zip 

第3步:進入app目錄,去新建一個Dockerfile

    [root@sc-docker-1 getting-started-master]# cd app/
    [root@sc-docker-1 app]# vim Dockerfile
FROM node:12-alpine
WORKDIR /app
COPY  . .
RUN yarn install --production
CMD ["node", "src/index.js"]

第4步:制作鏡像

[root@sc-docker-1 app]# docker build -t getting-started .
-t getting-started 是指定制作的鏡像的名字,名字可以自己定義



[root@sc-docker-1 app]# docker images  查看制作的鏡像
REPOSITORY                TAG         IMAGE ID       CREATED          SIZE
getting-started           latest      5b903e857b8c   25 seconds ago   179MB
redis                     latest      cc69ae189a1a   2 days ago       105MB
nginx                     1.19.7      35c43ace9216   7 days ago       133MB
nginx                     latest      35c43ace9216   7 days ago       133MB
mysql                     5.7.33      5f47254ca581   2 weeks ago      449MB
nginx                     1.19.6      f6d0b4767a6c   6 weeks ago      133MB
node                      12-alpine   0206ff8a5f9e   7 weeks ago      88.9MB
richarvey/nginx-php-fpm   latest      5c3ad1891297   5 months ago     506MB
hello-world               latest      bf756fb1ae65   13 months ago    13.3kB
jcdemo/flaskapp           latest      4f7a2cc79052   2 years ago      88.7MB
[root@sc-docker-1 app]#

第5步:啟動自己制作的鏡像的容器

[root@sc-docker-1 app]# docker run -dp 3000:3000 getting-started
8f150a72e7d2d1650685b00a18d237469fa07c8cd56977773dd266b281a3b4ad
[root@sc-docker-1 app]# docker ps
CONTAINER ID   IMAGE             COMMAND                  CREATED         STATUS         PORTS                    NAMES
8f150a72e7d2   getting-started   "docker-entrypoint.s…"   5 seconds ago   Up 3 seconds   0.0.0.0:3000->3000/tcp   strange_benz
deabb58e01b0   nginx             "/docker-entrypoint.…"   26 hours ago    Up 2 hours     0.0.0.0:6655->80/tcp     chenpeng
[root@sc-docker-1 app]# 

第6步:打開瀏覽器去訪問容器里的網站

容器里的網站:http://192.168.0.161:3000/

總結

1.鏡像的制作是作為docker 技術中必備的技能,你說你會docker ,別人一定會問你鏡像的制作嗎?你說制作那玩意干啥,別人就會會心一笑,心里一想這個人的技術一定很low,連這個都不會,還說自己會docker,呵呵。

2.后面有關鏡像制作有詳細的步驟,鏡像制作十步法會教你怎么去做的,慢慢來,一步一步來做。

到此這篇關于Docker鏡像制作、上傳、拉取和部署的文章就介紹到這了,更多相關Docker鏡像制作、上傳、拉取和部署內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:銅川 那曲 慶陽 朝陽 松原 周口 蕪湖 泰州

巨人網絡通訊聲明:本文標題《一篇文章弄懂Docker鏡像的制作、上傳、拉取和部署》,本文關鍵詞  一篇,文章,弄懂,Docker,鏡像,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《一篇文章弄懂Docker鏡像的制作、上傳、拉取和部署》相關的同類信息!
  • 本頁收集關于一篇文章弄懂Docker鏡像的制作、上傳、拉取和部署的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产日韩欧美综合一区| 色综合久久中文综合久久97| 亚洲午夜国产一区99re久久| 亚洲欧美一区二区在线观看| 国产日韩欧美一区二区三区综合| 日韩欧美激情在线| 日韩精品一区二区三区视频 | 久久精品视频网| 欧美电影免费观看高清完整版在线观看| 欧美日韩中文字幕一区| 欧美日韩三级一区二区| 91精品国产综合久久婷婷香蕉 | 欧美日韩精品欧美日韩精品一综合| 99久久夜色精品国产网站| 97超碰欧美中文字幕| 在线观看日产精品| 欧美高清www午色夜在线视频| 91.成人天堂一区| 精品国产三级电影在线观看| 久久天堂av综合合色蜜桃网| 国产精品久久久久久亚洲伦| 国产精品久久久久久久第一福利| 亚洲国产视频网站| 狠狠色丁香九九婷婷综合五月| 国产美女精品人人做人人爽| 色综合久久久网| 欧美一区国产二区| 中文字幕国产一区二区| 亚洲狠狠爱一区二区三区| 极品尤物av久久免费看| 色香蕉久久蜜桃| 欧美一区二区三区公司| 成人免费在线视频| 久久精品99国产精品日本| 粉嫩13p一区二区三区| 欧洲一区二区av| 欧美精品一区二区三区四区 | 成人天堂资源www在线| 欧美日韩一区二区三区高清| 久久综合国产精品| 亚洲精选一二三| 精品一区二区日韩| 欧美三级乱人伦电影| 亚洲国产成人私人影院tom| 亚洲超碰精品一区二区| 丁香激情综合国产| 欧美福利一区二区| 亚洲视频1区2区| 国产成人在线视频免费播放| 欧美日韩一卡二卡三卡| 国产精品久久久久三级| 激情综合网最新| 欧美高清dvd| 夜夜精品浪潮av一区二区三区| 国产一区二区三区四区五区入口 | 精品一区二区三区免费播放| 欧美在线你懂的| 亚洲欧洲三级电影| 国产69精品久久99不卡| 精品久久五月天| 亚洲成人免费在线观看| 色婷婷久久综合| 国产精品久久久久一区二区三区共| 国产综合久久久久久鬼色 | 欧美老年两性高潮| 夜夜精品视频一区二区| 色婷婷精品久久二区二区蜜臀av| 久久精品一区二区| 国产精品99久| 国产日韩欧美一区二区三区综合| 久草这里只有精品视频| 精品成a人在线观看| 国产综合色精品一区二区三区| 精品国产制服丝袜高跟| 激情图区综合网| 国产亚洲福利社区一区| 成人一二三区视频| 国产精品丝袜91| 99re热视频精品| 一区二区三区91| 欧美性大战xxxxx久久久| 亚洲一二三四久久| 欧美亚洲综合色| 丝袜a∨在线一区二区三区不卡| 欧美日韩国产小视频| 蜜桃久久久久久久| 久久这里只有精品首页| 国产a久久麻豆| 亚洲美女屁股眼交3| 欧美日韩综合一区| 国内欧美视频一区二区| 国产精品久久99| 在线精品亚洲一区二区不卡| 日韩黄色免费电影| 国产亚洲综合色| 色综合久久综合网欧美综合网| 亚洲最新视频在线观看| 欧美一区二区福利视频| 粉嫩aⅴ一区二区三区四区五区| 亚洲青青青在线视频| 欧美一二三区在线观看| 成人性生交大片| 亚洲不卡一区二区三区| 久久蜜桃av一区精品变态类天堂| 国产成都精品91一区二区三| 亚洲精品欧美专区| 日韩视频在线一区二区| 99久久综合国产精品| 婷婷成人激情在线网| 国产日产亚洲精品系列| 欧美日韩精品二区第二页| 男人操女人的视频在线观看欧美| 欧美极品xxx| 91精品久久久久久久久99蜜臂| 成人三级伦理片| 蜜臀va亚洲va欧美va天堂| 国产精品每日更新| 日韩一区二区在线免费观看| 99综合电影在线视频| 国模冰冰炮一区二区| 亚洲国产日产av| 中文字幕日韩精品一区| 欧美成人一区二区三区| 欧美日韩中文另类| 懂色一区二区三区免费观看| 午夜久久电影网| 国产精品国产馆在线真实露脸| 欧美一区二区三区在线看| 一本在线高清不卡dvd| 国产成人精品一区二区三区网站观看| 亚洲成av人片在www色猫咪| 亚洲视频在线观看三级| 国产欧美日韩不卡| 久久奇米777| 精品裸体舞一区二区三区| 这里是久久伊人| 欧美老肥妇做.爰bbww视频| 色综合天天在线| 国产成人三级在线观看| 久久爱www久久做| 偷拍自拍另类欧美| 亚洲一区二区三区四区的| 亚洲人成精品久久久久久| 国产精品国产自产拍在线| 国产欧美一二三区| 欧美韩国一区二区| 国产日产欧美一区二区视频| 久久午夜电影网| 精品国产乱码久久| 精品日韩成人av| 欧美精品一区二区高清在线观看| 日韩亚洲欧美高清| 精品久久久三级丝袜| 久久久夜色精品亚洲| 欧美精品一区二区三| 国产欧美精品一区aⅴ影院| 国产精品麻豆一区二区| 亚洲免费在线电影| 一区二区三区丝袜| 亚洲777理论| 激情欧美一区二区三区在线观看| 国产乱国产乱300精品| 国产不卡视频在线观看| 99麻豆久久久国产精品免费优播| 色综合久久中文综合久久牛| 欧美图区在线视频| 亚洲精品在线观看网站| 国产色一区二区| 一区二区国产盗摄色噜噜| 日韩电影在线观看电影| 国产一区中文字幕| 91蝌蚪国产九色| 欧美日韩在线播放| 久久久亚洲综合| 亚洲另类春色国产| 麻豆精品一区二区av白丝在线| 国产精品系列在线观看| 欧美在线你懂得| 久久久噜噜噜久久中文字幕色伊伊| 中文字幕永久在线不卡| 视频一区二区三区入口| 成人视屏免费看| 日韩无一区二区| 亚洲欧美另类在线| 九九精品一区二区| 91丝袜美女网| 欧美tickle裸体挠脚心vk| 国产精品二三区| 日韩电影免费一区| 91丨九色丨蝌蚪丨老版| 精品久久国产字幕高潮| 国产精品久久三| 久久国产人妖系列| 欧美午夜视频网站| 国产欧美一区二区三区网站 | 欧美一级理论性理论a| 亚洲伦理在线精品| 国产精品亚洲一区二区三区妖精| 欧美日韩视频专区在线播放| 国产亚洲一二三区|