1. 程式人生 > >怎樣用Docker建立我們自己的映象

怎樣用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:就是你每次輸入命令列@後面的字元
例如:

[email protected]
映象名稱: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的映象倉庫為基礎,那我用自己的系統作為映象怎麼辦那?

有使用工具的,有使用映象模板的等等,可以百度
別人已經解決了這個問題