V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Angela2022
V2EX  ›  Docker

*** 如何用 docker-compose 部署项目到 window 服务器 ***

  •  
  •   Angela2022 · 2024-03-13 09:59:38 +08:00 · 2281 次点击
    这是一个创建于 366 天前的主题,其中的信息可能已经有所发展或是发生改变。
    各位运维大神

    我有个电商后端 API, 请问如何用下面的 docker-compose.yml 代码部署 API 到 window 服务器, 谢谢:

    version: "3"
    services:
    server:
    build:
    context: .
    dockerfile: Dockerfile
    ports:
    - 3000:3000
    command: ["yarn", "start:server"]
    volumes:
    - /usr/src/app
    environment:
    DB_HOST: database
    DB_PORT: 5432
    DB_NAME: test
    DB_USERNAME: test
    DB_PASSWORD: test
    worker:
    build:
    context: .
    dockerfile: Dockerfile
    command: ["yarn", "start:worker"]
    volumes:
    - /usr/src/app
    environment:
    DB_HOST: database
    DB_PORT: 5432
    DB_NAME: test
    DB_USERNAME: test
    DB_PASSWORD: test
    database:
    image: postgres
    volumes:
    - /var/lib/postgresql/data
    ports:
    - 5432:5432
    environment:
    POSTGRES_PASSWORD: test
    POSTGRES_DB: test
    21 条回复    2024-03-13 16:07:36 +08:00
    zcybupt2016
        1
    zcybupt2016  
       2024-03-13 10:01:58 +08:00
    ( Windows Server 上装个 Linux 虚拟机
    gefangshuai
        2
    gefangshuai  
       2024-03-13 10:02:10 +08:00
    Windows 服务器就放弃 Docker 吧。
    zcybupt2016
        3
    zcybupt2016  
       2024-03-13 10:06:30 +08:00
    不过 Windows 版的 docker 本身就是基于 Hyper-V 的,跟直接在虚拟机里装 Linux 跑 docker 也没差了
    wu00
        4
    wu00  
       2024-03-13 10:08:48 +08:00
    docker compose --help
    lsk569937453
        5
    lsk569937453  
       2024-03-13 10:16:39 +08:00
    windows 服务器上装 docker 呗。
    LongMaoz
        6
    LongMaoz  
       2024-03-13 10:17:56 +08:00
    windows 服务器怎么装? windows 的 docker 都是基于 wsl 的, 你可以在服务器里整个 hyperv-v 装个 Liunx 跑 docker 装
    JensenQian
        7
    JensenQian  
       2024-03-13 10:18:36 +08:00   ❤️ 1
    用 dd 脚本把 windows d 成 debian
    然后跑
    完事
    bianhui
        8
    bianhui  
       2024-03-13 10:27:46 +08:00
    docke-compose up -d
    windows 安装基于 wsl2 的 docker 可以去谷歌搜索关键字教程。或作你直接下载 docker desktop 按提示操作
    Lamkin
        9
    Lamkin  
       2024-03-13 11:38:35 +08:00
    开 hyper-v 装个 linux 会省事很多
    QlanQ
        10
    QlanQ  
       2024-03-13 11:40:50 +08:00
    首先重装系统,装成 Linux 然后 安装 docker 最后运行 docker compose
    binbinbbb
        11
    binbinbbb  
       2024-03-13 11:47:19 +08:00
    docker desktop
    lisxour
        12
    lisxour  
       2024-03-13 11:47:20 +08:00
    @zcybupt2016 #3 windows 下的 docker 是依赖 wsl 的,而 wsl 的安装是有一定系统要求的
    oneFan
        13
    oneFan  
       2024-03-13 11:55:49 +08:00
    系统 windows server 2019 以上版本,安装 wsl2 ,安装 docker desktop
    liuhai233
        14
    liuhai233  
       2024-03-13 13:07:47 +08:00
    ssh 上去直接执行命令白
    JingW
        15
    JingW  
       2024-03-13 13:38:53 +08:00
    对不起,这个问题不归运维大神管。
    还是把这个需求拿回去,让领导看看他在说什么吧
    cheng6563
        16
    cheng6563  
       2024-03-13 13:49:47 +08:00
    windows 确实有容器环境呀,能不能用就看你 Dockerfile 是不是 Windows 版本的咯
    Mikewangyankkk
        17
    Mikewangyankkk  
       2024-03-13 14:27:32 +08:00
    winserver 确实有原生的容器的,可以参考微软官方教程,同时改写你的 yml
    https://learn.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/run-your-first-container
    ChoateYao
        18
    ChoateYao  
       2024-03-13 14:28:24 +08:00
    不建议在 Windows 使用 Docker ,要么 WSL2 直接在虚拟机里面装 Docker ,要么直接虚拟机。

    使用 Docker Desktop 的话,会有玄学问题
    mmdsun
        19
    mmdsun  
       2024-03-13 15:09:12 +08:00
    windows server 支持 Docker Desktop ,就要要高版本才行 2019.

    Docker Desktop 安装好命令和 linux 启动是一样的。
    sephiroka
        20
    sephiroka  
       2024-03-13 15:11:06 +08:00
    可以部署啊,就是 windows 的 volume 挂载路径写法和 windows 不一样,直接改下原来的 compose 文件就行了
    cslive
        21
    cslive  
       2024-03-13 16:07:36 +08:00
    windows server 有原生 windows 容器,将你应用的部署换到 windows 容器里
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5562 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 03:11 · PVG 11:11 · LAX 20:11 · JFK 23:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.