其實網上關於docker上搭建mysql的文章已經不少了,只是今晚本身搭建的時候遇到一些問題,記錄一下mysql
1.首先是pull image , docker pull mysqllinux
2.啓動服務 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=ncs123456# -d mysqlredis
但是這樣確實啓動起來了,可是用客服端工具鏈接報2058錯誤,sql
3.進入到mysql換進中 docker exec -it mysql mysql -uroot -pncs123456#docker
4修改密碼 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';數據庫
記住必定要修改密碼(個人意思這裏的密碼必須和先前的密碼要不同), 不修改好像不行的,由於我執行過如下指令是沒有解決問題ide
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密規則
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用戶的密碼
FLUSH PRIVILEGES;
alter user 'root'@'localhost' identified by 'ncs123456#';工具
因此必須修改密碼測試
5,通常咱們都須要配置mysql的路徑, 換種說法就是讓mysql的配置和數據庫文件保存到物理機上,須要建立映射(須要先刪除先前的容器)docker run --name mysql -v D:/Docker/mysql/conf:/etc/mysql/conf.d -v d:/Docker/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql加密
物理文件結構以下:
注意:先不要在你的配置文件D:/Docker/mysql/conf中添加任何內容,測試容器可否正常運行。若是能夠,再往配置文件中添加配置,這樣能夠方便排除錯誤;由於舊版的mysql配置不必定適用於新版的mysql。下面的錯誤的源頭就是配置文件的問題(我也一直沒有想到是它的問題)
參考 https://www.jianshu.com/p/d297b0be4157
-----------------------------------------------------------------------------
mssql 很簡單了:
1.拉取鏡像 docker pull microsoft/mssql-server-linux
2.啓動服務 docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=ncs123456#' -p 1433:1433 --name mssql -v /d/docker/mssql/data:/var/opt/mssql/data -d microsoft/mssql-server-linux
----------------------------------------------------------------------------
Redis的搭建就比較簡單了,
1.拉取鏡像 docker pull redis
2.準備物理文件 D:\Docker\redis\redis.conf 而後啓動redis,docker run -v /d/docker/redis/redis.conf:/usr/local/ect/redis/redis.conf --name redis -p 6379:6379 -d redis
3.進入redis cli操做練習