
容器内部可以通过一个特殊主机名 docker.for.mac.localhost 访问到宿主机。这也是为了方便开发而有的一个特性。
docker run --name pma -d -e PMA_HOST=docker.for.mac.localhost -p 8888:80 phpmyadmin/phpmyadmin 然后就可以通过宿主机的 localhost:8888 访问到这个 phpMyAdmin 来管理宿主机本地的 MySQL。
这样的操作步骤还是比在宿主机上安装一堆 NGINX / Apache + PHP-FPM 简单一些。
1 gzlock 2019-07-06 07:00:17 +08:00 via Android 这个操作我也做过 |
2 Cbdy 2019-07-06 07:04:50 +08:00 via Android 这个操作我也做过,然而还是安心用着 datagrip |
3 wwqgtxx 2019-07-06 07:19:55 +08:00 via iPhone 对于 linux 上的 docker 有啥办法直接访问宿主机么 |
4 Trim21 2019-07-06 07:53:07 +08:00 via iPhone @wwqgtxx 写个 entrypoint.sh #!/bin/bash ip_address=$(ip -4 route list match 0/0 | cut -d' ' -f3) echo "${ip_address} host.docker.internal" >> /etc/hosts 不需要挂载到 host 网络 |
5 Nasei 2019-07-06 08:06:01 +08:00 18.03 之后应该用 host.docker.internal 和 gateway.docker.internal,这样 win 和 mac 是通用的,Linux 上貌似最近也实现了这个,但我还没试过 |
7 wwqgtxx 2019-07-06 08:17:06 +08:00 @Nasei 看了一下,host.docker.internal 在 Linux 上应该还没实现 https://github.com/docker/libnetwork/pull/2348 @Trim21 @Wincer 的方法亲测有效 |
8 mcfog 2019-07-06 08:21:02 +08:00 via Android 比起臃肿的 pma 更喜欢 adminer 一点 |
9 cappuccinos 2019-07-06 08:37:06 +08:00 via iPhone @mcfog #8 怎么编译只有 sqlite 驱动模式下不需要密码访问的那种单文件呢?尝试过没成功。 |
10 Livid MOD OP PRO 其实 pma 我的主要用途是用来获得改表结构时的那个差异 SQL 文件。 还有什么其他方式可以实现这个目的么? |
12 Tink PRO 这是 mac 的 feature 吧 |
13 chinesestudio 2019-07-06 19:07:09 +08:00 via Android 感觉 v2 是全部容器化了 |