您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
docker-compose.yml安裝的mysql如何配置遠程連接
发布时间:2022-02-23 22:55:43编辑:雪饮阅读()
首先docker-compose.yml中要暴露docker中的端口給你的docker直屬宿主機
version: "3.7"
services:
web:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./html:/etc/nginx/html:rw
php:
image: php74fpm
ports:
- "9001:9000"
volumes:
- ./html:/etc/nginx/html:rw
db57:
image: mysql:5.7
ports:
- "9002:3306"
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: xy220807
像這裏將直屬宿主機的9002端口映射到docker容器db57的3306端口.
然後,這裏我們假如docker-compose up啓動成功后,我們通過docker ps查看到咱們的db57的容器id為90497a335ec4,則我們直接連接db57容器的sh然後連接mysql
docker exec -it 90497a335ec4 sh
# mysql -u root –p
連接上之後就可以開啓遠程連接了
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xy220807' WITH GRANT OPTION;
这里表示赋予该用户所有数据库所有表(*.*表示所有表),%表示所有IP地址。
然後下面這句就是刷新權限了。
FLUSH PRIVILEGES;
當前這個db57裏面用的mysql5.7的鏡像它是默認做了持久化呢。(可能吧,但是一般都是要挂載卷的,這裏可能他這個鏡像有默認挂載卷吧)。經過我的測試我在windows上面navicat連接后創建了新數據,然後關閉docker-compose up重新docker-compose up后還能讀取到數據。
restart: always,這裏always是重啓策略,no是默认的重启策略,在任何情况下都不重启容器。指定时always,容器总是重新启动。
詳情參考:
https://docs.docker.com/compose/compose-file/compose-file-v3/#restart
关键字词:docker-compose.yml,mysql,遠程連接,docker
相关文章
- docker-compose.yml使用本地鏡像(mysql成功連接)
- Dockerfile的使用(基於php官方docker鏡像安裝擴展)
- docker-composer創建項目的默認網絡
- docker-composer脚本編寫系列之nginx與php的結合
- 使用docker-compose一鍵搭建基於node環境的項目
- 解決centos7二進制方式安裝docker啓動dockerd報錯中包
- centos7二进制安装docker及docker hello world项目运
- mysql從point字段中拿出經緯度lat、lng
- workerman-mysql組件-其它數據庫類=medoo的數據庫類的
- workerman-mysql组件-其它数据库类使用-thinkphp(thin