Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 使用卷拷贝将映像推送到另一个注册表_Docker_Docker Compose_Docker Registry - Fatal编程技术网

Docker 使用卷拷贝将映像推送到另一个注册表

Docker 使用卷拷贝将映像推送到另一个注册表,docker,docker-compose,docker-registry,Docker,Docker Compose,Docker Registry,我使用以下命令在docker容器中本地运行图像 docker pull locustio/locust 我的docker compose如下所示,为此我使用了docker compose up version: '3' services: locust-service: image: locustio/locust ports: - "8089:8089" volumes: - ./:/mnt/locust com

我使用以下命令在docker容器中本地运行图像

docker pull locustio/locust
我的docker compose如下所示,为此我使用了docker compose up

version: '3'

services:
  locust-service:
    image: locustio/locust
    ports:
     - "8089:8089"
    volumes:
      - ./:/mnt/locust
    command: -f /mnt/locust/locustfile.py -H http://master:8089
我有我的卷,它是locastfile.py,它有测试我的系统的所有代码。现在,我需要将此映像与卷一起推送到另一个私有存储库中,即文件locastfile.py


如何使用docker compose push实现这一点?或者有没有其他方法可以复制该卷?上述合成文件的docker compose push似乎不起作用

只能推送docker图像

如官方文档中所述,在运行映像创建容器及其卷时会生成卷

我在此报告官方文件中的示例:

docker run -d \
  --name=nginxtest \
  -v nginx-vol:/usr/share/nginx/html \
  nginx:latest

卷通常用于保存数据,而不是应用程序代码。您应该将代码构建到派生的Docker映像中,然后可以推送该映像

您可以将此处显示的内容写入基本Dockerfile:

来自蝗虫/蝗虫的

复制hocustfile.py/mnt/hocust
#如果要向入口点传递附加选项,CMD必须是JSON数组
CMD[“-f”、“/mnt/hocust/hocustfile.py”、“-H”、”http://master:8089"]
然后,您的
docker compose.yml
文件只需指定构建和运行它,而不需要复制以下任何选项:

版本:“3.8”
服务:
蝗虫服务:
生成:。
图:我的码头中心名称/蝗虫
端口:
- "8089:8089"
然后,
docker compose build&&docker compose push将构建并推送图像。在目标主机上,您需要复制此
docker compose.yml
文件,但删除
build:

浏览一下蝗虫文档,这与建议的类似。您还可能会发现设置选项比命令行参数更为灵活,这样可以在Dockerfile和
docker compose.yml
运行时配置之间分割选项