在使用docker搭建mysql的過程中,我們通常需要將數據庫中的數據進行保存,以便我們下次啟動時可以繼續使用之前的數據。
一種常見的做法是將mysql數據保存在宿主機的目錄中,即將mysql容器中的數據卷掛載到宿主機上,以此來保證數據的持久化。
docker run -d \ --name mysql \ -v /host/mysql_data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ mysql:latest
這里我們將宿主機上的`/host/mysql_data`目錄掛載到容器中的`/var/lib/mysql`目錄下,這樣我們就可以在容器重啟時使用之前的數據了。
同時,在使用docker-compose進行多容器管理時,我們也可以將mysql容器中的數據卷掛載到宿主機上。
version: '3' services: mysql: image: mysql:latest volumes: - /host/mysql_data:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=123456
這里我們可以看到,我們在docker-compose.yml文件中指定了mysql容器的數據卷掛載路徑,并將其映射到宿主機的`/host/mysql_data`目錄。
總之,無論是在單容器環境中,還是在多容器環境中,我們都可以通過將mysql數據卷映射到宿主機上,以此來保證mysql數據的持久化。