顯示具有 docker 標籤的文章。 顯示所有文章
顯示具有 docker 標籤的文章。 顯示所有文章

2024年1月2日 星期二

TurnKey GNU/Linux 安裝 docker & dockge

## 套件安裝 使用瀏覽器登入**https://ip:12321/**,在Webmin管理頁面左側,**系統**->**軟體套件**,右方點選**Package from APT** 。 點選**Search APT ..**,搜尋**docker.io**、**docker-compose**,並安裝。 安裝完成後,依照[dockeg](https://github.com/louislam/dockge)官方建議下載腳本安裝。 若安裝過程跳出 **apparmor_parser** 相關錯誤無法起動,則在軟體套件安裝 **apparmor-utils** 即可。 參考資料 [https://github.com/louislam/dockge](https://github.com/louislam/dockge) [https://stackoverflow.com/questions/58393628/docker-error-response-from-daemon-apparmor-enabled-on-system-but-the-docker-de](https://stackoverflow.com/questions/58393628/docker-error-response-from-daemon-apparmor-enabled-on-system-but-the-docker-de)

Jellyfin的docker安裝

本文以Intel iGPU配合硬體解碼。 ## 前置準備 查詢render組編號並記錄下來,指令如下。 ``` getent group render | cut -d: -f3 ``` 準備一個支援中文的字型檔,例如:**NotoSansCJK-Regular.ttc**,並複製七份其中六個改名如下。 - **DejaVuSans.ttf** - **DejaVuSans-Bold.ttf** - **DejaVuSansMono.ttf** - **DejaVuSansMono-Bold.ttf** - **DejaVuSerif.ttf** - **DejaVuSerif-Bold.ttf** 在系統字型資料夾下創建名為dejavu資料夾,並把上述七個字型檔案放入。 ``` /usr/share/fonts/dejavu ``` 查詢顯卡設備文件是否存在,路徑如下,若不存在需安裝顯示驅動。 ``` /dev/dri/renderD128 ``` --- ## compose內容 ```yaml= version: "3" services: jellyfin: image: jellyfin/jellyfin environment: - PUID=1000 - PGID=100 - TZ=Asia/Taipei group_add: - "100" #將用getent group render | cut -d: -f3查詢的指令填入,每台電腦都可能不一樣 volumes: - /srv/link/appdata/jellyfin/config:/config #jellyfin設定檔位置 - /srv/link/appdata/jellyfin/cache:/cache #jellyfin暫存檔位置 - /usr/share/fonts/dejavu:/usr/share/fonts/dejavu #掛載字體 - /srv/link/video/media1:/media1 #掛載影片位置可以配置多個 - /srv/link/video/media2:/media2 devices: - /dev/dri/renderD128:/dev/dri/renderD128 #配置解碼 ports: - 8096:8096 restart: unless-stopped ``` --- ## 參考資料 [https://jellyfin.org/docs/general/administration/hardware-acceleration/intel](https://jellyfin.org/docs/general/administration/hardware-acceleration/intel) [https://jellyfin.org/docs/general/installation/container](https://jellyfin.org/docs/general/installation/container)

2023年12月31日 星期日

OMV6的docker安裝順序

 OMV6 系統下的 Docker安裝順序

首先,更新系統完成後安裝 omv-extras。

然後在插件安裝 compose。

其次掛載儲存區、建立使用者。

建立Docker安裝相關資料夾,分別是:docker安裝資料夾、compose文件存放資料夾、容器資料存放資料夾。

在web左側,omv-extras頁,將Docker repo 打勾並儲存。

在web左側,服務-> Compose->設定

依序填入指定資料夾後按儲存即完成安裝docker

2023年12月10日 星期日

安裝dockge (dock管理工具)

Dockge

基於docker compose.yaml建立容器,易使用的管理器。

 

前置條件

需先安裝docker,docker安裝方式

基本安裝

預設stacks目錄:
/opt/stacks
預設Port: 5001
# 建立儲存你的stacks yaml和 Dockge stacks yaml的存放
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge

# 下載 compose.yaml
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml

# 啟用 docker
docker compose up -d

 

更新dockge

cd /opt/dockge
docker compose pull && docker compose up -d

自定義安裝

自定義網址:https://dockge.kuma.pet/
更改Stacks Directory至指定位置(該路徑為存放容器compose):
例如:/srv/disk1/docker/compose-stacks
點擊Download,下載compose.yaml或是複製compose.yaml內容來建立容器
建立容器前記得修改安裝路徑 ./data:/app/data ,至指定位置。

參考來源

https://github.com/louislam/dockge

2023年10月3日 星期二

Docker 開啟 port 2375 允許遠端訪問

開啟 /usr/lib/systemd/system/docker.service 檔案。

加入下方內容

-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

