Dockerfile基于最小化选择性安装服务的2种方法

方法1mkdir ss
cd ss/
touch Dockerfile //名字必须是这个
cp /etc/yum.repos.d/dvd.repo .
vim 1.sh
#!/bin/bash
EnvironmentFile=/etc/sysconfig/sshd
/usr/sbin/sshd -D &
EnvironmentFile=/etc/sysconfig/httpd
/usr/sbin/httpd -DFOREGROUND
chmod 755 1.sh
vim Dockerfile
FROM centos
RUN rm -rf /etc/yum.repos.d/*
ADD dvd.repo /etc/yum.repos.d/
ADD 1.sh /etc/init.d/1.sh
RUN yum -y install httpd openssh-server net-tools vim-enhanced iproute bash-completion psmisc initscripts
RUN echo 1 | passwd --stdin root
RUN /usr/sbin/sshd-keygen
EXPOSE 80
EXPOSE 22
CMD ["/etc/init.d/1.sh"]

方法2mkdir ss
cd ss/
touch Dockerfile //名字必须是这个
cp /etc/yum.repos.d/dvd.repo .
vim 1.sh
#!/bin/bash
/usr/sbin/sshd -D &
/usr/sbin/httpd -DFOREGROUND

vim Dockerfile
FROM centos
RUN rm -rf /etc/yum.repos.d/*
ADD dvd.repo /etc/yum.repos.d/
ADD 1.sh /etc/init.d/1.sh
RUN yum -y install httpd openssh-server net-tools vim-enhanced iproute bash-completion psmisc initscripts
RUN echo 1 | passwd --stdin root
ENV EnvironmentFile=/etc/sysconfig/httpd
EXPOSE 80
ENV EnvironmentFile=/etc/sysconfig/sshd
RUN /usr/sbin/sshd-keygen
EXPOSE 22
CMD [“/bin/bash”,"/etc/init.d/1.sh"]
[root@docker1 ss]# docker build -t moo:last .

如果出现/usr/sbin/sshd-keygen: line 10: /etc/rc.d/init.d/functions: No such file or directory 报错 这个包能解决initscripts

转载于:https://blog.51cto.com/13740508/2134332

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值