关于Docker镜像和容器的一些问题 [关闭] 。

问题描述 投票:1回答:2

问题1:我已经创建了一个MERN堆栈应用程序,并成功地将容器化并在Dockerhub上推送镜像。我的朋友想访问我的代码,所以他从DockerHub上进行了拉取,但他如何能够看到我的代码?

问题2:如果他不能看到代码,他如何在工作场所修改代码?

问题3:如果一个镜像只是用来存储设置配置,所以在他的机器上运行镜像文件并运行代码后,如果用户没有在同一个容器中运行项目,那么Docker如何把影响的版本?

docker docker-container dockerhub
2个回答
1
投票

你不完全是在和docker共享 "代码",你是在共享一个可以运行的镜像。 这就是共享源代码和编译后的可执行文件的区别。

如果你希望它是可更改的,你必须通过环境变量或参数使其可配置,这些变量在Dockerfile中列举,用 ENV 的声明,可以被图像消费者以 docker run --env <key>=<value>.


1
投票

看来你对编程很陌生。通常的方法是建立一个源代码库。有几个工具。Git是最流行的一个。有很多免费的地方可以托管你的代码,这样你和你的朋友就可以访问代码,比如Github,Gitlab,或者BitBucket。在Github中,你可以免费创建一个私人仓库。

然后你作为代码的一部分,你应该包含你的.dockerfile。在互联网上有很多地方可以找到如何创建和编辑.dockerfile的例子,然后你的朋友就可以用它来构建docker解决方案了。docker build -t [name of the app]. 一个好的开始是在 Docker文档


0
投票

你所要求的,是Git,或者你也可以找到其他的替代品,比如Bit Bucket......等等,如果你想在全球或公司内部与你的朋友分享你的代码,你可以使用Git(Private或Public Repo取决于你的需求),但对于docker部分,它的开发是为了更快地创建,部署和运行应用程序。


0
投票

我想我现在更了解你的情况了。所以请告诉我这个新的部分是否能回答你的问题。

问题1:你没有将你的MERN代码容器化。你的映像包含的命令(层)将构建你的代码(你的代码将从你的计算机上复制或从git repos克隆)。

问题2:

第一个问题也要回答这个。

问题3:你的版本,并不依赖于docker,而是依赖于git仓库,因为在你部署到dockerhub的镜像中从来没有。当你 "docker运行 "一个容器时,你的代码就会在那里,因为你的镜像(层)中的COPY , ADD或VOLUMES命令。

© www.soinside.com 2019 - 2024. All rights reserved.