docker

以CentOS为例

docker安装

#安装(也可以安装docker-io等版本)
yum -y install docker
#重启
systemctl restart docker.service
#开机启动
systemctl enable docker.service
#查看是否启动
systemctl status docker.service
  • 至此,docker安装完成

docker管理面板安装

portainer容器,网页管理docker容器
docker run -d \
-v /var/run/docker.sock:/var/run/docker.sock \
-p 9000:9000 \
--name prtainer-dev \
--restart=always \
portainer/portainer:latest
访问ip:9000即可

安装青龙面板

# 运行前删除掉注释
docker run -dit \
  -v $PWD/ql/config:/ql/data/config \     # config 文件所在位置
  -v $PWD/ql/log:/ql/data/log \            # log 文件所在位置
  -v $PWD/ql/db:/ql/data/db \            # db 文件所在位置
  -v $PWD/ql/repo:/ql/data/repo \        # repo 文件所在位置
  -v $PWD/ql/raw:/ql/data/raw \            # raw 文件所在位置
  -v $PWD/ql/scripts:/ql/data/scripts \    # scripts 文件所在位置
  -p 5700:5700 \                # 指定端口映射,格式为:主机(宿主)端口[可修改]:容器端口
  --name qinglong \                # 为容器指定一个名称
  --hostname qinglong \            # 指定容器的hostname
  --restart unless-stopped \    # 重启容器除非容器停止
  whyour/qinglong:latest         # docker 拉取镜像名与版本
  • 直接运行版本

    docker run -dit \
    -v $PWD/ql/config:/ql/data/config \
    -v $PWD/ql/log:/ql/data/log \
    -v $PWD/ql/db:/ql/data/db \
    -v $PWD/ql/repo:/ql/data/repo \
    -v $PWD/ql/raw:/ql/data/raw \
    -v $PWD/ql/scripts:/ql/data/scripts \
    -p 5700:5700 \
    --name qinglong \
    --hostname qinglong \
    --restart unless-stopped \
    whyour/qinglong:latest

端口默认5700,使用前记得在服务器中放行该端口

关于docker的部分操作

# 注意一下代码在 Ubuntu 中需要管理员权限一下命令前都加入 sudo,其他 Linux 操作系统使用 root用户
sudo docker images                    # 查看拉取的所有镜像
sudo docker rmi <镜像名称>            # 删除拉取的镜像 <镜像名称> --> 上边第一行运行完成后的[REPOSITORY] 下边对应的名字
# ----------------------------------------------------------------------------------------------
sudo docker ps -a                     # 查看所有的容器命令
sudo docker start b750bbbcfd88        # 启动一个已停止的容器 [b750bbbcfd88 -> 第一行命令后出现的容器ID 'CONTAINER ID']
sudo docker stop b750bbbcfd88        # 停止一个进行的容器 [b750bbbcfd88 -> 第一行命令后出现的容器ID 'CONTAINER ID']
sudo docker restart b750bbbcfd88    # 重启一个进行的容器 [b750bbbcfd88 -> 第一行命令后出现的容器ID 'CONTAINER ID']
sudo docker rm -f imgID        # 删除一个容器 imgID -> 执行sudo docker images后出现的容器ID 'CONTAINER ID'
sudo docker exec -it imgID /bin/bash     # 进入这个容器 imgID ->  执行sudo docker images后出现的容器ID 'CONTAINER ID'

问题记录

青龙bash的部分指令

# 更新并重启青龙
ql update                                                    
# 运行自定义脚本extra.sh
ql extra                                                     
# 添加单个脚本文件
ql raw <file_url>                                             
# 添加单个仓库的指定脚本
ql repo <repo_url> <whitelist> <blacklist> <dependence> <branch>   
# 删除旧日志
ql rmlog <days>                                              
# 启动tg-bot
ql bot                                                       
# 检测青龙环境并修复
ql check                                                     
# 重置登录错误次数
ql resetlet                                                  
# 禁用两步登录
ql resettfa                                                  

# 依次执行,如果设置了随机延迟,将随机延迟一定秒数
task <file_path>                                             
# 依次执行,无论是否设置了随机延迟,均立即运行,前台会输出日,同时记录在日志文件中
task <file_path> now                                         
# 并发执行,无论是否设置了随机延迟,均立即运行,前台不产生日,直接记录在日志文件中,且可指定账号执行
task <file_path> conc <env_name> <account_number>(可选的) 
# 指定账号执行,无论是否设置了随机延迟,均立即运行 
task <file_path> desi <env_name> <account_number>  

在执行 sudo docker exec -it imgID /bin/bash 后输入 ql 可以看到内置的相关命令

imgID -> 执行sudo docker images后出现的容器ID 'CONTAINER ID'

忘记登陆密码

  1. 去文件中直接看

我没有找到这个文件

/root/ql/config/auth.json
  1. 重置后台登陆
docker exec -it qinglong ql resetlet

通过ssh直接重置后台登陆,会返回用户名密码等其他信息

Last modification:June 25, 2024
If you think my article is useful to you, please feel free to appreciate