常用Docker

杂谈 · 2024-11-20
常用Docker

PortainerUI(Docker管理器)

docker run -d --restart=always --name portainerUI -p 8007:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

Jumpserver堡垒机
1.生成随机加密秘钥

if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo $SECRET_KEY; else echo $SECRET_KEY; fi

if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi

2.运行Mysql容器

docker run --name mysql-server -t \
--hostname mysql-server \
--restart=always \
-v /etc/localtime:/etc/localtime \
-v /volume1/docker/mysql/2/:/var/lib/mysql \
-e MYSQL_DATABASE="jumpserver" \
-e MYSQL_USER="jumpserver" \
-e MYSQL_PASSWORD="jumpserver" \
-e MYSQL_ROOT_PASSWORD="111111" \
-p 3306:3306 \
-d mysql:5.7 \
--character-set-server=utf8 --collation-server=utf8_bin
查看容器运行日志docker logs -f mysql-server

3.运行Redis容器
docker run --name redis-server -t \
--hostname redis-server \
--restart=always \
-v /etc/localtime:/etc/localtime \
-d redis

查看容器运行日志docker logs -f redis-server

4.运行Jumpserver容器

docker run --name jms_all -t \
--hostname jms_all \
--restart=always \
-v /etc/localtime:/etc/localtime \
-p 80:80 \
-p 2222:2222 \
-e SECRET_KEY=$SECRET_KEY \
-e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN \
-e DB_HOST="mysql-server" \
-e DB_PORT=3306 \
-e DB_NAME="jumpserver" \
-e DB_USER="jumpserver" \
-e DB_PASSWORD="jumpserver" \
--link mysql-server:mysql \
-e REDIS_HOST="redis-server" \
-e REDIS_PORT="6379" \
--link redis-server:redis \
-d jumpserver/jms_all:latest
查看容器运行日志docker logs -f jms_all,请耐心等待初始化完成,时间可能比较长点,当容器日志显示如下即可访问Jumpserver网页了

Frp内网穿透工具
客户端
docker run --restart=always --network host -d -v /docker/frp/frpc.ini:/etc/frp/frpc.ini --name frpc snowdreamtech/frpc

服务端

docker run --restart=always --network host -d -v /etc/frp/frps.toml:/etc/frp/frps.toml --name frps snowdreamtech/frps

Alist

docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest

#首次登陆建议设置成指定密码
docker exec -it alist ./alist admin set NEW_PASSWORD

XUI

mkdir x-ui && cd x-ui
docker run -itd --network=host \

-v $PWD/db/:/etc/x-ui/ \
-v $PWD/cert/:/root/cert/ \
--name x-ui --restart=always \
enwaiax/x-ui:alpha-zh

vaultwarden(密码管理器)

docker run -d --restart=always --name vaultwarden -v /vw-data/:/data/ -p 5555:80 vaultwarden/server:latest

ChatGPT-Next-Web
docker run -d -p 3000:3000 \
--name chatgpt --restart=always \
-e OPENAI_API_KEY=API-KEY \
-e CODE=密码 \
yidadaa/chatgpt-next-web

ddns-go
docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go

weejewel/wg-easy openwrt
docker run -d \
--name=wg-easy \
-e WG_HOST=公网ip\ddns \
-e PASSWORD=password \
-e WG_DEFAULT_ADDRESS=172.16.2.x \
-e WG_DEFAULT_DNS=192.168.2.111 \
-e WG_ALLOWED_IPS=172.16.2.0/24 \
-e WG_PERSISTENT_KEEPALIVE=25 \
-v ~/.wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart=always \
weejewel/wg-easy

openwrt接口设置
2024-04-11T13:06:36.png
设置端口转发
2024-04-11T13:10:03.png
主路由设置
2024-04-11T13:11:28.png
添加客户端
2024-04-11T13:12:24.png

Theme Jasmine by Kent Liao