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

dockerfile指令構(gòu)建docker鏡像的示例代碼

 更新時(shí)間:2022年04月21日 09:14:05   作者:Python-派大星  
本文主要介紹了dockerfile指令構(gòu)建docker鏡像的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

初識(shí)Dockerfile

Dockerfile就是用來構(gòu)建docker鏡像的構(gòu)建文件!命令腳本!

通過這個(gè)腳本可以生成鏡像,鏡像是一層層的,腳本是一行行的命令,每行命令都是一層

dockerfile是面向開發(fā)的,我們以后要發(fā)布項(xiàng)目,作鏡像,就需要編寫dockerfile文件,這個(gè)文件十分簡(jiǎn)單。

Dockerfile鏡像之間成為了企業(yè)交付的標(biāo)準(zhǔn),必須掌握!

編寫一個(gè)自己的docker 鏡像:

編寫Dockerfile文件:

#創(chuàng)建一個(gè)dockerfile文件,名字可以隨機(jī),建議Dockerfile
#文件中的內(nèi)容:指令(大寫) 參數(shù)
 
#實(shí)例測(cè)試:
#創(chuàng)建目錄存放dockerfile文件的目錄:
[root@localhost ~]# mkdir docker_test
 
#進(jìn)入目錄創(chuàng)建dockerfile文件:
[root@localhost ~]# mkdir docker_test
[root@localhost ~]# cd docker_test/
[root@localhost docker_test]# touch dockerfile
 
#編寫dockerfile文件,在文件中寫入dockerfile指令:
[root@localhost docker_test]# vim dockerfile
FROM centos
VOLUME ["volume01","volume02"]
CMD echo "----end----"
CMD /bin/bash

將Dockerfile文件轉(zhuǎn)為鏡像:

#使用docker build . 命令將dockerfile文件轉(zhuǎn)為鏡像
 
[root@localhost docker_test]# docker build -f /root/docker_test/dockerfile -t hzw/centos .
Sending build context to Docker daemon  2.048kB
 
Step 1/4 : FROM centos
 ---> 5d0da3dc9764
Step 2/4 : VOLUME ["volume01","volume02"]
 ---> Running in d4b23ae86ace
Removing intermediate container d4b23ae86ace
 ---> 8f39792fbef7
Step 3/4 : CMD echo "----end----"
 ---> Running in 1bb4751f04ef
Removing intermediate container 1bb4751f04ef
 ---> 2e2bb5e2a502
Step 4/4 : CMD /bin/bash
 ---> Running in 82a0b5905405
Removing intermediate container 82a0b5905405
 ---> 39a1fd86fd73
Successfully built 39a1fd86fd73
Successfully tagged hzw/centos:latest
 
#由此可以發(fā)現(xiàn)docker創(chuàng)建鏡像也是一層層創(chuàng)建的。每個(gè)命令都是鏡像的一層。

查看自己構(gòu)建的docker鏡像

[root@localhost docker_test]# docker images
REPOSITORY            TAG       IMAGE ID       CREATED         SIZE
hzw/centos            latest    39a1fd86fd73   2 minutes ago   231MB

使用自己構(gòu)建的docker鏡像生成容器:

