dockerfile指令说明,都要大写,图是搬别人的
1,在主机目录docker-demo下创建一个mycentosfile文件
vim mycentosfile
2,编辑文件内容:
FROM centos
3,添加作者信息:
MAINTAINER test<test@qq.com>
4,配置环境变量:
ENV MYPATH /user/local
5,设置工作目录:
WORKDIR #MYPATH
6,添加运行指令,安装两个包:
RUN yum -y install vim
RUN yum -y install net-tools
因为centOS8于2021年12月31日停止了源的服务,所以这里直接安装vim和net-tools是会报错的
Error: Failed to download metadata for repo ‘AppStream‘: xxxx
所以要解决不能安装的问题:
RUN cd /etc/yum.repos.d/
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
RUN yum update -y
RUN curl -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
RUN yum clean all
RUN yum makecache
RUN find . -name 'CentOS-Linux-*' -exec rm {} \;
RUN yum -y install vim
RUN yum -y install net-tools
要写成这样
7,暴露80端口:
EXPOSE 80
8,输出一些信息:
CMD echo $MYPATH
CMD echo '------end-------'
9,启动进入命令行:
CMD /bin/bash
最终文件如下:
FROM centos
MAINTAINER test<test@qq.com>
ENV MYPATH /user/local
WORKDIR #MYPATH
RUN cd /etc/yum.repos.d/
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
RUN yum update -y
RUN curl -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
RUN yum clean all
RUN yum makecache
RUN find . -name 'CentOS-Linux-*' -exec rm {} \;
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
RUN yum -y install vim
RUN yum -y install net-tools
CMD /bin/bash
10,构建镜像:
docker build -f mycentosfile -t mycentos:1.0 .