使用Docker工具箱从图像中提取和更改代码
我成功地从公共存储库中检索到一个名为使用Docker工具箱从图像中提取和更改代码,docker,docker-machine,boot2docker,Docker,Docker Machine,Boot2docker,我成功地从公共存储库中检索到一个名为k8s.gcr.io/guestbook:v3的映像,并使用Docker Toolbox在本地Windows devbox上作为容器运行它。(我必须使用Docker Toolbox,因为所涉及的devbox不满足安装Docker for Windows的先决条件) 我需要键入哪些特定命令才能找到并打开用于创建图像的文件? 我想检查容器内的应用程序代码,然后在此处或此处进行一些更改,然后将修订后的图像作为容器运行,以查看修订后的代码的实际效果。但是如果我不能首先
k8s.gcr.io/guestbook:v3
的映像,并使用Docker Toolbox在本地Windows devbox上作为容器运行它。
(我必须使用Docker Toolbox,因为所涉及的devbox不满足安装Docker for Windows
的先决条件)
我需要键入哪些特定命令才能找到并打开用于创建图像的文件?
我想检查容器内的应用程序代码,然后在此处或此处进行一些更改,然后将修订后的图像作为容器运行,以查看修订后的代码的实际效果。但是如果我不能首先访问代码,我就不能很好地做到这一点
下载图像并运行容器
以下是我检索和验证容器/映像所采取的步骤:
User@pc MINGW64 /c/Program Files/Docker Toolbox
$ docker run -d -p 3000:3000 k8s.gcr.io/guestbook:v3
Unable to find image 'k8s.gcr.io/guestbook:v3' locally
v3: Pulling from guestbook
a3ed95caeb02: Pull complete
300273678d06: Pull complete
de2a362ef050: Pull complete
06d5067149bd: Pull complete
7a38a4e8f983: Pull complete
10af2c65b7d4: Pull complete
Digest: sha256:8f333d5b72677d216b4eb046d655aef7be9f1380e06ca1c63dfa9564034e7e26
Status: Downloaded newer image for k8s.gcr.io/guestbook:v3
953785bda17b0396fa3f3812a9b8ad8e2038120336895dfe1d57343adb917cce
User@pc MINGW64 /c/Program Files/Docker Toolbox
$ curl $(docker-machine ip default):3000
<!DOCTYPE html>
<html lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta charset="utf-8">
<meta content="width=device-width" name="viewport">
<link href="style.css" rel="stylesheet">
<title>Guestbook</title>
</head>
<body>
<div id="header">
<h1>Guestbook</h1>
</div>
<div id="guestbook-entries">
<p>Waiting for database connection...</p>
</div>
<div>
<form id="guestbook-form">
<input autocomplete="off" id="guestbook-entry-content" type="text">
<a href="#" id="guestbook-submit">Submit</a>
</form>
</div>
<div>
<p><h2 id="guestbook-host-address"></h2></p>
<p><a href="env">/env</a>
<a href="info">/info</a></p>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="script.js"></script>
</body>
</html>
User@pc MINGW64 /c/Program Files/Docker Toolbox
$
User@pcMINGW64/c/程序文件/Docker工具箱
$docker run-d-p 3000:3000 k8s.gcr.io/guestbook:v3
无法在本地找到映像“k8s.gcr.io/guestbook:v3”
v3:从留言簿中提取
a3ed95caeb02:拉动完成
300273678d06:拉动完成
de2a362ef050:拉动完成
06d5067149bd:拉动完成
7a38a4e8f983:拉动完成
10af2c65b7d4:拉动完成
摘要:sha256:8f333d5b72677d216b4eb046d655aef7be9f1380e06ca1c63dfa9564034e7e26
状态:下载了k8s.gcr.io/guestbook:v3的较新映像
953785bda17b0396fa3f3812a9b8ad8e2038120336895dfe1d57343adb917cce
User@pcMINGW64/c/程序文件/Docker工具箱
$curl$(docker机器ip默认值):3000
留言簿
留言簿
正在等待数据库连接
User@pcMINGW64/c/程序文件/Docker工具箱
$
可以使用“将Dockerfile指令应用于创建的映像”
这里解释了您可能想要做的事情:
尽管如此,编辑Dockerfile和构建容器可能是更好的方法;请参见建议的回答方法是在答案中列出解决方案的步骤,然后仅将链接作为支持材料。原因是链接发生了变化。如果您所做的只是像这里一样发布链接,那么当底层链接发生变化时,这个答案对未来用户来说将毫无价值。@CodeMed仍然有
docker--help
&docker-compose--help
…而我不支持复制粘贴教程中有问题的方法。这并不是说它“不可能”,它只是绕过了集装箱化的整个概念(除非想要对一个集装箱进行反向工程)。docker--help
没有给出提取Dockerfile
的命令。你的链接也同样模糊不清。在一个链接中提到的正在运行的容器中打开一个shell,作为一个想法,它只起到了些许帮助。请更具体一些,从而提高这个答案的质量<代码>docker历史记录——没有trunc是最接近的(这不是实际的Dockerfile
);其他人可以在GitHub上找到它们,如果公开的话