通过Docker CLI搭建Sshwifty
docker run -d \
--name sshwifty \
--restart=always \
-p 8182:8182 \
--env SSHWIFTY_DOCKER_TLSCERT="$(cat /home/docker/sshwifty/domain.crt)" \
--env SSHWIFTY_DOCKER_TLSCERTKEY="$(cat /home/docker/sshwifty/domain.key)" \
niruix/sshwifty:latest
这个命令将会以后台模式启动一个名为sshwifty
的容器,使用niruix/sshwifty:latest
镜像。下面是每个参数的详细说明:
-d
: 在后台运行容器。--name sshwifty
: 为容器指定一个名字sshwifty
,方便后续的管理操作。--restart=always
: 确保容器在退出时自动重启,或者在Docker守护进程启动时自动启动容器。-p 8182:8182
: 将容器内的8182端口映射到宿主机的8182端口,这样就可以通过宿主机的8182端口访问Sshwifty服务。--env SSHWIFTY_DOCKER_TLSCERT="$(cat /home/docker/sshwifty/domain.crt)"
: 设置环境变量SSHWIFTY_DOCKER_TLSCERT
,其值为你的TLS证书文件内容。这是用于HTTPS连接的证书。--env SSHWIFTY_DOCKER_TLSCERTKEY="$(cat /home/docker/sshwifty/domain.key)"
: 设置环境变量SSHWIFTY_DOCKER_TLSCERTKEY
,其值为你的TLS证书密钥文件内容。这是用于HTTPS连接的证书密钥。niruix/sshwifty:latest
: 指定使用的Docker镜像,这里是niruix/sshwifty
的最新版本。
使用步骤
- 确保你已经安装了Docker。
- 保存你的TLS证书和密钥到指定的路径,比如
/home/docker/sshwifty/domain.crt
和/home/docker/sshwifty/domain.key
。 - 运行上面的命令来启动Sshwifty容器。
通过Docker Compose搭建Sshwifty
使用Docker Compose可以让容器的部署和管理更加简单和自动化。首先,你需要创建一个docker-compose.yml
文件。
docker-compose.yml
文件示例
version: '3'
services:
sshwifty:
image: niruix/sshwifty:latest
container_name: sshwifty
ports:
- "8182:8182"
environment:
SSHWIFTY_DOCKER_TLSCERT: /certs/domain.crt
SSHWIFTY_DOCKER_TLSCERTKEY: /certs/domain.key
volumes:
- /home/docker/sshwifty:/certs
restart: always
version
: 指定Docker Compose文件格式的版本,'3'
是常用的版本之一。services
: 定义要运行的服务容器。sshwifty
: 服务的名称。image
: 使用的镜像,与CLI方法中相同。container_name
: 容器的名称。ports
: 端口映射,与CLI方法中相同。environment
: 设置环境变量,与CLI方法中使用的环境变量相同。不同的是这里直接引用容器内的路径。volumes
: 卷映射,将
宿主机的目录或文件映射到容器内。这里将/home/docker/sshwifty
目录映射到容器的/certs
目录,容器内的TLS证书和密钥路径需要相应调整。
- restart
: 容器的重启策略,与CLI方法中相同。
- 创建
docker-compose.yml
文件,并填入上面的内容。 - 确保TLS证书和密钥位于
/home/docker/sshwifty
目录下。 - 在
docker-compose.yml
文件所在的目录下,运行docker-compose up -d
来启动服务。