亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

Docker使用Dockerfile來創建鏡像

2024-09-01 13:51:27
字體:
來源:轉載
供稿:網友

本文學習Dcokerfile的基本命令,并且創建一個支持ssh服務的鏡像.

1.Dockerfile

1.1基本案例

dockerfile可以說是docker的描述符,該文件定義了docker鏡像的所能擁有哪些東西.基本格式如下:

第一行指定該鏡像基于的基礎鏡像(必須)FROM java:8維護者信息MAINTAINER quding niudear@foxmail.com鏡像操作指令RUN echo $JAVA_HOME啟動時操作的命令CMD ./usr/sbin/nginx

該文件說明從Java8這個基礎鏡像創建一個新的鏡像,輸出Java路徑,啟動成功則啟動nginx服務,這也是一個Dockerfile需要包含的操作步驟.

1.2指令詳解

1.FROM:格式為 FROM <image>或FROM<image>:<tag>第一條指令必須是FROM指令。并且,如果在同一個Dockerfile中創建多個鏡像時,可以使用多個FROM指令(每個鏡像一次)。

2.MAINTAINER:格式為MAINTAIER,指定維護者信息。

3.RUN:格式為RUN <command>或者RUN [“executable”,“param1”,“param2”]。前者將在shell終端中運行的命令,即/bin/sh–c;后者則使用exec執行。指定使用其他終端可以通過第二種方式實現,例如RUN[“/bin/bash”,“-c”,“echohello”]。每條RUN指令將在當前鏡像基礎上執行指定命令,并提交為新的鏡像。當命令較長時可以使用/來換行。這實際上就是在容器構建時需要執行哪些指令,例如容器構建時需要下拉代碼,但是默認啟動的容器中是沒有Git指令的,就需要下載,可以執行:RUN apt-get install -y git,然后RUN git clonexxxx

4.CMD:指定容器啟動后執行的命令

命令格式為:

sh格式: CMD <命令>

exec格式:CMD [“可執行文件”,”參數1”,”參數2”]

一般都是早就寫好的腳本或者啟動一個服務,例如:CMD[“/run.sh”]。注意:如果Dockerfile中指定了多條命令,只有最后一條會被執行。如果用戶啟動時候加了運行的命令,則會覆蓋掉CMD指定的指令。

這里有一個問題,很多時候我們想要docker一直在后臺運行,但是往往docker啟動后就停止.原因就在于此.

比如執行CMD serice MySQL start,那么翻譯過來的話是CMD ["sh","-c","serice mysql start"],那么對于docker來說CMD主進程為sh,那么sh執行完該命令就結束,所以導致docker停止.所以要改成直接啟動文件形式CMD ["mysql","-g",""daemon off;],指定前臺運行.

5.EXPOSE:告訴Docker服務端容器需要暴露的端口號,供互聯系統使用。在啟動容器時需要通過-P(注意是大寫),Docker主機會自動分配一個端口轉發到指定的端口;使用-p,則可以具體指定哪個本地端口映射過來。
例如:我在elasticsearch鏡像的Dockerfile中指定了暴露出9200和9300端口,我可以在Dockerfile中寫:EXPOSE 9200 9300

6.ENV:創建的時候給容器中加上個需要的環境變量。指定一個值,為后續的RUN指令服務

7.COPY:復制本地的文件或目錄到容器中。目標路徑不存在時,會自動創建。

8.ENTRYPOINT:配置容器啟動后執行的命令,并且不可被docker run 提供的參數覆蓋。
每個Dockerfile中只能有一個ENTRYPOINT,當指定多個ENTRYPOINT時,只有最后一個生效

9.VOLUME:創建一個掛在點,可以從本機或其他容器掛載的掛載點。意思就是從容器中暴露出一部分,和外界共享這塊東西,一般放數據庫的數據或者是代碼。在容器啟動運行的時候,如果需要將volume暴露的東西和本地的一個文件夾進行映射,想要通過本地文件直接訪問容器中暴露的部分,可以在運行的時候進行映射:

