Docker是一種應用容器引擎,利用Docker可以輕松地創建、部署和運行應用程序。Docker的一個優點就是可以在同一主機上同時運行多個容器,每個容器都可以包含一個或多個應用程序。這樣的優點是在給定的主機資源(如CPU、內存和磁盤空間)上可以最大化地利用這些資源。Docker還提供了許多不同的組件,其中包括一個容器化的數據庫。這個數據庫可以使用Docker主機上的容器運行,稱為Docker主機數據庫。
...
db:
image: mysql:5.7
volumes:
- ./data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: example_db
MYSQL_USER: example_user
MYSQL_PASSWORD: example_password
...
在上面的代碼中,我們使用了MySQL 5.7鏡像作為Docker主機數據庫的容器。我們還指定了一個本地目錄作為數據卷,以便容器可以持久化存儲數據。我們還為MySQL設置了環境變量來設置根密碼、數據庫名稱和用戶憑證。
當我們運行Docker主機數據庫容器時,可以使用以下命令:
$ docker-compose up -d
在此之后,Docker將創建并啟動容器,我們可以在容器中運行MySQL客戶端,如下所示:
$ docker exec -it container_name mysql -u example_user -p
現在,我們可以在MySQL客戶端中進行操作,包括創建表和插入數據,所有這些操作都存儲在Docker主機數據庫容器中,并通過數據卷持久化存儲到本地主機。
總結一下,Docker主機數據庫是一個非常有用的工具,可以在本地主機上運行數據庫容器,使開發人員可以更輕松地管理和持久化其數據。通過使用Docker,我們可以在同一主機上運行多個容器,每個容器都可以包含一個應用程序和其依賴項。這些容器可以通過網絡互相通信,并訪問共享的數據卷。這使得Docker成為一種非常強大和有用的工具,可以幫助開發人員更輕松地構建、測試和部署應用程序。