jexus docker
一、准备工作
1.init.sh 文件
#!/bin/bash # Stop your services function stop_svc { /usr/jexus/jws stop >/dev/null 2>&1 service ssh stop >dev/null 2>&1 exit } # Set the SIGTREM signal response function trap 'stop_svc' SIGTERM # Start Your Services ##################### /usr/jexus/jws start service ssh start # Waiting signal #################### while true do sleep 2 done
2.Dockerfile
FROM ubuntu:latest MAINTAINER Yunei.Liuyun <j66x@163.com> RUN apt-get update; apt-get -y upgrade; apt-get -y install wget curl ssh vim php-cgi libx11-dev libfreetype6-dev libexpat-dev libglib2.0-bin RUN curl https://jexus.org/release/x64/install.sh|sh # RUN sed -i -e 's/^PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config ADD init.sh /bin RUN chmod +x /bin/init.sh; apt-get -y autoremove; apt-get -y autoclean; apt-get -y clean EXPOSE 22 80 443 42424 ENV TERM="xterm" WORKDIR /usr/jexus ENTRYPOINT ["/bin/init.sh"]
二、使用说明
这是一个构建以Jexus服务器为主体的功能完整的Docker镜像脚本 ============================================================= 镜像创建完成后,将包括如下功能或组件: 1,最新发布的Jexus独立版 2,支持ssh登录和管理(需要先进入容器为root设置密码) 3,包含 vim、wget、curl 等必要工具 4,包含 System.Drawing 所需要的图形库 5,支持PHP 6,公开42424端口,可以向外提供 Asp.Net Stat服务 使用方法: 一,把Dockerfile文件和init.sh文件放到linux主机的某个文件夹中,然后进入这个文件夹。 二,构建镜像: sudo docker build -t jexus:v1 . (注意,这行命令最后有一个空格+英文“.”号) 三,生成和运行容器: sudo docker run -d -p 8080:80 -p 2222:22 --name jws1 jexus:v1 (注:意思是将容器的80、22端口映射到主机的8080和2222端口,以便外部访问;这个容器的名字叫“jws1”) (如果容器内网站要用https协议或者需要向外提供StateServer服务,还需分别将容器内443、42424端口映射到主机) 四,检查运行情况: sudo docker ps -a 五,检查容器中jexus服务情况: sudo curl localhost:8080/info 六、从主机进入容器,在容器内进行某些操作(比如修改httpd_config文件允许root登入等) 进入:sudo docker exec -it jws1 /bin/bash 退出:exit