加入位置如下圖


 

存檔退出後,重新加載服務並重啟Docker。

systemctl daemon-reload
service docker restart

參考資料

http://124.71.73.155/?p=79

https://netkiller.sourceforge.net/virtualization/docker/docker.config.html

https://gist.github.com/styblope/dc55e0ad2a9848f2cc3307d4819d819f?permalink_comment_id=3989337#gistcomment-3989337

2023年9月30日 星期六

Handbrake的docker安裝

紅色項目依實際修改
---
version: '3'
services:
  handbrake:
    image: jlesage/handbrake
    container_name: handbrake
    ports:
      - 5800:5800
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Taipei
      - LANG=zh_TW.UTF-8
    volumes:
      - /srv/指定儲存區/docker/handbrake:/config:rw      #存放docker程式資料
      - /srv/指定儲存區/handbrake/HBstorage:/storage:ro  #存放待轉檔影片位置
      - /srv/指定儲存區/handbrake/HBwatch:/watch:rw      #存放自動轉檔影片位置
      - /srv/指定儲存區/handbrake/HBoutput:/output:rw    #存放輸出檔案位置
      - /usr/share/fonts:/usr/share/fonts              #存放字型,需先安裝中文字型
    restart: unless-stopped


HandBrake 是一種將影片從幾乎任何格式轉換為選擇的工具現代的、廣泛支援的編解碼器。

HandBrake的Docker容器應用程式 GUI 可透過現代 Web 瀏覽器存取(無需要在客戶端安裝或設定)或透過任何 VNC 用戶端。 也提供全自動模式:將檔案放入監視資料夾中,然後讓 HandBrake 無需任何使用者互動即可處理它們。

2023年9月24日 星期日

常用 Docker 指令

Docker Service

查看Docker版本資訊

docker version

查看Docker系統資訊、Container數量、Image數量

docker info

查看Docker目前狀態

service docker status

啟動Docker Service

service docker start

將Docker Service重啟

service docker restart

將Docker Service停止

service docker stop

移除Docker

sudo apt-get purge docker-ce
sudo rm -rf /var/lib/docker


Container

匯出Container

docker export -o xxx.tar [ContainerID]
docker export [ContainerID] > xxx.tar

將上個指令產生的xxx.tar匯入成新的映像檔

cat xxx.tar | docker import - cutejaneii/xxx

停止Container

docker stop [container id]

停止全部Container

docker stop $(docker ps -a -q)

刪除Container

docker rm [container id]

刪除全部Container

docker rm $(docker ps -a -q)

列出目前運行的docker container

docker ps

列出目前所有的container(包含運行中及停止運行的的)

docker ps -a

啟動container

docker start [container id]

在外部對指定container執行bash

docker exec -it [container id] /bin/bash

重新命名container名稱

docker rename [container 原名稱] [container 新名稱]


參考來源

https://cutejaneii.gitbook.io/docker/docker/docker-chang-yong-zhi-ling

https://wp.me/p6Z7Zr-iA

2023年9月17日 星期日

Flame的docker安裝

紅色項目依實際修改
  flame:
    image: pawelmalak/flame
    container_name: flame
    volumes:
      - /srv/指定儲存區/flame/data:/app/data
    ports:
      - 5005:5005
    environment:
      - PASSWORD=密碼
    restart: unless-stopped


Flame 是伺服器的自託管導航頁。 它的設計靈感(很大程度上)來自 SUI 。 Flame 非常容易設置和使用。 借助內置編輯器,可以立即設置自己的應用頁面 - 無需編輯文件。

2023年4月22日 星期六

Nginx Proxy Manager 設定轉移

備份原主機安裝位置的 dataletsencrypt 兩個資料夾

在新主機安裝好 Nginx Proxy Manager 後,並完成使用者設定
關閉 Nginx Proxy Manager 容器

將原主機備份出來的資料夾覆蓋新主機相對應的路徑
開啟 Nginx Proxy Manager 容器
登入web畫面確認設定是否導入

關閉或刪除原主機容器
路由器的轉發端口修改對應IP使其生效

2023年3月30日 星期四

Nginx Proxy Manager 的docker安裝

Nginx Proxy Manager Stack

紅色項目依實際修改
version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - /srv/指定儲存區/nginx-config/data:/data
      - /srv/指定儲存區/nginx-config/letsencrypt:/etc/letsencrypt

配合主機管理必須使用80、81、443 port,避免出現問題,其他服務應避開使用這三個port。

81 port為NPM的管理頁面。

參考網址:

https://blog.darkthread.net/blog/nginx-proxy-manager/

2023年2月28日 星期二

Nextcloud的docker安裝

Nextcloud Stack

