Alan's BLOG
  • archives
  • posts
  • tags
  • about
  • quote
  • search
Home » Tags

docker

使用Docker安裝GitLab

GitLab不僅是一個源代碼管理工具,它還提供了一個統一的平台,將開發、運營和安全等流程整合在一起。通過GitLab,可以在單一的應用程序中進行專案計劃、源代碼管理、分支控制、CI/CD等操作。不論角色為何,GitLab提供了一個統一的資訊來源,讓你輕鬆地管理和追蹤整個開發流程。它消除了工具鏈的複雜性,提高了端到端流程的可視性,從而幫助組織更快地實現變革。 本篇文章主要紀錄使用docker建立gitlab的教學 準備環境 環境 OS Ubuntu 20.04 LTS Gitlab Gitlab-ce:15.8.0-ce.0 Docker Engine 23.0.5 安裝gitlab 在安裝之前,先講解一下gitlab有哪些重要的資料需要掛載的,主要有以下三個路徑 /var/opt/gitlab: 這個路徑主要儲存GitLab的資料。包括Git repo、用戶資料、配置文件等。掛載到本地後,即使容器發生意外被刪除或重新創建,資料也能夠得到保留,達到數據持久化。 ./gitlab/logs:/var/log/gitlab: 這個路徑主要儲存GitLab的log。log包含GitLab的運行log、錯誤log等重要資訊。掛載到本地後,方便日後查看和管理log,並進行故障排除和監控。 /etc/gitlab: 這個路徑主要儲存GitLab的設定檔,包含系統設定、用戶權限、外部整合等設定。掛載到本地後,可根據需求進行自定義調整。 講解完以上重要的掛載路徑後,接下來講解使用docker建立gitlab docker版 docker run -d \ --name gitlab \ --restart always \ --privileged \ -p 8080:80 \ -p 443:443 \ -p 22:22 \ -v ./gitlab/data:/var/opt/gitlab \ -v ./gitlab/logs:/var/log/gitlab \ -v ./gitlab/config:/etc/gitlab \ gitlab/gitlab-ce:15.8.0-ce.0 docker-compose版 先建立docker-compose.yaml 將以下內容貼上 version: "3.6" services: gitlab: image: gitlab/gitlab-ce:15.8.0-ce.0 container_name: gitlab restart: always privileged: true hostname: 'localhost' ports: - '8080:80' - '443:443' - '22:22' volumes: - '....

2023-05-19 · 1 min · 98 words · Alan

閱讀筆記:15 Best Practices when working with Docker

標題:15 Best Practices when working with Docker 連結:15 Best Practices when working with Docker | by Ali Zeynalli | Dec, 2022 | Medium 本篇文章作者根據經驗以及自身研究整理出了15個使用Docker的技巧與提示 1. 進行中的工作不應保存在未命名、已停止的容器中 如果進行中的工作保存在不好的容器中,可能會導致資料丟失、風險以及安全問題、不利於協作 2. 定期清理Image 幫助釋放存儲空間,優化Docker引擎性能,減少安全風險,以及維持主機整潔,易於管理。 3. 使用授權的相依套件 可以帶來更好的合法性、安全性、可靠性、支持性和法律責任。 4. 將變化很大的部分放在 DockerFile 的末尾 因為Docker會將每個步驟緩存為一個單獨的容器,重複的操作將不會重新執行,將變化較大的部分放在最後可提高性能 5. 不要在容器啟動時就獲取相依套件 避免在容器啟動時獲取依賴包帶來的問題,並提高容器的啟動速度和可管理性。最佳實踐是在構建Image時就獲取依賴包,並將它們打包到Image中。另外,還可以使用多階段構建和緩存等技術來優化構建過程,提高構建速度和效率。 6. 不要掛載共享資料夾 有助於提高容器的可移植性、安全性、可重現性和可管理性。 7. 保持Image simple and small 可以提高應用程序的可移植性、降低安全風險、減少Image大小、提高Image構建和管理效率。 8. 從頭開始構建 最大限度地減少相依 9. Tag Image 使用合理的Tag,有助於對Image進行排序 10. 使用小型基礎Image 例如-slim或-alpine,可以帶來更明確的依賴項、更少的儲存、更少的安全漏洞和攻擊面以及更快的構建時間。 11. 使用官方Image 帶來可靠性、安全性、活躍的社群支持以及易用性等好處。 12. 創建臨時容器 Dockerfile定義的Image應該盡可能是臨時的,提供隔離環境、避免依賴衝突、快速清理、易於重複,提高工作效率與可靠性,方便快速測試,不必擔心對主機有影響。 13. 使用multi-stage構建 幫助減小Docker Image的大小,優化構建速度,簡化構建過程,以及提高Docker Image的安全性。...

2023-02-14 · 1 min · 77 words · Alan

Portainer:一款圖形化容器管理工具

📔心得 一直以來都在使用container下去跑測試環境,所以都是使用docker指令下去做除錯,最近因緣際會下找到這一款可以透過UI看全部的container狀態,真的覺得好用到爆炸,所以來介紹一下這款容器化管理神器。 基本上能用docker指令做到的事情,portainer都能做到,像是docker ps,查看所有container,接著點擊某個container,就會顯示基本的container訊息。裡面能針對這個container查看logs,inspect,stat等等,功能非常齊全。 我自己最常使用的就是docker logs,透過UI可以直接點擊Logs查看,方便很多。 依照類型也會分出stack,container,image,network,volume等等,都可各別下去做新增,查看與管理,有時候東西建了忘記刪,這邊會顯示unused,打勾後就能一鍵移除。 portainer從拉image到deploy container都能透過ui完成,對於更新版本也是很有一套,可以透過設定pull latest並點擊recreate進行container的更新,對於常常使用container測試者真的是一大福音。 👨‍💻簡介 portainer主要讓我們能有個UI介面管理我們的docker,對於初學docker指令不太熟的使用者能快速進入docker的世界,並且可從docker hub一鍵拉取image,設定network、volume等進行快速部署,都可藉由portainer完成。 ...

2022-07-10 · 1 min · 88 words · Alan

CentOS 安裝docker 和 docker-compose

簡介 因常會在新機器跑container,藉此紀錄安裝過程,順便寫下腳本安裝懶人包 ...

2022-07-03 · 1 min · 184 words · Alan
© 2024 艾倫的程式之旅 Powered by Hugo & PaperMod