如何在PhpStorm中的Docker中打开一个项目?

我有一个在Docker容器中的PHP项目。 我跑了它,它的工作原理。

问题:如何在PhpStorm中打开这个项目,以便我可以编辑文件?

我读到,我可以通过SSH连接到容器。 那么我在哪里可以获得login名,密码和IP地址到Docker容器?

那么,这不是不可能的,但我认为工作stream程是颠倒的。 你build立一个容器来运行它,而不是分发其他项目来编辑。 是的,你可以在你的容器中运行一个SSH服务,这样你就可以连接到它,但如果这不是容器的主要目的,那么我build议反对它。 考虑一个容器的资源被封装,并有一个原因。

有一个容器只是为了分发一个“非运行”的php-storm项目听起来很奇怪。 更有可能的是,你真的想把自己的项目放到运行Web服务器或者PHP等的容器中。如果你告诉我们更多,你可能会得到更好的答案。

无论如何,你可以使用docker cp从容器中复制文件

 docker cp CONTAINER:SRC_PATH DEST_PATH 

你可以使用docker exec运行命令,甚至启动一个shell来进行更改(这几乎是你所要求的“docker ssh” – 但它不适合你的IDE连接和修改):

 docker exec -it <mycontainer> bash 

回答你的问题的一部分:

那么我在哪里可以获得login,密码和IP地址docker集装箱?

 > docker ps # Shows running containers CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0bd4e5f2d116 samples "nginx -g 'daemon ..." 8 hours ago Up 8 hours 192.168.1.10:8083->80/tcp samples e021f9bc74c4 nginx:alpine "nginx -g 'daemon ..." 10 days ago Up 8 hours 80/tcp, 0.0.0.0:8080->8080/tcp web 

那么当你知道容器ID时:

 > docker inspect e02 * Shows lots of info about the container, including network and IP. (However login and pass not so much) * 

也许你在考虑docker-machine ,它允许你configuration连接到远程(和本地)运行docker镜像的机器。 docker-machine有一个docker-machine ssh命令,可以让你直接连接docker-machine ssh机器上。 已经连接,你仍然需要使用docker exec ...来访问你的运行容器,所以它可能不会帮你很多。 (您使用docker-machine将容器推送到远程计算机,并远程启动/停止容器)。

将SSH端口22转发到一个新的端口(可能是2233),然后使用phpstorm内置的ssh(TOOLS – > SSH)

https://blog.jetbrains.com/phpstorm/2013/08/using-the-phpstorm-b​​uilt-in-ssh-terminal-and-remote-ssh-external-tools/