使用commit命令封装
首先下载一个centos的镜像
docker pull centos
dokcer run -it centos
发现没有ifconfig命令,然后yum了一个,安装好以后退出容器
yum -y install net-tools
exit
docker commit 容器id 新镜像:tag
docker run -it 新镜像:tag
ifconfig
直接就有了ifconfig命令
限制新镜像里就有了
Dockerfile
Dockerfile是什么?
Dockerfile是用来构建镜像的脚本。脚本里包含了一条条的构建镜像所需要的指令和说明
Dockerfile的指令
指令 | 描述 |
---|---|
FROM | 指定基础镜像 |
LABEL | 指定容器标签 |
MAINTAINER | 镜像创建者 |
CMD | 容器启动时执行的指令,如果有多条只有最后一条 |
ENTRYPOINT | 容器启动时执行的指令,如果有多条只有最后一条 |
RUN | 运行指定命令 |
USER | 设置容器的用户 |
EXPOSE | 暴露容器运行时监听外部的端口 |
ENV | 设置环境变量 |
ADD | 把文件复制到镜像中,如果是压缩文件自动解压缩 |
COPY | 复制本地文件到镜像中 |
VOLUME | 将宿主机目录挂载到容器中使用 |
WORKDIR | 设置容器的工作目录 |
OMBUILD | 该命令下的操作只对子镜像生效 |
使用Dockerfile怎么用?
vim dockerfile
FROM centos
RUN yum -y install net-tools
docker build . -t centos:ifconfig
然后运行看一下是否有ifconfig命令
个人而言感觉dockerfile更简单一点