10.USER:指定運行容器時的用戶名或者UID,后續的RUN也會使用指定的用戶。當服務不需要管理員權限時,可以通過該命令指定運行用戶。并且可以在之前創建所需要的用戶。
要臨時獲取管理員權限的時候要使用gosu,不推薦使用sudo。如果不指定,容器默認是root運行。

11.WORKDIR:定義工作目錄,如果容器中沒有此目錄,會自動創建

創建指令docker build 路徑,該命令會讀取路徑下的Dockerfile文件和其他文件,然后發送給服務端,由服務端創建鏡像.

2.創建SSH服務鏡像

2.1準備Java8環境

后續教程需要利用到Java8環境,因此先下載一個官方的Java8鏡像作為基礎鏡像.直接執行如下命令.可以利用之前的教程,啟動容器查看下java路徑.

docker pull java:8

dockerfile創建鏡像,docker,創建鏡像,dockerfile構建鏡像

2.2編寫Dockerfile

ssh服務主要是openssh-server來提供,因此需要在容器中安裝該服務.

Dockerfile:

#顯示該鏡像是基于java8鏡像FROM java:8#維護人信息MAINTAINER quding niudear@foxmail.com#更新源RUN apt-get update#安裝軟件RUN apt-get install -y openssh-serverRUN mkdir -p /var/run/sshdRUN mkdir -p /root/.ssh#取消pam限制RUN sed -ri 's/session required  pam_loginuid.so/#session  required pam_loginuid.so/g' /etc/pam.d/sshd#復制配置文件到相應位置COPY authorized_keys /root/.ssh/authorized_keysCOPY run.sh /run.sh#賦予腳本權限RUN chmod 755 /run.sh#開放端口EXPOSE 22#設置啟動命令CMD ["/run.sh"]

run.sh

#!/bin/bash/usr/sbin/sshd -D

拷貝本機的id_ras

cat ~/.ssh/id_rsa.pub >authorized_keys//用來免密的

執行構建

docker build -t sshd:java . 

