连接 WordPress Docker 容器

3

我在Azure上创建了一个Docker容器应用程序,其中包括WordPress容器和MySQL容器。当我运行以下命令时:

docker run ps

我看到了这两个容器。

enter image description here

我可以使用这个命令连接到MySQL容器的文件系统:
docker run -i -t mysql:latest /bin/bash

如果我尝试使用相同的命令连接到WordPress容器文件系统,例如...

docker run -i -t wordpress:latest /bin/bash

...它不工作。相反,它给了我这个信息:

你是否忘记 --link 某个_mysql_container:mysql 或使用 -e WORDPRESS_DB_HOST=hostname:port 设置外部数据库?

我想这很有道理,因为它要我引用MySQL容器。但是,我尝试了各种版本的 --link 并且不能让它工作。

有人可以帮我处理Docker语法吗?我只是想对此容器中的文件系统进行一些更改。

提前感谢!

2个回答

6
当您执行 docker run ... 命令时,您不是在连接到 docker ps 命令显示的正在运行的容器。实际上,您正在从 Docker 镜像 mysql:latestwordpress:latest 创建和运行其他容器。
如果您想要在名为 compose990242913_wordpress_1 的运行中容器中打开一个 bash shell,则需要执行以下命令:
docker exec -i -t compose990242913_wordpress_1 /bin/bash

当你进入该shell时,务必通过键入exit命令适当地退出,否则你可能会让该容器中留下一些进程。


感谢您详细的回复。不幸的是,这对我没有用。我收到了错误消息“提供了标志但未定义:--entrypoint”。我检查了docker exec --help,没有看到--entrypoint作为有效选项。有任何想法吗? - Rick Rainey
您可能正在使用过时的Docker版本。docker version显示了什么? - Thomasleveil
客户端/API 版本为 1.7.0/1.19。服务器/API 版本也是如此。 - Rick Rainey
我的错,docker exec 没有 --entrypoint 选项。我编辑了我的答案,仍然有效。 - Thomasleveil

3

另一方面,如果你需要以交互模式运行 Wordpress 容器(就像你试图做的那样),你需要像这样指定 --link:

docker run --link compose990242913_mysql_1:mysql -i -t wordpress:latest /bin/bash


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接