bash - 无法在 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
解决方案
推荐阅读
- oracle - 无法在 Oracle SQL Developer v19.0.1 中创建 PRIVATE TEMPORARY TABLE(错误:ORA-00905)
- go - 我应该在哪里存储服务注册服务器的端点?
- angular - Array.push() 增加全局条目数量
- kubernetes - Kubernetes 已弃用的 SSH 隧道功能的替代方案是什么?
- sql - 如何在我的查询中使用 case 语句,以便在“NULL”或 0 的情况下,我将用 1 替换它们
- java - 东部时间 (ET) 的正确 ZoneId:“US/Eastern”还是“America/New_York”?
- r - Left_join by reference for data.table 的重复键
- angular - 如何创建 PUT 方法来更新用户
- html - 悬停文本覆盖上的奇怪文本阴影/双文本
- python - 处理空间物理学的大数