docker-compose 部署jumpserver
时间: 2025-05-01 18:37:23 浏览: 59
### 使用 Docker Compose 部署 JumpServer
JumpServer 是一款开源的堡垒机工具,能够帮助企业实现运维审计、权限管理等功能。通过 `docker-compose` 可以简化其部署流程。
#### 创建工作目录并初始化环境
首先需要创建用于存储配置文件的工作目录,并生成必要的密钥文件:
```bash
mkdir -pv /data/docker-compose/jumpserver
cd /data/docker-compose/jumpserver
```
接着可以按照需求生成 SSH 密钥或其他必要资源[^1]。
---
#### 安装并验证 Docker 和 Docker Compose
为了确保 `docker-compose` 能够正常运行,需确认已安装最新版本的 Docker 和 Docker Compose:
如果尚未全局可用,则可以通过以下命令设置软链接来方便调用:
```bash
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
```
此操作使得可以在任意路径下执行 `docker-compose` 命令[^2]。
启动并启用 Docker 服务后,应能看到类似以下输出信息表明成功启用了 Docker 自动化加载功能:
```bash
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
```
这一步骤非常重要,因为只有当 Docker 正常运行时才能继续后续步骤[^3]。
---
#### 编写 Docker Compose 文件
在 `/data/docker-compose/jumpserver/` 下新建名为 `docker-compose.yml` 的文件,以下是基本模板供参考:
```yaml
version: '3'
services:
redis:
image: redis:5-alpine
container_name: jumpserver_redis
restart: always
mysql:
image: mysql:8.0
container_name: jumpserver_mysql
environment:
MYSQL_ROOT_PASSWORD: YourRootPasswordHere
MYSQL_DATABASE: jumpserver
MYSQL_USER: jumpserver
MYSQL_PASSWORD: YourUserPasswordHere
volumes:
- ./mysql:/var/lib/mysql
command: ["--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci"]
restart: always
guacamole:
image: linuxserver/guacd
container_name: jumpserver_guacamole
restart: always
web:
build: .
container_name: jumpserver_web
depends_on:
- redis
- mysql
- guacamole
ports:
- "80:80"
- "2222:2222"
env_file:
- .env
restart: always
```
上述 YAML 文件定义了四个主要的服务组件:Redis 数据库缓存服务器;MySQL 关系型数据库管理系统;Guacamole 提供远程桌面访问能力以及核心 Web 应用程序本身[^4]。
注意替换 `.env` 中敏感数据如密码等内容前缀为实际值再保存到同一级目录下的隐藏文件里比如这样形式:
```
SECRET_KEY=your_secret_key_here
BOOTSTRAP_TOKEN=bootstrap_token_value
KEY words omitted for security reasons...
```
完成编辑之后就可以利用下面这条简单指令一键拉取镜像构建容器网络结构同时开启所有关联进程啦!
```bash
docker-compose up -d
```
---
#### 查看状态与日志
一旦上面提到过的后台守护线程正式启动起来以后我们就能随时监控它们当前健康状况或者排查错误原因咯!试试这些实用的小技巧吧~
查询正在运行中的实例列表及其基本信息摘要情况:
```bash
docker ps | grep jumpserver_
```
获取特定模块最近一段时间内的活动记录详情(例如针对web应用部分):
```bash
docker logs -f jumpserver_web
```
停止整个项目只需一条简洁明了语句即可搞定哦~
```bash
docker-compose down
```
---
阅读全文
相关推荐


