構建成功后使用docker images即可查看,然后像上篇一樣啟動容器,暴露出端口,再使用ssh連接,和一般Linux系統就沒什么差別了.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品福利在线| 国产成人精品av| 97国产成人精品视频| 欧美日韩国产色视频| 中文字幕精品在线| 一区二区三区精品99久久| 色综合久久中文字幕综合网小说| 欧美电影在线观看网站| 色偷偷88888欧美精品久久久| 91国产高清在线| 欧美日韩久久久久| 免费不卡欧美自拍视频| 国产成人精品免高潮费视频| 51视频国产精品一区二区| 这里只有精品在线观看| 91久久嫩草影院一区二区| 热re91久久精品国99热蜜臀| 中文字幕精品国产| 91精品久久久久久久久青青| 亚洲精品美女在线| 欧美最猛性xxxx| 日韩精品免费在线| 最近2019年好看中文字幕视频| 色噜噜亚洲精品中文字幕| 国产日韩中文在线| www日韩中文字幕在线看| 日韩中文在线视频| 韩国19禁主播vip福利视频| 欧美疯狂xxxx大交乱88av| 国产精品999| 国产欧亚日韩视频| 日韩电影中文 亚洲精品乱码| 日韩在线精品一区| 欧美疯狂xxxx大交乱88av| 欧美性xxxx极品hd欧美风情| 久久91精品国产91久久跳| 欧美激情影音先锋| 欧美日韩999| 日韩激情av在线免费观看| 91精品国产91久久久久久吃药| 国产999精品久久久影片官网| 国产欧美精品va在线观看| 欧美日韩国产一区在线| 国产精品九九久久久久久久| 欧美精品在线第一页| 91精品啪aⅴ在线观看国产| 欧美激情一区二区三区在线视频观看| 九九热这里只有精品免费看| 91国自产精品中文字幕亚洲| 秋霞av国产精品一区| 欧美夜福利tv在线| 日韩国产高清视频在线| 在线视频一区二区| 亚洲精品国产suv| 欧美激情一区二区久久久| 91免费看视频.| 亚洲免费视频网站| 国产亚洲精品高潮| 欧美肥老妇视频| 日本不卡视频在线播放| 欧美日韩ab片| 日本午夜人人精品| 亚洲综合视频1区| 麻豆国产va免费精品高清在线| 久久久久国产精品免费网站| 亚州精品天堂中文字幕| 日本中文字幕成人| 一区二区av在线| 97在线精品视频| 91色视频在线导航| 91系列在线观看| 亚洲欧美国产日韩中文字幕| 国产日韩欧美在线播放| 色无极亚洲影院| 国产不卡视频在线| 欧美日在线观看| 国产视频丨精品|在线观看| 日韩国产一区三区| 亚洲性av网站| 国产在线观看精品一区二区三区| 亚洲成人久久网| 日韩精品视频在线观看网址| 欧美性高潮床叫视频| 亚洲精品久久久久久下一站| 色偷偷av亚洲男人的天堂| 亚洲国产精品久久久| 久久视频在线视频| 久久99国产精品自在自在app| 日韩精品免费综合视频在线播放| 国产日产欧美a一级在线| 亚洲美女免费精品视频在线观看| 日韩在线视频免费观看高清中文| 国产精品一区二区久久国产| 欧美日韩黄色大片| 国内外成人免费激情在线视频| 成人自拍性视频| 日韩视频在线观看免费| 国产精品白丝av嫩草影院| 国产精品久久视频| 久色乳综合思思在线视频| 欧美日韩国产成人在线| 精品久久久久国产| 欧美日韩成人在线播放| 68精品国产免费久久久久久婷婷| 欧美另类在线播放| 欧美日韩国产第一页| 国产精品欧美久久久| 超碰日本道色综合久久综合| 亚洲人在线视频| 亚洲香蕉成人av网站在线观看| 久久久噜噜噜久噜久久| 色综合天天狠天天透天天伊人| 亚洲国产精彩中文乱码av| 精品久久久久久国产| 在线精品视频视频中文字幕| 亚洲性视频网址| 精品美女永久免费视频| 欧美剧在线观看| 欧美老肥婆性猛交视频| 亚洲色在线视频| 国产精品xxx视频| 日韩av不卡电影| 亚洲精品国产成人| 亚洲美女中文字幕| 日韩a**中文字幕| 久久久精品网站| 午夜欧美不卡精品aaaaa| 精品久久久久久久久中文字幕| 九九热精品视频国产| 久久精品国产v日韩v亚洲| 国产在线视频91| 一本一本久久a久久精品牛牛影视| 亚洲欧美日韩在线高清直播| 国产91精品久久久久久久| 国产91精品久久久| 亚洲欧美综合另类中字| 国产欧美日韩免费| 欧美性xxxx极品高清hd直播| 欧美色videos| 国产精品va在线| 中文字幕亚洲综合久久| 欧美贵妇videos办公室| 精品自在线视频| 久久久久国产精品免费| 日韩精品久久久久久福利| 欧美激情第三页| 国产美女精彩久久| 国产情人节一区| 911国产网站尤物在线观看| 黄色一区二区三区| 欧美日韩中国免费专区在线看| 亚洲一区二区三区久久| 国产成人精品最新| 国产精品女主播视频| 日韩av在线免费| 久久精品精品电影网| 色悠久久久久综合先锋影音下载| 91高清免费视频| 欧美黄色三级网站| 欧美综合国产精品久久丁香| 亚洲精品视频播放| 久久久久九九九九| 日韩男女性生活视频| 日本久久亚洲电影|