本篇文章給大家一分鐘學(xué)會(huì)Docker安裝phpmyadmin,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)大家有所幫助。
我們在云服務(wù)器上的MySQL數(shù)據(jù)庫在暴露端口和開啟遠(yuǎn)程連接的情況下,是非常不安全的,昨天我的一臺(tái)服務(wù)器就遭到了勒索病毒的攻擊,讓我支付0.06比特幣贖回我的數(shù)據(jù)。還好那個(gè)庫中沒有重要數(shù)據(jù),只是一個(gè)棄用了半年的數(shù)據(jù)庫,密碼我自己都忘記了,還好通過手段找回了密碼,登上去之后就傻眼了。那么如果我們不想開啟遠(yuǎn)程登錄還想操作數(shù)據(jù)庫,怎么辦?怎么辦?用phpmyadmin就可以解決了,不過phpmyadmin也有一定的風(fēng)險(xiǎn),下面看下怎么玩。
使用Docker發(fā)布phpmyadmin并且連接已經(jīng)存在的MySQL容器
1、首先下載phpmyadmin的docker鏡像
# 先查詢鏡像倉庫里有哪些鏡像 docker search phpmyadmin # 拉取star最多的鏡像or拉取你想用的鏡像 docker pull docker.io/phpmyadmin/phpmyadmin 拉取鏡像需要一段時(shí)間,這個(gè)要看服務(wù)器的帶寬網(wǎng)速了
2、啟動(dòng)鏡像,連接到已存在的MySQL容器
# 啟動(dòng)鏡像 docker run --name myadmin -p 80:80 -d --link mysql-db:db docker.io/phpmyadmin/phpmyadmin # 修改容器配置文件 ## 將配置文件復(fù)制到宿主機(jī)中 docker cp myadmin:/etc/phpmyadmin/config.inc.php . ## 修改配置文件信息(這里修改的db就是在啟動(dòng)的時(shí)候--link后面指定的別名) $cfg['Servers'][$i]['host'] = 'localhost' ——> $cfg['Servers'][$i]['host'] = 'db' ## 將修改后的配置文件復(fù)制回容器中 docker cp ./config.inc.php myadmin:/etc/phpmyadmin/ # 重啟phpmyadmin容器
此處就可以連接了,當(dāng)然你也可以修改配置文件限制連接的用戶,然后在MySQL中給連接用戶授權(quán)
使用docker-compose創(chuàng)建
安裝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:
發(fā)布容器
# 使用命令發(fā)布容器 docker-compose up -d
然后就可以使用了,不需要修改任何配置文件