在本地搭建jumpserver开发环境,通常都但愿把jumpserver运行环境隔离开来,而且还可以在更新代码后很快看到效果。如下就是使用docker搭建开发环境的基本步骤python
FROM registry.cn-hangzhou.aliyuncs.com/kid1412z/docker-centos7-python36:latest ADD requirements.txt /opt/requirements.txt ADD CentOS7-Base-163.repo /etc/yum.repos.d/CentOS-Base.repo RUN yum clean all &&\ yum makecache &&\ yum update -y &&\ yum install -y libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel sshpass openldap-devel mysql-devel libffi-devel openssh-clients RUN ln -s /usr/local/bin/python /usr/bin/python3 &&\ pip install -U pip &&\ pip install -r /opt/requirements.txt EXPOSE 2222 EXPOSE 8080
到当前目录运行docker命令mysql
docker build -t jms/env:v1.0 .web
之因此不用官方的镜像,是因为官方镜像运行后,会在jumpserver stop后自动重启,给开发调试带来麻烦redis
class DevelopmentConfig(Config): DB_ENGINE = 'mysql' DB_HOST = '172.17.0.1' DB_PORT = 3306 DB_USER = 'jumpserver' DB_PASSWORD = '<yourpassword>' DB_NAME = 'jumpserver' REDIS_HOST = '172.17.0.1'
$ docker run -dp 3306:3306 --name=mysql -e MYSQL_ROOT_PASSWORD=<yourpassword> mariadb:10.1.32 $ docker run -dp 6379:6379 --name=redis redis:4.0.9 $ docker run -dp 8080:8080 -p 2222:2222 \ --name=jms \ -v <path/to/project>:/opt/jumpserver \ jms/env:v1.0
经过目录映射的方式能够在本地修改完代码后,直接在容器内重启jumpserver服务查看效果。sql
ps:进行调试时,在不涉及异步任务状况下,只须要重启gunicorn既可docker