docker命令记录

平时有很多docker命令需要使用,之前都是记录在本地,有时候不方便查阅,所以现在搬运到博客上来。

主要使用的镜像及其命令

jellyfin

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版本目前不能运行。

docker run -d -p 8899:8899 -p 8081:8081 \
    --restart=always \
    -v scylla:/var/www/scylla \
    --name scylla \
    wildcat/scylla:latest

redis

docker run -p 6379:6379 -d \
    -v data:/data \
    --name redis \
    redis:latest redis-server --appendonly yes --requirepass "yourpasswd"

postgres

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

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

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

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

# 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

docker run -d \
    --name unlockmusic \
    --restart unless-stopped \
    --log-opt max-size=1m \
    -p 12345:8080 \
p3terx/unblockneteasemusic \
    -o kuwo qq migu

qiandao

只能映射config文件夹,不能映射整个文件夹,会无法启动。

docker run -d --name qiandao -p 8200:80 -v qiandao:/usr/src/app/config   asdaragon/qiandao

watchtower

cleanup是删除标签为none的镜像

-s 是crontab格式的命令。表示每天一点运行。

最后一行表示只有容器名称在内的才更新。

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 * * *" \
    jellyfin nextcloud scylla qiandao unlockmusic

subconverter

subconverter 的docker版本,可以自建或者配合边缘前端使用

后端地址填写:http://website:port/sub? 注意后面有个问号。

docker run -d \
    --name subconverter \
    --restart=always \
    -p 25500:25500 \
    tindy2013/subconverter:latest

docker 加速

编辑 /etc/docker/daemon.json 文件

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