zxCoder
V2EX  ›  问与答

我把 docker 当作一个开发测试环境,但是每次修改代码后重新 build 了一个镜像总是需要手动删除

  •  
  •   zxCoder · Apr 16, 2021 · 2906 views
    This topic created in 1855 days ago, the information mentioned may be changed or developed.

    昨天忘记这事了,结果突然通知我磁盘快满了。。。。我一看好家伙几百个几个 g 的镜像。。。。。

    这种开发模式 应该怎么用比较好呢

    14 replies    2021-04-16 15:30:48 +08:00
    rbe
        1
    rbe  
       Apr 16, 2021   ❤️ 1
    定期 docker image prune / docker system prune
    Vegetable
        2
    Vegetable  
       Apr 16, 2021
    docker-compose
    juzisang
        3
    juzisang  
       Apr 16, 2021
    代码用 volume 映射进去,除非是运行环境的配置更改,不需要一改代码就 build 一次吧,费时费力还耗费电脑资源...
    Solidot
        4
    Solidot  
       Apr 16, 2021
    docker rmi $(docker images | grep "none" | awk '{print $3}')
    mekingname
        5
    mekingname  
       Apr 16, 2021
    有两种方案:
    1. 写个 Makefile,自动解决问题
    2. vscode 有一个 vscode remote 的插件,可以把 Docker 作为远程服务器,在一个容器里面安装环境。在宿主机写代码,Vscode 自动在容器里面运行代码。这样就不需要每次测试都打包镜像了。
    zxCoder
        6
    zxCoder  
    OP
       Apr 16, 2021
    @juzisang emmm 好像忘记这回事了。。。那如果改成本地编译,然后把可执行文件 volume 映射进入,要怎么重启 docker 内的服务比较好呢?
    astraychoi
        7
    astraychoi  
       Apr 16, 2021
    磁盘映射,打的镜像只有运行环境。
    lusi1990
        8
    lusi1990  
       Apr 16, 2021 via iPhone
    -r 参数 关闭后自动删除
    ditel
        9
    ditel  
       Apr 16, 2021 via Android
    docker-compose
    dier
        10
    dier  
       Apr 16, 2021
    @zxCoder # 6 重启容器内的服务直接 docker restart NAMES 就行了
    juzisang
        11
    juzisang  
       Apr 16, 2021
    那就要看你用的什么语言了,可以查一查你用的语言远程调试相关的资料。
    如果你是 Jetbrains 系 IDE,它内置了个 Docker 插件,可以做到类似挂载本地目录开发调试的功能。
    VSCode 官方有一个 Remote Container 以及一系列 Remote 相关的插件,可以很舒服的在容器内或者 ssh 远程开发

    或者你直接 docker restart xxx 也可以
    swulling
        12
    swulling  
       Apr 16, 2021   ❤️ 1
    docker system prune -a --volumes
    清空全部未运行的 container 、未使用的 image 和 volume
    swulling
        13
    swulling  
       Apr 16, 2021
    写个 crontab 就行了
    F281M6Dh8DXpD1g2
        14
    F281M6Dh8DXpD1g2  
       Apr 16, 2021
    环境做好 build 一次代码挂进去就完了,老 build 镜像干啥
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2965 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 14:12 · PVG 22:12 · LAX 07:12 · JFK 10:12
    ♥ Do have faith in what you're doing.