昨天我們大致看了下Docker的基礎操作,今天就順勢用Docker安裝一下mysql吧,還是相當簡單的(當然是相對於不借助docker安裝來說的,手動滑稽 - -)
生成鏡像
第一種:我們用人家編譯好的鏡像安裝吧
-
首先在Docker裏面搜索一下mysql
可以看到搜索出來了N多的mysql鏡像,你可以選擇你想要的鏡像進行安裝,不過我就給你用官方的最新版安裝吧 -
下載mysql
注:如果需要特定版本,你可以在下載的時候加tagdocker pull mysql
eg:docker pull mysql:5.7
具體有哪些版本,可以上[Dockerhub > mysql](https://hub.docker.com/_/mysql?tab=tags)查看 ![](https://raw.githubusercontent.com/eicky/BlogResource/master/img/dockerhub_mysql.png) -
查看我們下載的mysql鏡像
docker images | grep mysql
第二種:通過Dockerfile構建
-
創建目錄mysql,用來存放mysql的相關東西
mkdir -p ~/mysql
-
然後進入mysql目錄,創建Dockerfile文件
cd ~/mysql vim Dockerfile 然後複製Dockerfile的內容進去,保存
Dockerfile的內容可以在https://github.com/docker-library/mysql找到
-
基於Dockerfile創建鏡像
docker build -t mysql .
-
查看創建的鏡像
docker images | grep mysql
啓動mysql
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=test1234 -d image-name/image-id
命令說明
–name mysql 設置容器別名
-p 3306:3306 將容器的3306端口映射到主機的3306端口,不然無法訪問
-e MYSQL_ROOT_PASSWORD=test1234 初始化root用戶的密碼
-d 後臺運行容器
image-name/image-id mysql鏡像名稱或者鏡像id
進入容器
docker exec -it mysql bash
登錄mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY test1234';
添加遠程登錄用戶(使可以遠程連接,不需要可以省略)
CREATE USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'test1234';
GRANT ALL PRIVILEGES ON . TO 'test'@'%';
大概就是這麼多啦,emmm.