用docker编写DockerFile改进centos7,变成centos7pro,让它安装好vsftpd
时间: 2023-07-20 20:23:27 浏览: 47
好的,下面是 Dockerfile 的编写过程:
首先,我们需要基于 CentOS 7 来构建我们的镜像,可以使用 `FROM` 关键字指定基础镜像:
```
FROM centos:7
```
接下来,我们需要安装 vsftpd,可以使用 `RUN` 关键字来运行相应的命令:
```
RUN yum install -y vsftpd
```
然后,我们需要将 vsftpd 服务添加到系统服务中,并设置启动时自动启动:
```
RUN systemctl enable vsftpd.service
```
最后,我们需要对外暴露 vsftpd 服务的 21 端口:
```
EXPOSE 21
```
完整的 Dockerfile 如下所示:
```
FROM centos:7
RUN yum install -y vsftpd
RUN systemctl enable vsftpd.service
EXPOSE 21
```
编写完成后,可以使用以下命令来构建镜像:
```
docker build -t centos7pro-vsftpd .
```
其中,`-t` 参数指定了镜像的名称,`.` 表示 Dockerfile 文件所在的路径。构建完成后,可以使用以下命令来启动容器:
```
docker run -d -p 21:21 --name centos7pro-vsftpd centos7pro-vsftpd
```
其中,`-d` 参数表示以后台模式启动容器,`-p` 参数表示将容器的 21 端口映射到主机的 21 端口,`--name` 参数指定了容器的名称,最后一个参数是镜像名称。这样,vsftpd 服务就可以通过主机的 21 端口访问了。