在本地搭建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