紅色項目依實際修改
建立nextcloud 容器之前,先建立資料庫
如果有需要分享整個nextcloud資料夾,也請先在NAS裡建立共享文件夾
為了方便資料庫與容器互相訪問,先在portainer的Networks手動建立一個橋接網路,以下範例使用的網路名稱為"mynet"
---
version: "2"
services:
  nextcloud:
    image: linuxserver/nextcloud
    container_name: nextcloud
    environment:
      - PUID=1000
      - PGID=100
      - TZ=Asia/Taipei
    volumes:
      - /srv/指定儲存區/nextclud/config:/config #nextcloud設定檔
      - /srv/指定儲存區/nextclud/data:/data #使用者資料
      - /其他外部掛載資料夾:/外部掛載資料夾
    networks:
      - mynet
    ports:
      - 443:443
    restart: unless-stopped

networks:
  mynet:
    external:
      name: mynet

參考網址:

https://www.youtube.com/watch?v=IxNA0tvK0zs

https://tvtv.fun/pc-to-nas/22th.html

資料庫mariadb、adminer的docker安裝

MariaDB Stack

紅色項目依實際修改
為了方便資料庫與容器互相訪問,先在portainer的Networks手動建立一個橋接網路,以下範例使用的網路名稱為"mynet"
---
version: "2"
services:
  mariadb:
    image: linuxserver/mariadb
    container_name: mariadb
    environment:
      - PUID=1000
      - PGID=100
      - MYSQL_ROOT_PASSWORD=ROOT帳戶密碼
      - TZ=Asia/Taipei
    volumes:
      - /srv/指定儲存區/docker/mariadb_data:/config
    ports:
      - 3306:3306
    networks:
      - mynet
    restart: unless-stopped
  
  adminer:
    image: adminer
    container_name: adminer
    environment:
      - ADMINER_DEFAULT_SERVER=mariadb
    ports:
      - 8080:8080
    networks:
      - mynet
    restart: unless-stopped

networks:
  mynet:
    external:
      name: mynet

管理資料庫

佈署完成後,使用 http://ip:8080 訪問adminer介面
初次登入訊息如下
  • 資料庫系統:MySQL
  • 伺服器:mariadb
  • 帳號:root
  • 密碼:組態檔案中 MYSQL_ROOT_PASSWORD 項的值

參考網址:

https://www.youtube.com/watch?v=6G4It1gr5G0

https://tvtv.fun/pc-to-nas/21th.html

2023年2月27日 星期一

目前使用docker容器列表

 
名稱 映像檔 用途
adminer adminer:latest 用於管理數據庫內容的工具
mariadb linuxserver/mariadb 資料庫管理系統
nextcloud linuxserver/nextcloud 私人雲端硬碟伺服器
aria2-pro p3terx/aria2-pro 下載管理器
ariang p3terx/ariang aria2的Web UI
nginx-proxy-manager jc21/nginx-proxy-manager Nginx網頁伺服器管理與監控工具
heimdall lscr.io/linuxserver/heimdall 個人導航網頁
duckdns lscr.io/linuxserver/duckdns 免費DDNS
calibre-web lscr.io/linuxserver/calibre-web 個人雲端書庫
Komga gotson/komga 個人雲端漫畫庫
jellyfin lscr.io/linuxserver/jellyfin 個人雲端影片庫
handbrake jlesage/handbrake 影片轉檔工具
emulatorjs lscr.io/linuxserver/emulatorjs 瀏覽器來玩模擬器遊戲
firefox lscr.io/linuxserver/firefox docker版的firefox瀏覽器
metube alexta69/metube 影片下載工具youtube-dl的Web UI,可以顯示下載進度、列表
youtube-dl-server kmb32123/youtube-dl-server 另一款youtube-dl的Web UI,僅下載功能無顯示下載進度、列表
vlmcsd mikolatero/vlmcsd KMS啟用伺服器
alist xhofe/alist 支援多種網路硬碟的網頁文件列表
watchtower containrrr/watchtower 自動升級更新執行中的 Docker 容器
fireflyiii fireflyiii/core 個人財務管理器
 

2023年2月5日 星期日

Docker容器無法強制開啟,並出現AppArmor錯誤、無法加載 docker-default 配置文件的解決方式

當Docker容器無法透過指令開啟時

docker start "CONTAINER ID" 

並出現錯誤訊息

 Error response from daemon: AppArmor enabled on system but the docker-default profile could not be loaded: running `apparmor_parser apparmor_parser --version` failed with output: error: exec: "apparmor_parser": executable file not found in $PATH 

可能是apparmor套出現問題,重新安裝apparmor套件

 apt install apparmor -y 

並同意安裝套件維護者所提供的版本


參考網址

https://stackoverflow.com/questions/58393628/docker-error-response-from-daemon-apparmor-enabled-on-system-but-the-docker-de