本文距离上次更新已过去 0 天,部分内容可能已经过时,请注意甄别。
安装 Docker 环境 一键脚本(推荐) curl -fsSL https://get.docker.com | bash -s docker
手动安装(不推荐) 更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源
1 2 sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
使用下面的 curl 导入源仓库的 GPG key:
1 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
将 Docker APT 软件源添加到你的系统:
1 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
现在,Docker 软件源被启用了,你可以安装软件源中任何可用的 Docker 版本。
想要安装 Docker 最新版本,运行下面的命令。
1 2 sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io
运行sudo apt update
可能会有Warning
解决方法参考ubuntu 22.04 修复 key is stored in legacy trusted.gpg keyring
以非 Root 用户身份执行 Docker
1 sudo usermod -aG docker $USER
Docker 防火墙管理 常用 Docker 操作 Docker 命令行操作 查看所有正在运行的容器
进入 Docker 容器
1 2 docker exec -it [docker_id] /bash docker exec -it [docker_id] /bin/sh
镜像导入/导出 更改镜像储存位置 默认情况下 Docker 容器的存放位置在/var/lib/docker
目录下面
可以通过下面命令查看具体位置
1 sudo docker info | grep "Docker Root Dir"
解决默认存储容量不足的情况,最直接且最有效的方法就是挂载新的分区到该目录。但是在原有系统空间不变的情况下,所以采用软链接的方式,修改镜像和容器的存放路径达到同样的目的。
1 2 3 4 5 # 停掉Docker服务 $ systemctl restart docker # 停掉Docker服务 $ service docker stop
然后移动整个/var/lib/docker
目录到空间不较大的目的路径。这时候启动 Docker
时发现存储目录依旧是 /var/lib/docker
目录,但是实际上是存储在数据盘 /data/docker
上了
1 2 3 4 5 # 移动原有的内容 $ mv /var/lib/docker /data/docker # 进行链接 $ ln -sf /data/docker /var/lib/docker
自用推荐 Docker 应用 alist 项目地址:alist-org/alist
项目简介:一个支持多存储的文件列表/WebDAV 程序,使用 Gin 和 Solidjs。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 version: "3.3" services: alist: restart: always volumes: - "/root/Docker/alist:/opt/alist/data" ports: - "5244:5244" environment: - PUID=0 - PGID=0 - UMASK=022 container_name: alist image: "xhofe/alist:latest"
Nezha 面板 项目地址:nezhahq/nezhahq.github.io
项目简介:开源、轻量、易用的服务器监控、运维工具
1 2 3 4 5 6 7 8 9 10 11 12 13 14 version: "3.3" services: dashboard: image: ghcr.io/naiba/nezha-dashboard:latest restart: always volumes: - /root/Docker/Nezha/data:/dashboard/data - /root/Docker/Nezha/static-custom/static:/dashboard/resource/static/custom:ro - /root/Docker/Nezha/theme-custom/template:/dashboard/resource/template/theme-custom:ro - /root/Docker/Nezha/dashboard-custom/template:/dashboard/resource/template/dashboard-custom:ro ports: - 5558 :5558 - 5559 :5559
Picsur 项目地址:CaramelFur/Picsur
项目简介:一个易于使用、可自托管的图像共享服务,类似 Imgur,具有内置转换功能
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 35 36 37 38 39 40 41 42 version: "3" services: picsur: image: ghcr.io/caramelfur/picsur:latest container_name: picsur ports: - "8003:8080" environment: PICSUR_HOST: "0.0.0.0" PICSUR_PORT: 8080 PICSUR_DB_HOST: picsur_postgres PICSUR_DB_PORT: 5432 PICSUR_DB_USERNAME: picsur PICSUR_DB_PASSWORD: nice-long-strong-passw0rd-here PICSUR_DB_DATABASE: picsur PICSUR_ADMIN_PASSWORD: your_password PICSUR_MAX_FILE_SIZE: 128000000 restart: unless-stopped picsur_postgres: image: postgres:14-alpine container_name: picsur_postgres environment: POSTGRES_DB: picsur POSTGRES_PASSWORD: nice-long-strong-passw0rd-here POSTGRES_USER: picsur restart: unless-stopped volumes: - /root/Docker/Picsur/picsur-data:/var/lib/postgresql/data
Portainer-ce 项目地址:6053537/portainer-ce
项目简介:一个轻量级的 docker 环境管理 UI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 version: "2" services: portainer: image: 6053537 /portainer-ce:latest container_name: portainer restart: always ports: - "9000:9000" volumes: - /root/Docker:/root/Docker - /root/Docker/dockerconfig/portainer:/data - /var/run/docker.sock:/var/run/docker.sock volumes: data:
qinglong 项目地址:whyour/qinglong
项目简介:支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 version: "2" services: web: image: whyour/qinglong:latest volumes: - /root/Docker/qinglong/data:/ql/data ports: - "5700:5700" environment: QlBaseUrl: "/" restart: unless-stopped
项目地址:HenryQW/Awesome-TTRSS
项目简介:一款基于 PHP 的免费开源 RSS 聚合阅读器
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 version: "3" services: service.rss: image: wangqiru/ttrss:latest container_name: ttrss ports: - "3894:80" environment: - SELF_URL_PATH=https://your.domin.com/ - DB_PASS=your_password volumes: - /root/Docker/TTRSS/feed-icons:/var/www/feed-icons/ networks: - public_access - service_only - database_only stdin_open: true tty: true restart: always service.mercury: image: wangqiru/mercury-parser-api:latest container_name: mercury networks: - public_access - service_only restart: always service.opencc: image: wangqiru/opencc-api-server:latest container_name: opencc environment: - NODE_ENV=production networks: - service_only restart: always database.postgres: image: postgres:13-alpine container_name: postgres environment: - POSTGRES_PASSWORD=your_password volumes: - /root/Docker/TTRSS/db/:/var/lib/postgresql/data networks: - database_only restart: always networks: public_access: service_only: internal: true database_only: internal: true
vaultwarden 项目地址:dani-garcia/vaultwarden
项目简介:一个使用 Rust 编写的非官方 Bitwarden 密码管理器服务器实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 version: "3" services: vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden restart: always ports: - 3011 :80 environment: - PUSH_ENABLED=true - PUSH_INSTALLATION_ID=6e53f383-55e6-4f7b-9252-b0fd00a6194f - PUSH_INSTALLATION_KEY=yxv2lyRsRY7vQpq9Rmzf volumes: - /root/Docker/vaultwarden/data/:/data/
Yourls 项目地址:YOURLS/YOURLS
项目简介:基于 PHP 的一个可以让你在自己的服务器上运行的 URL 缩短服务
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 35 36 version: "3.5" services: mysql: image: mariadb:jammy environment: - MYSQL_ROOT_PASSWORD=my-secret-pw - MYSQL_DATABASE=yourls - MYSQL_USER=yourls - MYSQL_PASSWORD=yourls volumes: - /root/Docker/yourls/yMariaDb:/var/lib/mysql restart: always container_name: yourls_mysql yourls: image: yourls restart: always ports: - "8200:80" environment: YOURLS_DB_HOST: mysql YOURLS_DB_USER: yourls YOURLS_DB_PASS: yourls YOURLS_DB_NAME: yourls YOURLS_USER: your_username YOURLS_PASS: your_password YOURLS_SITE: https://your.domain.com YOURLS_HOURS_OFFSET: 8 volumes: - /root/Docker/yourls/yourls_data/:/var/www/html container_name: yourls_service links: - mysql:mysql