最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker封裝鏡像及優(yōu)化方式

 更新時間:2024年06月11日 10:53:28   作者:weixin_43635039  
這篇文章主要介紹了docker封裝鏡像及優(yōu)化方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

鏡像分層結(jié)構(gòu)

1.共享宿主機的kernel

2.base鏡像提供的是最小的Linux發(fā)行版

3.同一docker主機支持運行多種Linux發(fā)行版

4.采用分層結(jié)構(gòu)的最大好處是:共享資源

比如當你已經(jīng)拉取Nginx 1.17版本的鏡像之后,若再次拉取Nginx 1.16 版本時,只需要下載不同的層即可,相同的層可以共享使用,這樣就可以節(jié)省資源和網(wǎng)絡(luò)帶寬。

當你刪除其中某個鏡像版本時,也只會刪除掉不一樣的層,因為其中共享的層另一個版本需要使用。

鏡像的構(gòu)建

運行容器+修改容器+將容器保存為新的鏡像

缺點:

  • 效率低、可重復性弱、容易出錯
  • 使用者無法對鏡像進行審計,存在安全隱患

交互式運行此鏡像

-it交互式

刪除

docker rm -f 刪除正在運行的鏡像

運行

新建三個文件

docker ps -a 顯示已經(jīng)停掉的鏡像

封裝鏡像

把剛才創(chuàng)建的三個文件封裝到v1,如果只退出docker,不會被刪

多加了一層,目前所在的操作都在demo里,而不是busybox

–rm 退出時,自動刪除,回收

之前的只封裝在最上面一層,刪除時也只刪除了一層

rmi 是刪除鏡像

Dockfile

和之前的commit是一一對應的

定制一個首頁,放進目錄路徑里

后面的.代表,從各處尋找文件,建立

會找到之前創(chuàng)建的dockerfile

missing代表在官方構(gòu)建的,而不是本機執(zhí)行

相對路徑,不能把文件放在根底下,最好創(chuàng)建一個空的文件夾比如/docker

換一個centos鏡像

如果直接ctrl+d就會刪除,ctrl+q+p之后,就會暫時保存。attach又會恢復

dockerfile常用命令

FROM

  • 指定base鏡像
  • 如果本地不存在會從遠程倉庫下載

MAINTAINER

  • 設(shè)置鏡像的作者

COPY

  • 把文件從build context復制到鏡像
  • 支持兩種形式:COPY src dest 和 COPY [“src”, “dest”]

ADD

  • 用法與COPY類似,不同的是src可以是歸檔壓縮文件,文件會被自動解壓到
  • dest,也可以自動下載URL并拷貝到鏡像:
ADD html.tar /var/www
ADD http://ip/html.tar /var/www

ENV

  • 設(shè)置環(huán)境變量,變量可以被后續(xù)的指令使用:
ENV HOSTNAME sevrer1.example.com

EXPOSE

  • 如果容器中運行應用服務(wù),可以把服務(wù)端口 暴露出去:
  • EXPOSE 80

VOLUME

  • 申明數(shù)據(jù)卷,通常指定的是應用的數(shù)據(jù)掛在點:
VOLUME [“/var/www/html”]

WORKDIR

  • 為RUN、CMD、ENTRYPOINT、ADD和COPY指令設(shè)置鏡像中的當
  • 前工作目錄,如果目錄不存在會自動創(chuàng)建。

在宿主機自動創(chuàng)建目錄,掛載在容器內(nèi)

刪除之后還在,卷的目的就是持久化

在centos7中創(chuàng)建

shell和exec的區(qū)別

cmd可以被覆蓋

做一個完整的nginx封裝

FROM centos:7
ADD nginx-1.21.1.tar.gz /mnt
RUN yum install -y gcc make pcre-devel openssl-devel
WORKDIR /mnt/nginx-1.21.1
RUN sed -i 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/g' auto/cc/gcc
RUN ./configure --with-http_ssl_module --with-http_stub_status_module
RUN make
RUN make install
COPY index.html /usr/local/nginx/html
CMD ["/usr/local/nginx/sbin/nginx", "-g", "daemon off;"]

鏡像的優(yōu)化

太大了,開始優(yōu)化

減少鏡像層

FROM centos:7
ADD nginx-1.21.1.tar.gz /mnt
WORKDIR /mnt/nginx-1.21.1
RUN yum install -y gcc make pcre-devel openssl-devel && sed -i 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/g' auto/cc/gcc &&  ./configure --with-http_ssl_module --with-http_stub_status_module &&  make &&  make install && yum clean all  && rm -rf /mnt/nginx-1.21.1
COPY index.html /usr/local/nginx/html
CMD ["/usr/local/nginx/sbin/nginx", "-g", "daemon off;"]

報錯

添加:net.ipv4.ip_forward=1

多階段構(gòu)建

FROM centos:7 as build
ADD nginx-1.21.1.tar.gz /mnt
WORKDIR /mnt/nginx-1.21.1
RUN yum install -y gcc make pcre-devel openssl-devel && sed -i 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/g' auto/cc/gcc &&  ./configure --with-http_ssl_module --with-http_stub_status_module &&  make &&  make install && yum clean all  && rm -rf /mnt/nginx-1.21.1
FROM centos:7
COPY --from=build  /usr/local/nginx /usr/local/nginx
COPY index.html /usr/local/nginx/html
CMD ["/usr/local/nginx/sbin/nginx", "-g", "daemon off;"]

