原生docker文件版
在环境搭建机任意目录新建dockerfile 文件
vim Dockerfile
写入如下配置:
# 生成的新镜像以centos镜像为基础
FROM centos
# 指定作者信息
MAINTAINER by Test
#解决systemd无法加载的问题
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \
systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
#挂载cgroup CGroup 是将任意进程进行分组化管理的 Linux 内核功能。
VOLUME [ "/sys/fs/cgroup" ]
# 安装openssh-server
RUN yum -y install openssh-server
RUN mkdir /var/run/sshd
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
# 指定root密码
RUN /bin/echo 'root:123456'|chpasswd
#开放端口22
EXPOSE 22
#启动sshd
CMD ["/usr/sbin/sshd -D"]
#加载开机启动项
CMD ["/usr/sbin/init"]
构建镜像,主意后面的点
docker build -t felixfw/centos-ssh:1.0 .
启动
docker run --privileged -itd -p 5522:22 -p 5580:80 --name 'base' felixfw/centos-ssh:1.0
远程通过 宿主机IP、映射端口5522进行访问容器。
网友评论