發表文章

目前顯示的是有「Docker」標籤的文章

Windows 「重開機後」就「直接自動」啟動 Docker Desktop

Update 2025-02-20 初步測試,可以在 Docker Desktop for Windows 內打勾 「Start Docker Desktop when you log in」即可 原文 重點文字強調:如何讓 Docker Desktop for Windows 在系統開機時自動啟動,而不是使用者登入後才啟動! 雖然說 Docker Desktop for Windows 本身就支援了可以在「登入時」自動啟動 Desktop Desktop 的設定,但我們的需求比較是希望可以在「啟動時」就直接啟動 Docker Desktop 服務。 References: 如何讓 Docker Desktop for Windows 在系統開機時自動啟動

安裝 Docker Desktop for Windows 注意事項

如果你的 Ubuntu 裡已經有使用 Docker ,那要注意以下!! 在 Docker 介面勾了使用 WSL2 後,會再勾選要使用哪一個 Ubuntu,後續那個 Ubuntu 裡面的 Docker images and containers 都會被 Docker Desktop for Windows 洗掉!

Ubuntu 24 上安裝 Docker 官方來源的 Docker

更新系統套件 sudo apt update sudo apt upgrade -y 移除舊版 Docker(若已安裝) sudo apt install -y ca-certificates curl gnupg 安裝套件允許使用 HTTPS 傳輸,及 GPG 金鑰 sudo apt install -y ca-certificates curl gnupg 新增 Docker 的官方 GPG 金鑰 sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg 設定 Docker 的下載點 echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 安裝 Docker Engine 、docker compose 和相關套件 sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 確認是否已安裝 Docker sudo docker --version 應該要看到類似這樣 Docker version 27.4.0, build bde2b89 試試執行 Docker sudo docker run --rm hello-world 應該要看到類似這樣 Hello from Docker! This mess...

解決 Docker 官方的 MySQL 8 執行 INSERT 超級慢的問題

原本 insert 20 筆資料會耗時 1秒,改完後,insert 500 筆不到 0.1 秒! 注意事項 雖然以下不會執行sql語法,但動到資料庫參數,要確認隨時可以回復到可用狀態。 如果已有 my.cnf 檔,就建立另一個檔 環境 官方的 MySQL 8.4 Docker image ( FROM mysql:8 ) 解法 加入一個自定義 my.cnf 檔在 /etc/mysql/conf.d/ ,內容: [mysqld] # 通常設定為系統 RAM 的 60-80%。這裡數值約16G innodb_buffer_pool_size = 17089934592 # 增大此緩衝區可以提高寫入性能,特別是在處理大量寫入時,會減少磁碟寫入的頻率。 # 這裡數值約256MB innodb_log_buffer_size = 268217728 # 是否在每個事務提交後同步二進制日誌(Binary Log)。 # 設置為 1 會增加每個事務的成本,設為 0 或 100 可以提高寫入性能。 sync_binlog = 0 # 事務提交時,何時將日誌寫入磁碟的選項。設為 0 可以減少事務提交的 I/O 負擔, # 但會犧牲持久性,可能遺失最近 1 秒內的事務記錄。 innodb_flush_log_at_trx_commit = 0 # 停用二進制日誌(Binary Log) skip-log-bin = 0   References ChatGPT 解决连接Docker mysql容器慢的问题 MySQL 8.0 执行 insert 插入数据非常缓慢的问题及解决方法   以下僅為測試數據 用以下參數,insert 500 筆的時間: 0 分 10.40642 秒 [mysqld] innodb_buffer_pool_size = 17089934592 innodb_log_buffer_size = 268217728 # sync_binlog = 0 innodb_flush_log_at_trx_commit = 0 skip-log-bin = 0 用以下參數,insert 500 筆的時間:...

免打 sudo 在 Ubuntu 終端機執行 docker 跟 docker-compose 指令

解決執行 docker 跟 docker-compose 要打 sudo 並且輸入密碼才可以執行的麻煩 注意事項 安全性會降低 此文的 Docker 是透過 snap 安裝 環境 作業系統:Ubuntu 24 確認 Docker 服務是否正在執行 snap services docker # inactive 的話,就啟動它 sudo snap start docker 或是 sudo systemctl status snap.docker.dockerd.service # inactive 的話,就啟動它 sudo systemctl start snap.docker.dockerd.service 檢查 docker 群組是否存在 cat /etc/group | grep docker # 有的話會看起來類似這樣 # docker:x:1001:{your_account} 輸出是空的話,建立該群組。對,就是建一個 docker 群組 sudo groupadd docker 檢查你是否在 docker 群組中 groups $USER # 看起來類似這樣 # {your_account} : group1 adm cdrom sudo dip plugdev users lpadmin docker 此指令也可以看 id $USER 如果沒有 docker 字樣出現的話,把你加入 sudo usermod -aG docker $USER 立即生效 newgrp docker 確認是否不需 sudo 可正常執行 docker ps

如何產生客戶端用的 ovpn 檔

注意事項 已有 OpenVPN server、ca.key 用戶端在使用此憑證時無需輸入密碼 固定 IP ,已經定好的檔名,後續不可修改   先在 server 生成憑證、密鑰和配置 $ ssh {your_server} $ sudo docker run \ -v /volume1/docker/tun/etc:/etc/openvpn \ --rm -it kylemanna/openvpn \ easyrsa build-client-full {your_file_name} nopass # 原 /etc/openvpn/ 的檔已存在 /volume1/docker/tun/etc 裡了,所以這裡要輸入ca.key的密碼 Enter pass phrase for /etc/openvpn/pki/private/ca.key:   成功應該要出現這些訊息: Enter pass phrase for /etc/openvpn/pki/private/ca.key: Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows commonName :ASN.1 12:'{your_file_name}' Certificate is to be certified until Mar 9 01:15:10 2026 GMT (825 days) Write out database with 1 new entries Data Base Updated _________________ 以上會生成三個檔, pki/issued/{your_file_name}.crt、pki/private/{your_file_name}.key、pki/reqs/{your_file_name}.req    設該 ovpn 設定檔的固定 IP $ sudo docker exec -it {your_container_name} /bin/bash $ cd /e...