本篇文章給大家一分鐘學會Docker安裝phpmyadmin,有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

我們在云服務器上的MySQL數據庫在暴露端口和開啟遠程連接的情況下,是非常不安全的,昨天我的一臺服務器就遭到了勒索病毒的攻擊,讓我支付0.06比特幣贖回我的數據。還好那個庫中沒有重要數據,只是一個棄用了半年的數據庫,密碼我自己都忘記了,還好通過手段找回了密碼,登上去之后就傻眼了。那么如果我們不想開啟遠程登錄還想操作數據庫,怎么辦?怎么辦?用phpmyadmin就可以解決了,不過phpmyadmin也有一定的風險,下面看下怎么玩。
使用Docker發布phpmyadmin并且連接已經存在的MySQL容器
1、首先下載phpmyadmin的docker鏡像
# 先查詢鏡像倉庫里有哪些鏡像 docker search phpmyadmin # 拉取star最多的鏡像or拉取你想用的鏡像 docker pull docker.io/phpmyadmin/phpmyadmin 拉取鏡像需要一段時間,這個要看服務器的帶寬網速了
2、啟動鏡像,連接到已存在的MySQL容器
# 啟動鏡像 docker run --name myadmin -p 80:80 -d --link mysql-db:db docker.io/phpmyadmin/phpmyadmin # 修改容器配置文件 ## 將配置文件復制到宿主機中 docker cp myadmin:/etc/phpmyadmin/config.inc.php . ## 修改配置文件信息(這里修改的db就是在啟動的時候--link后面指定的別名) $cfg['Servers'][$i]['host'] = 'localhost' ——> $cfg['Servers'][$i]['host'] = 'db' ## 將修改后的配置文件復制回容器中 docker cp ./config.inc.php myadmin:/etc/phpmyadmin/ # 重啟phpmyadmin容器
此處就可以連接了,當然你也可以修改配置文件限制連接的用戶,然后在MySQL中給連接用戶授權
使用docker-compose創建
安裝docker-compose,這里就不贅述了,
編寫docker-compose.yml文件
version: "2" services: mysql: image: hub.c.163.com/library/mysql container_name: test-mysql restart: always ports: - "3306:3306" environment: MYSQL_USER: "root" MYSQL_PASSWORD: "root" MYSQL_ROOT_PASSWORD: "root" networks: - net-mysql phpmyadmin: image: docker.io/phpmyadmin/phpmyadmin container_name: test-myadmin ports: - "80:80" environment: MYSQL_USER: "root" MYSQL_PASSWORD: "root" MYSQL_ROOT_PASSWORD: "root" networks: - net-mysql networks: net-mysql:
發布容器
# 使用命令發布容器 docker-compose up -d
然后就可以使用了,不需要修改任何配置文件






