docker 命令與 Docker 引擎通訊之間通過 UnixSocket ,但是能夠有權限訪問 UnixSocket 的用戶只有 root 和 docker 用戶組的用戶才能夠進行訪問,所以我們需要建立壹個 docker 用戶組,並且將需要訪問 docker 的用戶添加到這壹個用戶組當中來。
這裏使用的是 阿裏雲提供的鏡像加速 ,登錄並且設置密碼之後在左側的 Docker Hub 鏡像站點 可以找到專屬加速器地址,復制下來。
然後分開執行以下命令:
之後重新加載配置,並且重啟 Docker 服務
這裏推薦使用 Portainer 作為容器的 GUI 管理方案。官方地址: https://portainer.io/install.html
安裝命令:
訪問妳的 IP:9000 即可進入容器管理頁面。
名字為鏡像庫中的鏡像名,若出現權限問題報錯,前面加上sudo即可。
參數說明:
-p 3306:3306 :將容器的3306端口映射到主機的3306端口
-v /mydata/mysql/log:/var/log/mysql :將配置文件夾掛載到主機
-v /mydata/mysql/data:/var/lib/mysql :將日誌文件夾掛載到主機
-v /mydata/mysql/conf:/etc/mysql :將配置文件夾掛載到主機
-e MYSQL_ROOT_PASSWORD=root :初始化root用戶的密碼
驗證,查看docker下的所有進程:docker ps
docker安裝的mysql,相當於linux系統中單開了壹個linux專門用來安裝mysql。
-p 3306:3306 :將容器的3306端口映射到主機(vagrant開啟的虛擬機)的3306端口。
日誌也是將經常變動數據掛載到外部linux文件夾下。
上面已經說到,將mysql容器中的配置文件掛載到本機中,所以直接修改本機目錄下的配置文件即可。
防止掛載時 redis.conf找不到而在conf文件夾下再次創建名為redis.conf的文件夾,所以預先創建。
mysql之前是進入容器,現在我們直接進入客戶端進行操作redis
賊好用啊,還有提示。
docker restart redis 重啟redis容器後,發現之前的數據都丟失了,因為保存在內存中。所以我們需要配置持久化。
因為之前已經將容器配置文件掛載到本機目錄下,所以直接修改本機redis.conf即可。
重啟驗證,OK。