gpt4 book ai didi

docker - 由节点Alpine和mysql构建的Docker-compose推送镜像

转载 作者:行者123 更新时间:2023-12-02 21:32:05 30 4
gpt4 key购买 nike

初步资料
我有一个docker-compose文件,其中描述了两项服务,一项是从dockerhub mysql镜像构建的,另一项是从dockerhub节点 Alpine 镜像构建的。 docker-compose.yml如下:

version: "3.8"
services:
client:
image: node:alpine
command: sh -c "cd server && yarn install && cd .. && yarn install && yarn start"
ports:
- "3000:3000"
working_dir: /portal
volumes:
- ./:/portal
environment:
MYSQL_HOST: mysql
MYSQL_USER: root
MYSQL_PASSWORD: password
MYSQL_DB: files
mysql:
image: mysql:5.7
volumes:
- yaml-mysql-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: files

volumes:
yaml-mysql-data:

目前的理解
我正在尝试使用kubernetes 部署我的应用程序,但是kubernetes .yml文件要求我提供dockerhub上容器镜像的路径。但是,我在dockerhub上没有它们。我不确定如何推送我的镜像,因为它们是由我拉出的mysql和节点镜像构建的。
我知道可以使用 docker-compose push,但是它用于本地生成的图像;而我正在从dockerhub中提取图像,并在旋转它们时在 docker-compose.yml中提供了特定说明。

如何推送这些镜像,包括应运行的命令;例如 command: sh -c "cd server && yarn install && cd .. && yarn install && yarn start"? (位于上面 docker-compose.yml的第5行)
谢谢

最佳答案

您放入docker-compose.yml中的逻辑实际上属于Dockerfile。因此,为您的nodejs应用程序创建一个Dockerfile(有很多示例)。
然后在docker-compose.yml中构建自己的镜像,然后将其推送到注册表。

version: "3.8"
services:
client:
image: your_registry/your_name:some_tag
build: .
ports: ...
environment: ....

关于docker - 由节点Alpine和mysql构建的Docker-compose推送镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64218536/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com