docker export 导出时带command
时间: 2023-07-03 13:25:58 浏览: 63
可以使用以下命令将一个正在运行的 Docker 容器导出到一个 tar 文件中,并且在导出时带上 command:
```
docker export --output=file.tar container_id_or_name --exec-command="/bin/bash"
```
其中,`--output` 参数指定要输出的文件名,`container_id_or_name` 指定要导出的容器的 ID 或名称,`--exec-command` 参数指定要在容器中执行的命令。在上面的示例中,我将在容器中执行 `/bin/bash` 命令。
需要注意的是,`docker export` 命令只导出容器的内容,而不包括容器的元数据(例如容器名称、容器 ID 等)。如果您需要导出完整的容器,包括元数据,可以使用 `docker save` 命令。
相关问题
docker export导出的镜像运行不了
如果您使用 `docker export` 命令导出的镜像无法运行,请确保您已经正确使用了 `docker import` 命令将其导入为一个镜像。使用 `docker export` 命令导出的镜像只包含容器的文件系统内容,而不包括镜像的元数据(例如标签、环境变量等)。因此,您需要使用 `docker import` 命令将其导入为一个新的镜像,然后使用 `docker run` 命令启动容器。例如,使用以下命令导入并启动一个新的镜像:
```
docker import myimage.tar myimage
docker run -it myimage /bin/bash
```
其中,`myimage.tar` 是使用 `docker export` 命令导出的镜像文件,`myimage` 是将要创建的新镜像名称。最后一行命令将启动一个新容器,并进入 bash 终端。
docker export导出的容器镜像运行失败
使用 `docker export` 命令导出的容器镜像,通常只包含容器内部的文件系统,并不包含容器的元数据信息和运行状态。因此,如果直接使用 `docker run` 命令运行导出的容器镜像,通常会失败。
如果需要将容器导出为镜像并运行,建议使用 `docker commit` 命令来创建新的镜像。步骤如下:
1. 使用 `docker create` 命令创建一个新容器并运行,例如:
```
docker create --name my_container my_image
docker start my_container
```
2. 进入容器并修改其中的配置或者文件;
3. 使用 `docker commit` 命令创建新的镜像,例如:
```
docker commit my_container my_new_image
```
4. 使用新的镜像运行容器,例如:
```
docker run --name my_new_container my_new_image
```
这样创建的新镜像包含了容器的元数据信息和运行状态,可以直接使用 `docker run` 命令运行。