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"] |