平时有很多docker命令需要使用,之前都是记录在本地,有时候不方便查阅,所以现在搬运到博客上来。
主要使用的镜像及其命令 进入容器 1 docker exec -it 69d1 bash
jellyfin 1 2 3 4 5 6 7 8 docker run -d \ --volume /home/omv/docker/.jellyfin:/config \ --volume /home/omv/docker/.jellyfin:/cache \ --volume /srv/dev-disk-by-label-Download/Movies/videos:/media \ --user 1001:100 \ --restart=unless-stopped \ --name=jellyfin \ jellyfin/jellyfin
scylla 最新docker版本目前不能运行。
1 2 3 4 5 docker run -d -p 8899:8899 -p 8081:8081 \ --restart=always \ -v scylla:/var/www/scylla \ --name scylla \ wildcat/scylla:latest
redis 1 2 3 4 docker run -p 6379:6379 -d \ -v data:/data \ --name redis \ redis:latest redis-server --appendonly yes --requirepass "yourpasswd"
postgres 1 2 3 4 5 6 7 docker run -d \ -p 8432:5432 \ --name postgres \ -e POSTGRES_PASSWORD=yourpasswd \ -v pgdata:/var/lib/postgresql/data \ --restart=always \ postgres:12.5
pi-hole 1 2 3 4 5 6 7 8 9 10 11 12 13 docker run -d --name=pihole \ -p 53:53/tcp -p 53:53/udp \ -p 80:80 \ -p 443:443 \ -e TZ="Asia/Shanghai" \ -e WEBPASSWORD=yourpasswd \ -e ServerIP=192.168.199.123 \ -e IPv6=false \ --restart=unless-stopped \ --dns=192.168.199.123 \ -v etc-pihole:/etc/pihole/ \ -v etc-dnsmasq.d:/etc/dnsmasq.d/ \ pihole/pihole
nextcloud 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 docker run -p 8080:80 -d \ --restart=always \ -v /home/linux/docker/nextcloud:/var/www/html \ -v /home/linux/docker/nextcloud/apps:/var/www/html/custom_apps \ -v /home/linux/docker/nextcloud/config:/var/www/html/config \ -v /home/linux/docker/nextcloud/data:/var/www/html/data \ --name nextcloud \ nextcloud # 上面的版本是将数据存储在本地用户文件夹里面,下面的存放在/var/lib/docker/volumes/里面,请用下面这个版本 docker run -p 8080:80 -d \ --restart=always \ -v /var/lib/docker/volumes/nextcloud:/var/www/html \ -v /var/lib/docker/volumes/nextcloud/apps:/var/www/html/custom_apps \ -v /var/lib/docker/volumes/nextcloud/config:/var/www/html/config \ -v /var/lib/docker/volumes/nextcloud/data:/var/www/html/data \ --name nextcloud \ nextcloud
netdata 1 2 3 4 5 6 7 8 9 docker run -d --name=netdata \ --restart=always \ -p 19999:19999 \ -v /proc:/host/proc:ro \ -v /sys:/host/sys:ro \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ --cap-add SYS_PTRACE \ --security-opt apparmor=unconfined \ netdata/netdata
jhao104_proxy_pool 1 2 3 4 5 6 7 8 9 10 # redis 的ip改成docker网关的ip docker run -d -p 5010:5010\ --env db_type=REDIS \ --env db_host=172.17.0.1 \ --env db_port=6379 \ --env db_password=yourpasswd \ --restart=always \ --name proxy_pool \ jhao104/proxy_pool
unblockneteasemusic 1 2 3 4 5 6 7 docker run -d \ --name unlockmusic \ --restart unless-stopped \ --log-opt max-size=1m \ -p 12345:8080 \ p3terx/unblockneteasemusic \ -o kuwo qq migu
qiandao 只能映射config文件夹,不能映射整个文件夹,会无法启动。
1 docker run -d --name qiandao -p 8200:80 -v qiandao:/usr/src/app/config asdaragon/qiandao
watchtower cleanup是删除标签为none的镜像
-s 是crontab格式的命令。表示每天一点运行。
最后一行表示只有容器名称在内的才更新。
1 2 3 4 5 6 7 8 9 sudo docker run -d \ --name watchtower \ --restart always \ -e TZ=Asia/Shanghai \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --cleanup \ -s "0 0 1 * * *" \ bitwardenrs rsshub watchtower
subconverter subconverter 的docker版本,可以自建或者配合边缘 前端使用
后端地址填写:http://website:port/sub ? 注意后面有个问号。
1 2 3 4 5 docker run -d \ --name subconverter \ --restart=always \ -p 25500:25500 \ tindy2013/subconverter:latest
MySql 1 2 3 4 5 6 7 docker run -d \ --name mysql \ --restart=always \ -p 3306:3306 \ -v mysqldata:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=my-secret-pw \ mysql:latest
alist 1 2 3 4 5 6 7 8 docker run -d \ --restart=always \ -v /mnt/volume/alist:/opt/alist/data \ -p 5244:5244 \ -e PUID=0 \ -e PGID=0 -e UMASK=022 \ --name="alist" \ xhofe/alist:latest
Home Assistant 1 2 3 4 5 6 7 8 9 docker run -d \ --name homeassistant \ --privileged \ --restart=unless-stopped \ -e TZ=Asia/Shanghai \ -v /mnt/volume/homeassistant:/config \ -v /run/dbus:/run/dbus:ro \ --network=host \ homeassistant/home-assistant:stable
1 docker run -d --name rsshub -p 1200:1200 diygod/rsshub
vaultwarden 注意:为docker-compose.yml文件,启动请使用:docker-compose up -d
1 2 3 4 5 6 7 8 # Docker-compose file # docker-compose up -d # docker-compose down && docker-compose up -d # 更新 # cd ~/bitwarden # docker-compose down # docker pull bitwardenrs/server:latest # docker-compose up -d
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 # Docker-compose file version: "3" services: bitwarden: image: vaultwarden/server container_name: bitwardenrs restart: always ports: - "127.0.0.1:8081:80" #将宿主机8081端口映射到docker的80端口 - "127.0.0.1:3012:3012" volumes: - ./bw-data:/data environment: # Timezone settings, important for Fail2ban to work - TZ=Asia/Shanghai - LOG_FILE=data/vaultwarden.log - EXTENDED_LOGGING='true' - LOG_LEVEL=warn # Beef up a bit - ROCKET_WORKERS=20 - WEBSOCKET_ENABLED='true' # Hardening a bit - SIGNUPS_ALLOWED='false' #- DISABLE_ADMIN_TOKEN='true' #- ADMIN_TOKEN=YouRandomTokenHere - SHOW_PASSWORD_HINT='false' - DISABLE_ICON_DOWNLOAD='true' #- SMTP_HOST=smtphost #- SMTP_PORT=port #- SMTP_SSL='true' #- [email protected] #- SMTP_USERNAME=smtp_user_name #- SMTP_PASSWORD=smtp_password
vlmcsd 1 docker run -d -p 1688:1688 --restart=always --name vlmcsd mikolatero/vlmcsd
CF-TUNNEL 参考:https://hackfang.me/nas-cloudflare-tunnel
1 docker run --name cloudflared -d --restart always cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <YourToken>
Openwrt 进不去控制页的话,参考:https://github.com/haiibo/OpenWrt/discussions/153
更新openwrt版本也是执行下方所有操作(除创建docker网络)
1 docker import openwrt-armvirt-64-generic-rootfs.tar.gz openwrt
1 2 3 4 5 6 7 8 9 10 11 docker run -d \ --restart always \ --name openwrt \ --network openwrt \ --privileged=true \ --ulimit nofile=16384:65536 \ openwrt \ /sbin/init docker network create -d macvlan --subnet=192.168.10.0/24 --gateway=192.168.10.1 -o parent=end0 openwrt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 docker exec -it openwrt /bin/sh vi /etc/config/network option gateway '192.168.10.1' option dns '192.168.10.1' uci set network.lan.ipaddr=192.168.10.123 uci set network.lan.gateway=192.168.10.1 uci set network.lan.dns=192.168.10.1 uci commit network uci set dhcp.lan.ignore=1 uci commit dhcp reboot
docker 加速 编辑 /etc/docker/daemon.json 文件
1 2 3 4 5 6 7 8 9 10 11 12 13 nano /etc/docker/daemon.json # 写入如下内容 { "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] } # 然后重启服务 sudo systemctl daemon-reload sudo systemctl restart docker # 可以输入如下命令查看是否注册成功,查看Registry Mirrors的结果 sudo docker info