| 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"] |
原文:https://www.cnblogs.com/wengzhenqi/p/10928970.html