如何在非常基本的级别上正确使用docker?

时间:2018-08-19 10:26:23

标签: docker

我正在使用Docker for Windows(带有Hyper-V的教育版),并且对Docker来说还很陌生。我的工作流程有点复杂,我认为有更好的方法。这是我的工作:

使用Docker容器进行开发时,我会先向项目添加Dockerfile

然后我将通过运行类似docker build -t containername .的命令来构建容器

当Docker完成构建后,我将使用类似docker run -p 8080:8080 containername的命令运行容器(有时我会在此时添加一个卷)

这将运行容器并使Powershell处于一种状态,在该状态下,我可以从容器中读取调试消息等。

然后我正在测试和开发应用程序。

完成开发和测试后,我需要使用CTRL + C退出正在运行的容器。

现在是棘手的部分:说,我忘记了一些东西,想测试一下我忘记测试的东西。我将再次运行docker build -t containername . ,泊坞窗现在会告诉我,该端口已被占用。所以我继续这样:

我使用以下命令搜索我的容器:docker ps

一旦找到名称(即silly_walrusbeard),我就输入docker stop silly_walrusbeard。现在,我可以再次运行docker build -t containername .,该端口现在是空闲的。

如何简化此工作流程?是否有CTRL + C的替代方法也可以停止容器?感谢您的建议!

1 个答案:

答案 0 :(得分:1)

列出所有带有docker ps -a的当前容器。用docker kill <ID>甚至docker rm <ID>杀死他们。

当您运行新容器时,使用--rm可以在容器停止时自动释放端口(以及其他功能):

docker run --rm -it containername 

(运行shell时我通常需要-it,但我不确定powershell。也许您不需要它)