首页 > 解决方案 > 无法在 docker 容器中启动服务

问题描述

我正在尝试在 docker 容器内运行 ftp 服务(计划将其部署到 AKS)。但是,在运行容器时,我无法启动 sshd 和 vsftpd 服务。请提供任何帮助/指导/指针。这是我正在使用的 dockerfile。

DockerFile

FROM oraclelinux:7-slim
RUN yum install -y sudo initscripts
RUN mkdir -p /var/config

COPY sshd_config /var/config/sshd_config
COPY vsftpd_config /var/config/vsftpd_config

RUN echo "sftpusersnokey sftpuserswithkey ftpusers" |xargs -n1 groupadd ${g};
RUN sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
RUN yum -y install blobfuse fuse vsftpd ftp systemd-sysv iptables-services openssh-server perl

RUN cat /var/config/sshd_config >> /etc/ssh/sshd_config

RUN sed -i 's/anonymous_enable=YES/anonymous_enable=NO/; s/listen_ipv6=YES/listen_ipv6=NO/; s/listen=NO/listen=YES/; s/xferlog_std_format=YES/xferlog_std_format=NO/; s/#chroot_local_user=YES/chroot_local_user=YES/;' /etc/vsftpd/vsftpd.conf

RUN sed  -i -r 's/auth(\s+)required(\s+)pam_shells.so/#auth\1required\2pam_shells.so/;' /etc/pam.d/vsftpd

RUN sed -i -r 's!^Subsystem(\s+)sftp(\s+)/usr/libexec/openssh/sftp-server!#Subsystem\1sftp\2/usr/libexec/openssh/sftp-server\nSubsystem\1sftp\2internal-sftp!;' /etc/ssh/sshd_config

RUN cat /var/config/vsftpd_config >> /etc/vsftpd/vsftpd.conf

EXPOSE 20 21 10090-10100

ENTRYPOINT service iptables stop && service sshd restart && service vsftpd restart && /bin/bash

标签: bashdockervsftpdoraclelinux

解决方案


推荐阅读