docker 安装并运行phpMyAmdin
在 Docker 容器中运行 PHPMyAdmin的详细步骤_docker_脚本之家 (jb51.net)
docker run -d --name phpmyadmin -e PMA_ARBITRARY=1 -p 8089:80 phpmyadmin
环境变量的存在会PMA_ARBITRARY导致显示服务器连接表单。
使用127.0.0.1:3307连接,提示说connection refused
cybuster:
两个container需要通信的时候需要在主动连接那侧加上 --link 容器名:别名 的参数
cybuster:
docker run -d -e PMA_ARBITRARY=1 --link charming_liskov:mysql -p 8089:80 phpmyadmin/phpmyadmin
docker run -d -e PMA_ARBITRARY=1 --link agitated_pike:mysql -p 8089:80 phpmyadmin/phpmyadmin
然后phpMyamdin登录的时候,server可以写agitated_pike或者mysql,但是不能组合写
关于对docker run --link的理解 - 簡書 (jianshu.com)
--link的格式:
--link <name or id>:alias
其中,name和id是源容器的name和id,alias是源容器在link下的别名。
eg:
源容器
docker run -d --name selenium_hub selenium/hub
创建并启动名为selenium_hub的容器。
selenium_hub容器
接收容器
docker run -d --name node --link selenium_hub:hub selenium/node-chrome-debug
创建并启动名为node的容器,并把该容器和名为selenium_hub的容器链接起来。其中:
--link selenium_hub:hub
selenium_hub是上面启动的1cbbf6f07804容器的名字,这里作为源容器,hub是该容器在link下的别名(alias),通俗易懂的讲,站在node容器的角度,selenium_hub和hub都是1cbbf6f07804容器的名字,并且作为容器的hostname,node用这2个名字中的哪一个都可以访问到1cbbf6f07804容器并与之通信(docker通过DNS自动解析)。我们可以来看下:
————————————————
phpmyadmin - Official Image | Docker Hub
Usage with external server
You can specify a MySQL host in the PMA_HOST
environment variable. You can also use PMA_PORT
to specify the port of the server in case it's not the default one:
docker run --name phpmyadmin -d -e PMA_HOST=dbhost -p 8080:80 phpmyadmin
Usage with arbitrary server
You can use arbitrary servers by adding the environment variable PMA_ARBITRARY=1
to the startup command:
docker run --name phpmyadmin -d -e PMA_ARBITRARY=1 -p 8080:80 phpmyadmin