選擇更加精簡的基礎(chǔ)鏡像

FROM nginx:latest as base

ARG TIME_ZONE
RUN mkdir -p /opt/var/cache/nginx && \
    cp -a --parents /usr/lib/nginx /opt && \
    cp -a --parents /usr/share/nginx /opt && \
    cp -a --parents /var/log/nginx /opt && \
    cp -aL --parents /var/run /opt && \
    cp -a --parents /etc/nginx /opt && \
    cp -a --parents /etc/passwd /opt && \
    cp -a --parents /etc/group /opt && \
    cp -a --parents /usr/sbin/nginx /opt && \
    cp -a --parents /usr/sbin/nginx-debug /opt && \
    cp -a --parents /lib/x86_64-linux-gnu/ld-* /opt && \
    cp -a --parents /lib/x86_64-linux-gnu/libpcre.so.* /opt && \
    cp -a --parents /lib/x86_64-linux-gnu/libz.so.* /opt && \
    cp -a --parents /lib/x86_64-linux-gnu/libc* /opt && \
    cp -a --parents /lib/x86_64-linux-gnu/libdl* /opt && \
    cp -a --parents /lib/x86_64-linux-gnu/libpthread* /opt && \
    cp -a --parents /lib/x86_64-linux-gnu/libcrypt* /opt && \
    cp -a --parents /usr/lib/x86_64-linux-gnu/libssl.so.* /opt && \
    cp -a --parents /usr/lib/x86_64-linux-gnu/libcrypto.so.* /opt && \
    cp /usr/share/zoneinfo/${TIME_ZONE:-ROC} /opt/etc/localtime

FROM gcr.io/distroless/base-debian10

COPY --from=base /opt /

EXPOSE 80 443

CMD ["nginx", "-g", "daemon off;"]

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker Machine遠程部署Docker的方法

    Docker Machine遠程部署Docker的方法

    本篇文章主要介紹了Docker Machine遠程部署Docker的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • docker的常用命令詳解

    docker的常用命令詳解

    這篇文章主要列舉了docker的常用命令,本文給大家介紹的非常詳細,有需要的朋友可以參考閱讀
    2023-04-04
  • Docker管理面板SimpleDocker的具體使用

    Docker管理面板SimpleDocker的具體使用

    SimpleDocker 是一個簡單的Docker控制面板,本文主要介紹了Docker管理面板SimpleDocker的具體使用,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • 使用Docker部署Spring Boot的實現(xiàn)方法

    使用Docker部署Spring Boot的實現(xiàn)方法

    這篇文章主要介紹了使用Docker部署Spring Boot的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • docker pull很慢如何解決

    docker pull很慢如何解決

    這篇文章主要介紹了docker pull很慢的解決方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • dubbo服務(wù)引用創(chuàng)建Invoker代理對象

    dubbo服務(wù)引用創(chuàng)建Invoker代理對象

    這篇文章主要為大家介紹了dubbo服務(wù)引用創(chuàng)建Invoker代理對象示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 深入理解Docker Load和Docker Import的區(qū)別詳解

    深入理解Docker Load和Docker Import的區(qū)別詳解

    Docker是一個流行的容器化平臺,提供了豐富的命令和功能,其中docker load和docker import是兩個常用的命令,用于加載Docker鏡像,這篇文章主要給大家介紹了關(guān)于Docker Load和Docker Import區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • Docker Compose使用手冊之場景、文件與命令詳解

    Docker Compose使用手冊之場景、文件與命令詳解

    DockerCompose是Docker官方的多容器應用管理和編排工具,它簡化了多容器應用的部署和管理,支持一鍵啟動、停止服務(wù),配置服務(wù)依賴和環(huán)境變量,管理網(wǎng)絡(luò)和卷等,下面小編就和大家詳細介紹一下Docker Compose的使用場景、文件與命令吧
    2026-05-05
  • 解決Docker pull拉取鏡像報錯“Error response from daemon:Get“https://registry-1.docker.io/v2”問題

    解決Docker pull拉取鏡像報錯“Error response from 

    解決Docker鏡像拉取問題的步驟包括:檢查報錯信息,修改daemon.json添加網(wǎng)易鏡像加速,重啟Docker服務(wù),排查DNS解析及host配置,最后重新拉取鏡像,總結(jié)為個人經(jīng)驗分享,供參考學習
    2025-08-08
  • Docker容器中修改root密碼的正確方法

    Docker容器中修改root密碼的正確方法

    在使用 Docker 容器時,有時我們需要在容器創(chuàng)建后動態(tài)修改其中用戶的密碼,尤其是 root 用戶的密碼,本文詳細介紹了如何使用dockerexec命令在運行中的Docker容器中動態(tài)修改root用戶的密碼,并提供了多個示例,需要的朋友可以參考下
    2026-01-01

最新評論

成安县| 长春市| 西青区| 新野县| 桃园市| 紫阳县| 辉县市| 页游| 黎平县| 永福县| 丽水市| 蓝田县| 鹤壁市| 阿拉善右旗| 柳江县| 炉霍县| 榆社县| 华坪县| 牟定县| 民丰县| 宝坻区| 昭苏县| 商洛市| 那坡县| 兴业县| 宾阳县| 夏津县| 承德县| 库尔勒市| 柏乡县| 略阳县| 尉氏县| 陆川县| 通山县| 获嘉县| 疏勒县| 仁寿县| 滦平县| 长岛县| 鄂伦春自治旗| 衡山县|