程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了创建持久、持久的“工人盒子”Docker 容器大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决创建持久、持久的“工人盒子”Docker 容器?

开发过程中遇到创建持久、持久的“工人盒子”Docker 容器的问题如何解决?下面主要结合日常开发的经验,给出你关于创建持久、持久的“工人盒子”Docker 容器的解决方法建议,希望对你解决创建持久、持久的“工人盒子”Docker 容器有所启发或帮助;

我正在寻找一种构建 Docker 容器的方法:

  • 是现代 Ubuntu 服务器(21.04 或左右);
  • 不是像 Docker 通常用于的临时容器,我实际上会将它用作一种“持久的、可工作的 linux 框”,我将在其中安装各种工具(自制软件、 git、node 等)并将关闭它并多次启动它,我需要这些工具和我的整个文件系统在运行中保持不变

迄今为止我对 docker-compose.yml 的最佳尝试:

version: "3.7"
services:
  workBox:
    image: ubuntu
    container_name: workBox
    restart: always
    volumes:
      - ???:???

volumes:
  ???:

首先,我不确定 ubuntu 是否是此处为 Ubuntu Server 21.04 指定的正确映像,但这是我能找到的最好的映像。

这里的主要问题是我不确定如何在我的主机和这个 workBox 容器之间安装绑定卷。我的主机(Mac 笔记本电脑)上有一个位于 ~/workspace/workBox 的目录,理想情况下,我想将它用作 workBox 文件系统上所有内容的父目录。 这可能吗?

这可能是把车放在马前,因为在一天结束时,我只需要一个我可以使用的 Ubuntu Server 容器:

  1. 启动
  2. ssh 输入
  3. 下载一堆工具(git、node、brew 等)并在容器的文件系统上创建我自己的文件
  4. 退出 ssh
  5. 关闭容器
  6. 离开几个小时、几天、几周、几千年
  7. 回来
  8. 启动容器备份,然后——瞧! -- 一切都还在

我怎样才能做到这一点?

解决方法

我尝试自己测试一些场景并将一些文件夹绑定到 rootfs,但这是不允许的。但是,如果它只是一个基本的“工具机”,您可以在连接 tty 的交互模式下运行 ubuntu 容器,完成后按 Ctrl + D,当您再次需要它时,只需运行 docker ps -a 搜索容器命名并以交互模式再次启动它。 只要您不删除机器上的卷(例如 docker system prune,它会尝试清理您的 docker 对象主机和数据,如图像、卷容器等),您就没有理由不删除完成后退出容器并在再次需要时启动它。 只是为了让生活更简单,这里有一个使用它的工作日示例:

总是最好将图像版本指定为次要以避免突然更改 docker run -it --name tesTing_container ubuntu:21.04 bash

完成您的工作,例如安装软件包、使用您需要的 Linux 命令,以及完成后按 Ctrl + D 退出容器。

一千年过去了,您再次需要该容器(因为我们覆盖了保存在其中的容器启动命令,因此无需再次指定 bash 或您喜欢的任何其他 sHell):

docker start -i tesTing_container

另一个更好的解决方案是将您的个人装备 (/personal_files) 中的文件夹绑定到容器,同时使用您稍后希望从该文件夹中的 docker 主机访问的容器位置文​​件。示例命令:

docker run -it --name tesTing_container -v "/c/Users/username/ubuntu_files:/personal_files" ubuntu:21.04 bash

大佬总结

以上是大佬教程为你收集整理的创建持久、持久的“工人盒子”Docker 容器全部内容,希望文章能够帮你解决创建持久、持久的“工人盒子”Docker 容器所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。