1.獲取mysql鏡像
docker pull mysql:5.7 :5.7表示指定獲取的mysql版本,不加則默認為最新的版本
2.運行鏡像創建容器
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name cmysql -v /app/docker/mysql/my.cnf:/etc/mysql/my.cnf -v /app/docker/mysql/db:/var/lib/mysql mysql:5.7
各個參數說明
run:運行一個容器
-d:看做做守護線程(Daemon)
-p:進行端口映射,用於暴露給外界讓其訪問
-e:初始化root用戶的密碼
--restar=always:自動重啟,比如服務器突然斷電,重啟服務器之后不需要你重新手動啟動
--name:自定義容器名稱
-v:掛載。容器里面的數據是不能直接訪問的,但可以將可見目錄掛載上去,這樣就可以訪問
啟動成功之后會出現一個隨機字符串,表示容器的id
3.連接容器內的mysql
step1.進入到容器內命令行: docker exec -it cName /bin/bash
cName是運行鏡像時自定義的容器名稱
step2:正常命令連接即可
遠程連接需注意防火牆端口是否開放
ps:
docker ps 查看正在運行容器進程
docker ps -a 查看所有容器
docker stop 容器id 停止運行指定id的容器
docker rmi 鏡像id 刪除指定id的鏡像
docker rm 容器名/id 刪除容器
如何刪除容器不刪除數據,在創建容器的時候docker run -v host_dir:containere_dir 這樣可以解決!
從主機復制到容器 sudo docker cp host_path containerID:container_path
從容器復制到主機 sudo docker cp containerID:container_path host_path