dockerfile語法格式: |
|
FROM: 基礎鏡像(就是在什麼鏡像上面作) |
|
MAINTAINER: 鏡像建立者信息(做者的信息) |
|
EXPOSE: 開放的端口 |
|
ENV: 設置變量 |
|
ADD: 複製文件到鏡像(從數組機裏把文件塞到docker容器裏) |
|
RUN: 製做鏡像時執行的命令,能夠有多個 |
|
WORKDIR: 定義容器默認工做目錄 |
|
CMD: 容器啓動時執行的命令,僅能夠有一條CMD(要在方括號裏面有參數以逗號分隔) |
|
|
|
步驟: |
|
先隨便建立一個文件夾,而後在裏面touch一個叫Dockerfile的文件(注意: 文件名必定要叫Dockerfile),而後在Dockerfile文件裏編輯(注意開頭必定要大寫!!!) 以下: |
|
|
|
|
|
FROM centos:latest #基於什麼鏡像作 |
|
RUN rm -f /etc/yum.repos.d/*.repo |
|
ADD local.repo /etc/yum.repos.d/local.repo #把數組機的文 件塞到容器裏 |
|
RUN yum -y install net-tools vim bash-comletion psmisc |
|
#裝軟件加-y避免交互 |
|
:wq |
|
|
|
docker build -t testos:latest . |
|
#在命令行上敲,製做,-t 指定叫什麼名字,後面的點表明當前目錄,提早把要塞進去的文件複製到本身的這個目錄裏 |
|
|
|
#交互式容器不要加d 服務容器必定要加d !!! |
|
製做sshd版dockerfile: |
|
FROM myos:latest |
|
RUN yum -y install openssh-server-7.4p1-11.el7.x86_64 initscripts-9.49.39-1.el7.x86_64 |
|
RUN sshd-keygen && echo 'aa' | passwd --stdin root |
|
ENV EnvironmentFile=/etc/sysconfig/sshd |
|
EXPOSE 22 |
|
CMD ["/usr/sbin/sshd", "-D"] |