一、Docker 是什麼?
1、Docker 是一個開源項目,是一個輕量級的「容器化」解決方案;
2、容器技術的出現主要是為了解決應用之間、開發、測試和生產環境的依賴問題,以及伺服器資源的利用率;
3、與虛擬機技術不同,Docker 是一種基於操作系統虛擬化的技術,可以將應用與其依賴項打包為一個可移植的容器,從而在不同的環境中運行;
二、Docker 架構
Docker 架構主要由三個組建組成:
1、Docker 客戶端,負責與用戶交互的命令行工具,也可以通過 API 與 Docker daemon 進行交互;
2、Docker 鏡像,是 Docker 容器運行時的文件系統,是一個應用程序及其依賴的打包,用於快速複製和分發;
3、Docker 容器,是 Docker 鏡像運行時的實例,在 Docker 容器中可以運行一個服務或一個應用程序,具有獨立於宿主的環境。
三、Docker 常用命令
1、獲取鏡像:docker pull
docker pull ubuntu:latest
2、查看當前鏡像列表:docker images
docker images
3、創建並啟動一個新容器,同時指定容器名稱和埠映射:docker run -p 8080:80 –name=mynginx -d nginx:latest
docker run -p 8080:80 --name=mynginx -d nginx:latest
4、查看當前正在運行的容器列表:docker ps
docker ps
5、停止一個容器:docker stop mynginx
docker stop mynginx
四、Docker Compose
1、它是一個命令行工具,用於定義和運行基於 Docker 的應用程序,可管理多個 Docker 組成的應用程序;
2、Docker Compose 使用 yaml 文件來配置應用程序的服務,並且可以打包多個 Docker 鏡像;
3、Docker Compose 的基本命令如下:
docker-compose up -d # 創建並啟動服務
docker-compose ps # 列出當前正在運行的服務和容器
docker-compose logs # 查看服務的日誌
docker-compose stop # 停止服務和容器
五、Dockerfile
1、Dockerfile 是一個文本文件,用於自動化地構建 Docker 鏡像;
2、通過 Dockerfile,可以定義鏡像的基礎組件、應用程序、環境變數等;
3、Dockerfile 常用指令:
FROM # 指定基礎鏡像
WORKDIR # 指定工作目錄
COPY # 拷貝文件
RUN # 運行命令
EXPOSE # 指定容器將要監聽的埠
CMD # 指定容器啟動時需要運行的命令
六、Docker 中的多容器應用
1、多容器應用允許在一個應用中運行多個容器,每個容器負責不同的任務;
2、多個容器將共享同一網路和存儲;
3、常用的多容器應用架構有:前端 + 後端、微服務架構等。
七、實踐案例:使用 Docker 運行 Laravel 應用
1、使用 Docker 運行 Laravel 應用可以大大簡化部署和維護的難度;
2、常用的 Docker 構建方法是使用 Nginx 作為 Web 伺服器,PHP-FPM 作為 PHP 解釋器並運行 Laravel 應用;
3、基於 Docker 運行 Laravel 應用的具體操作步驟可以參考以下命令:
docker-compose up -d # 創建並啟動服務
docker-compose ps # 列出當前正在運行的服務和容器
docker exec -it app bash # 進入 app 容器
composer install # 安裝 Laravel 依賴
php artisan key:generate # 生成 APP_KEY
php artisan migrate # 初始化資料庫
exit # 退出 app 容器
八、總結
Docker 是一個輕量級的「容器化」解決方案,通過使用 Docker,可以簡化應用程序的部署和維護。本文從定義、架構、常用命令、Docker Compose、Dockerfile、多容器應用和實踐案例等多個方面,深入淺出地介紹了 Docker 在 Linux 環境下的應用。相信本文能夠對您有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/259652.html