dockerfile用來建立乙個自定義的image,包含了使用者指定的軟體依賴等。當前目錄下包含dockerfile,使用命令build來建立新的image,並命名為edwardsbean/centos6-jdk1.7:
docker build -t edwardsbean/centos6-jdk1.7 .如何編寫乙個dockerfile,格式如下:
# commentinstruction argumentsfrom
基於哪個映象
run安裝軟體用
maintainer
映象建立者
cmdcontainer啟動時執行的命令,但是乙個dockerfile中只能有一條cmd命令,多條則只執行最後一條cmd.
cmd主要用於container時啟動指定的服務,當docker run command的命令匹配到cmd command時,會替換cmd執行的命令。如:
dockerfile:
cmd echo hello world執行一下試試:
edwardsbean@ed-pc:~/software/docker-image/centos-add-test$ docker run centos-cmd
hello world一旦命令匹配:
edwardsbean@ed-pc:~/software/docker-image/centos-add-test$ docker run centos-cmd echo hello edwardsbean
hello edwardsbeanentrypoint
container啟動時執行的命令,但是乙個dockerfile中只能有一條entrypoint命令,如果多條,則只執行最後一條
entrypoint沒有cmd的可替換特性
user
使用哪個使用者跑container
如:entrypoint ["memcached"]
user daemonexpose
container內部服務開啟的埠。主機上要用還得在啟動container時,做host-container的埠對映:
docker run -d -p 127.0.0.1:33301:22 centos6-sshcontainer ssh服務的22埠被對映到主機的33301埠
env用來設定環境變數,比如:
env lang en_us.utf-8
env lc_all en_us.utf-8add
將檔案拷貝到container的檔案系統對應的路徑
所有拷貝到container中的檔案和資料夾許可權為0755,uid和gid為0
如果檔案是可識別的壓縮格式,則docker會幫忙解壓縮
Dockerfile檔案配置詳解
dockerfile用來建立乙個自定義的image,包含了使用者指定的軟體依賴等。當前目錄下包含dockerfile,使用命令build來建立新的image,並命名為edwardsbean centos6 jdk1.7 docker build t edwardsbean centos6 jdk1....
Dockerfile 配置檔案詳解
docker 可以通過讀取 dockerfile 配置檔案自動生成映象,也可以直接通過 docker 命令或 docker pull 命令生成映象。dockerfile解決了自動化的問題。使用docker build命令即可執行檔案中的所有命令,減少了映象和容器的建立過程,簡化了部署。dockerf...
docker(8)Dockerfile指令介紹
dockerfile 是乙個用來構建映象的文字檔案,文字內容包含了一條條構建映象所需的指令和說明。dockerfile是用來構建docker映象的構建檔案,是由一系列命令和引數構成的指令碼。簡單來說,dockerfile就是把我們安裝環境的每個步驟和指令,放到乙個檔案,最後一鍵執行,最後做成乙個你想...