怎樣用Docker創建我們自己的鏡像
官方文檔
Docker創建鏡像
總共有兩種方法:
1.用別人的鏡像創建。
1.1、先下載一個容器
命令: docker pull training/sinatra
1.2、然後用容器啓動這個鏡像
命令:docker run -t -i training/sinatra /bin/bash
1.3、接下來就是給使用中的容器,添加自己需要的工具等,來組裝自己的運行環境。
1.4、將上一步組裝好的環境copy一份鏡像。
命令:
docker commit -m “Added json gem” -a “KateSmith” \
0b2616b0e5a8 ouruser/sinatra:v2
說明:此處命令和git的命令svn的命令有些類似。 docker commit 是提交的意思,類似告訴svn服務器我要生成一個新的版本。
-m 就是添加註釋,-a是作者。
“\” 後面跟的是 1.2的容器環境id 要生成的鏡像的名稱
容器的id:就是你每次輸入命令行@後面的字符
例如:root@0b2616b0e5a8
鏡像名稱:hub的名稱/鏡像名稱:tag
1.5、docker images命令查看自己創建的鏡像。
1.6、使用新建立的鏡像
命令:docker run -t -i 要生成的鏡像的名稱 /bin/bash
2.使用Dockerfile
兩種創建方法相比,就類似以前的Java項目開發,在沒有使用maven以前,所以的東西都是現在好了放到項目中,如果有新的開發人員進來,需要把項目的jar文件都拷貝給他。但是使用maven以後就是不需要了。Dockerfile就類似這樣的道理
2.1、創建鏡像所在的文件夾和Dockerfile文件
命令:
1、mkdir sinatra
2、cd sinatra
3、touch Dockerfile
2.2、在Dockerfile文件中寫入指令,沒一條指令都會更新鏡像的信息例如:
# This is a comment
FROM ubuntu:14.04
MAINTAINER Kate Smith [email protected]
RUN apt-get update && apt-get install -y ruby ruby-dev
RUN gem install sinatra
格式說明:
每行命令都是以 INSTRUCTION statement 形式,就是命令+ 清單的模式。命令要大寫,“#”是註解。
FROM 命令是告訴docker 我們的鏡像什麼。
MAINTAINER 是描述 鏡像的創建人。
RUN 命令是在鏡像內部執行。就是說他後面的命令應該是針對鏡像可以運行的命令。
2.3、創建鏡像
命令:docker build -t ouruser/sinatra:v2 .
docker build 是docker創建鏡像的命令
-t 是標識新建的鏡像屬於 ouruser的
sinatra是倉庫的名稱
:v2 是tag
“.”是用來指明 我們的使用的Dockerfile文件當前目錄的
2.4、創建完成後,從鏡像創建容器
docker run -t -i ouruser/sinatra:v2 /bin/bash
到此兩種創建鏡像的方式就完畢了。
問題: 以上兩種方式都是以Docker的鏡像倉庫爲基礎,那我用自己的系統作爲鏡像怎麼辦那?
有使用工具的,有使用鏡像模板的等等,可以百度
別人已經解決了這個問題
---------------------
作者:瞅小丫
來源:CSDN
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!