如何使用现有图像复制容器

时间:2017-03-28 04:15:49

标签: docker docker-container

我已经按照这个答案(Duplicating docker container for debugging),但即使执行第一行代码:

docker run -it <base_image> /bin/bash

我收到了这样的错误:docker:来自守护程序的错误响应:未找到。 请参阅#docker run --help&#39;。

我猜上面的代码是基于现有图像创建新容器。然后是两行代码:

yum install ping 
docker commit <hash tag of running container> new_image

他们将ping工具安装到该新容器,然后将其导出为新图像。

如果我之前的理解不正确,请纠正我。

但对我来说,在克隆了magento / maraidb容器后,我仍然希望它们使用相同的图像文件。 (只需更改{{.Config.Env}}

中的一些配置

--------更新: - 现在我不介意保存对新图像的更改并在新容器上创建容器---------- ------

我按照你的建议做了确保docker守护进程正在运行。我也先做过拉:

docker pull bitnami/mariadb:latest
docker pull bitnami/magento:latest

由于我仍然需要将容器中的所有这些更改导出到新图像,我这样做了:

docker commit {container A}bitnami/mariadb:newname
docker commit {container B} bitnami/magento:newname

然后,如果我使用新图像进行“Docker运行......”,我就会收到此错误:

 INFO  ==> Starting mysqld_safe...
mariadb_1 | Could not open required defaults file: /opt/bitnami/mariadb/conf/my.cnf
mariadb_1 | Fatal error in defaults handling. Program aborted
mariadb_1 | WARNING: Defaults file '/opt/bitnami/mariadb/conf/my.cnf' not found!
mariadb_1 | Could not open required defaults file: /opt/bitnami/mariadb/conf/my.cnf
mariadb_1 | Fatal error in defaults handling. Program aborted
mariadb_1 | WARNING: Defaults file '/opt/bitnami/mariadb/conf/my.cnf' not found!
mariadb_1 | 170330 00:04:40 mysqld_safe Logging to '/opt/bitnami/mariadb/data/4bdcd2db9267.err'.
mariadb_1 | 170330 00:04:40 mysqld_safe Starting mysqld daemon with databases from /opt/bitnami/mariadb/data
mariadb_1 | /opt/bitnami/mariadb/bin/mysqld_safe_helper: Can't create/write to file '/opt/bitnami/mariadb/data/4bdcd2db9267.err' (Errcode: 2 "No such file or directory")

-------- UPDATE2: - 也许以前我可能没有说清楚。以下是我的步骤:----------------

1,使用docker-compose和docker-compose.yml创建1 Magento&amp; MariaDB容器。图片为: magento:最新 mariadb:最新

2,然后我登录Magento并进行了一些系统更改。我接下来想要的是创建/导出/提交当前容器到新图像,例如称他们为 magento:sam mariadb:sam 。我使用的命令是:docker commit {container id} magento:sam

3,在上一步之前,我还使用过:docker pull magento:latest (我跟随其他人的建议,因为他们说有些数据可能不会存储在容器中而需要先拉出来-----如果错了,请指出。)

4,创建新图像后,我使用:docker -ti -p 81:81 magento:sam 尝试根据新图像创建新容器。但是获取消息和错误消息:

Welcome to the magento image ***
Brought to you by Bitnami ***
More information: https://github.com/bitnami/bitnami-docker-magento ***
Issues: https://github.com/bitnami/bitnami-docker-magento/issues ***

New version available: run docker pull bitnami/magento:2.1.5-r2 to update. ***

**nami ERROR Unable to start com.bitnami.apache: httpd: Could not open configuration file /opt/bitnami/apache/conf/httpd.conf: No such file or directory**

请帮助哪一步错误或遗漏任何步骤。再次感谢!

1 个答案:

答案 0 :(得分:0)

如此处所示,这意味着docker正在寻找您的基本影像,但却找不到它。

&#xA;&#xA;

检查docker守护程序的启动方式,并确保要克隆的基本映像首先是 docker pull (在本地注册表中) )。&#xA;当然,请用正确的图像名称替换&lt; base_image&gt;

&#xA;