以下會以 MySQL 作例子
啟動CMD
輸入以下指令來搜尋鏡像
Bash
docker search mysql

找到需要的鏡像檔(image)後輸入以下指令
Bash
docker pull mysql
下載完成後可輸入以下指令來查看
Bash
docker images

下載完成後,啟動它製作成容器(Container)
Bash
docker run --name mysql-latest -v D:/Docker/mysql/mysql-latest/custom:/etc/mysql/conf.d -v D:/Docker/mysql/mysql-latest/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
## 如果不需要使用自定義的 config file 可以使用以下 command
## 最後的 lastest 是 tag
docker run --name xxxx -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
--name xxxxx 為容器名稱,可自定義
-v 為放置鏡像檔的路徑(本機),與鏡像的檔案路徑(容器內),它們以「:」作分隔
-p 將本機內的port映射到容器內的port (前面是本機,後面是容器) 意思是訪問本機的port 3306會映射到容器的3306
-e 容器環境參數設定
-d 讓容器在背景執行


使用root權限登入
Bash
mysql -u root -p
## 本篇建立時密碼為 123456

建立新帳號且對外開放連線
SQL
## 帳號為test 密碼為test123
CREATE USER 'test'@'%' IDENTIFIED BY 'test123';
## 賦予權限
GRANT ALL ON *.* TO 'test'@'%' WITH GRANT OPTION;
ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'test123';

測試連線

這樣就完成了~
安裝phpmyadmin 連接mysql
Bash
## 下載鏡像
docker pull phpmyadmin
## 查看鏡像 (可省略)
docker images
## 以下有兩種方法
## 第1種
## docker run -d -p <local_port>:<container_port> -e PMA_HOST=<mysql_ip> -e PMA_POST=<mysql_port> --name <container_name> <image_id>
docker run -d -p 6062:80 -e PMA_HOST=172.17.0.4 -e PMA_PORT=3306 --name my_custom_phpmyadmin 511d0d6a7b22
## 第2種
## 這種方式不需要每次都固定某個容器的IP
## docker run -d -p <local_port>:<container_port> --link <mysql_container_name>:db --name container_nameimage_id
## mysql-latest 是因為上面例子改名這個名稱
docker run -d -p 6063:80 --link mysql-latest:db --name my_custom_phpmyadmin2 511d0d6a7b22

docker images
查看 IMAGE ID