[root@localhost docker_test]# docker run -it hzw/centos /bin/bash
[root@f62a714bb306 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  volume01  volume02
 
#可以看見我們構(gòu)建的鏡像也是能正常進(jìn)去使用的,并且我們?cè)赿ockerfile寫指令掛載的目錄也在這個(gè)容器里。

DockerFile

dockerfile時(shí)用來構(gòu)建docker鏡像文件!命令參數(shù)腳本!

構(gòu)建步驟:

1、編寫一個(gè)dockerfile文件

2、docker build . 構(gòu)建稱為一個(gè)鏡像

3、docker run 運(yùn)行鏡像

4、docker push 發(fā)布鏡像(DockerHub、阿里云鏡像倉庫)

Dockerfile指令:

FROM    #指定基礎(chǔ)鏡像,一切從這里開始構(gòu)建
 
MAINTAINER    #鏡像是誰寫的,姓名+郵箱
 
RUN    #鏡像構(gòu)建的時(shí)候需要運(yùn)行的命令
 
ADD    #步驟:tomcat鏡像,這個(gè)tomcat壓縮包!添加內(nèi)容
 
WORKDIR    #鏡像的工作目錄
 
VOLUME    #掛載的目錄
 
EXPOST    #暴露端口配置
 
CMD    #指定這個(gè)容器啟動(dòng)時(shí)候要運(yùn)行的命令,只有最后一個(gè)會(huì)生效,可被替代
 
ENTRYPOINT    #指定這個(gè)容器其董事會(huì)要運(yùn)行的命令,可以追加命令
 
ONBUILD    #當(dāng)構(gòu)建一個(gè)被繼承dockerfile,這個(gè)時(shí)候就會(huì)運(yùn)行ONBUILD的指令。是一個(gè)觸發(fā)指令
 
COPY    #類似ADD,將我們文件拷貝到鏡像
 
ENV    #構(gòu)建的時(shí)候設(shè)置環(huán)境變量!

docker build . 命令

構(gòu)建好dockerfile文件后,我們就用docker build命令將文件構(gòu)建成鏡像。

#命令使用方法:
docker build -f dockerfile文件路徑 -t 取個(gè)鏡像名 .
 
#參數(shù)詳解:
 
-f  dockerfile的文件路徑,可以寫絕對(duì)路徑,也可以寫相對(duì)路徑
 
-t   給構(gòu)建的鏡像取個(gè)名字,名字格式: 名字:標(biāo)簽
 
.    構(gòu)建上下文的路徑 必須寫
 

查看鏡像是如何生成的

docker history 鏡像ID

實(shí)操訓(xùn)練:Dockerfile構(gòu)建Nginx鏡像: 編寫Dockerfile制作鏡像,生成鏡像名為my_build:Nginx1。首先創(chuàng)建目錄dockerfile-nginx1,保存Dockerfile文件。具體要求如下:

(1)基于鏡像centos:7

(2)安裝Nginx

       a.安裝相關(guān)依賴

       b.下載并解壓Nginx

(3)工作目錄設(shè)為:nginx-1.9.7

(4)編譯安裝Nginx

(5)對(duì)外暴露80,443端口

(6)修改Nginx配置文件,以非daemon方式啟動(dòng)

(7)復(fù)制服務(wù)啟動(dòng)腳本并設(shè)置權(quán)限

(8)啟動(dòng)容器時(shí)執(zhí)行腳本run.sh

run.sh內(nèi)容如下所示:

開始操作:

創(chuàng)建dockerfile-nginx1文件夾,進(jìn)入該文件夾,編寫Dockerfile文件

mkdir dockerfile-nginx1
cd dockerfile-nginx1/
vim Dockerfile

編寫Dockerfile文件內(nèi)容:

#該文件時(shí)基于centos7鏡像為基礎(chǔ)創(chuàng)建的
FROM centos:7  
 
#下載nginx依賴源
RUN yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel    
 
#下載wget
RUN yum install -y wget   
 
#下載nginx
RUN wget http://nginx.org/download/nginx-1.9.7.tar.gz   
 
#解壓nginx
RUN tar -zxvf nginx-1.9.7.tar.gz    
 
#執(zhí)行編譯命令,通過--prefix=安裝目錄,指定nginx安裝目錄
RUN ./configure --prefix=/usr/localinx && make && make install    
 
#設(shè)置工作目錄
WORKDIR nginx-1.9.7    
 
#暴露端口80和443
EXPOSE 80
EXPOSE 443
 
#將虛擬機(jī)文件復(fù)制到容器里
ADD run.sh /run.sh
 
#給run.sh授予可執(zhí)行權(quán)限
RUN chmod 775 /run.sh
 
#啟動(dòng)容器后執(zhí)行run.sh腳本
CMD ["/run.sh"]

在該文件夾里再編寫一個(gè)run.sh

vim run.sh
 
run.sh里的內(nèi)容:
#!/bin/bash
/usr/local/nginx/sbin/nginx

docker build 構(gòu)建鏡像

docker build -t my_build:nginx1 .

 docker images查看鏡像:

使用該鏡像構(gòu)建容器:

可以看到鏡像成功啟動(dòng),東西也下載安裝好了,工作目錄設(shè)置好了,文件也復(fù)制到容器里了

到此這篇關(guān)于dockerfile指令構(gòu)建docker鏡像的示例代碼的文章就介紹到這了,更多相關(guān)dockerfile指令構(gòu)建docker鏡像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 常用的Docker命令及示例匯總分析

    常用的Docker命令及示例匯總分析

    這篇文章主要介紹了常用的Docker命令及示例的匯總分析,附含源碼示例分析,有需要的朋友可以借鑒參考下,希望可以對(duì)廣大讀者有所幫助
    2021-09-09
  • Docker 容器指定自定義網(wǎng)段的固定IP/靜態(tài)IP地址

    Docker 容器指定自定義網(wǎng)段的固定IP/靜態(tài)IP地址

    這篇文章主要介紹了Docker 容器指定自定義網(wǎng)段的固定IP/靜態(tài)IP地址的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • docker實(shí)現(xiàn)本地seata分布式環(huán)境搭建詳解

    docker實(shí)現(xiàn)本地seata分布式環(huán)境搭建詳解

    這篇文章主要為大家詳細(xì)介紹了docker實(shí)現(xiàn)本地seata分布式環(huán)境搭建的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考下
    2024-03-03
  • 在docker中部署并啟動(dòng)redis的方法

    在docker中部署并啟動(dòng)redis的方法

    這篇文章主要介紹了在docker中部署并啟動(dòng)redis的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 詳解如何進(jìn)入、退出docker容器的方法

    詳解如何進(jìn)入、退出docker容器的方法

    這篇文章主要介紹了詳解如何進(jìn)入、退出docker容器的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 基于docker安裝tensorflow的完整步驟

    基于docker安裝tensorflow的完整步驟

    TensorFlow 隨著AlphaGo的勝利也火了起來。 下面這篇文章主要給大家介紹了關(guān)于基于docker安裝tensorflow的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • Docker學(xué)習(xí)之常用的基礎(chǔ)命令總結(jié)

    Docker學(xué)習(xí)之常用的基礎(chǔ)命令總結(jié)

    這篇文章給大家整理了一些Docker常用的基礎(chǔ)命令,對(duì)大家日常使用Docker還是很有幫助,通過這些命令可以有效的提高大家的工作效率,有需要的朋友們下面來一起看看吧。
    2016-10-10
  • docker 容器網(wǎng)絡(luò)模式詳解

    docker 容器網(wǎng)絡(luò)模式詳解

    這篇文章主要為大家介紹了docker 容器網(wǎng)絡(luò)模式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • 一臺(tái)虛擬機(jī)基于docker搭建大數(shù)據(jù)HDP集群的思路詳解

    一臺(tái)虛擬機(jī)基于docker搭建大數(shù)據(jù)HDP集群的思路詳解

    這篇文章主要介紹了一臺(tái)虛擬機(jī)基于docker搭建大數(shù)據(jù)HDP集群?,本篇文章主要講了大數(shù)據(jù)集群搭建的架構(gòu)設(shè)計(jì)和實(shí)現(xiàn)思路部分,后面文章會(huì)探討上層應(yīng)用的構(gòu)建,需要的朋友可以參考下
    2022-11-11
  • Docker 網(wǎng)絡(luò)模式(四種)詳細(xì)介紹

    Docker 網(wǎng)絡(luò)模式(四種)詳細(xì)介紹

    這篇文章主要介紹了Docker 網(wǎng)絡(luò)模式詳細(xì)介紹的相關(guān)資料,這里提供了四種網(wǎng)絡(luò)模式的介紹,Docker 作為輕量級(jí)容器技術(shù),很多比較不錯(cuò)的功能,網(wǎng)絡(luò)不是多好,這里就整理下,需要的朋友可以參考下
    2016-11-11

最新評(píng)論

镇沅| 湖口县| 全椒县| 和平县| 通江县| 吉首市| 鹤壁市| 潼关县| 海南省| 沽源县| 米脂县| 兴业县| 文登市| 辽阳县| 同德县| 沅江市| 彰化市| 新竹县| 淳化县| 得荣县| 博客| 抚顺市| 鄂托克旗| 若羌县| 延长县| 平远县| 绥滨县| 泰州市| 绍兴市| 陆川县| 明溪县| 江阴市| 隆回县| 莲花县| 兴宁市| 汾西县| 安新县| 榆林市| 杭锦旗| 太保市| 杂多县|