我一直在尝试使用它docker run
来启动之前拉取的 Tensorflow 图像。
完成后,有没有办法使用run
标签来包含我所有的 apt 包?
我尝试使用:
docker run --rm --runtime=nvidia --privileged -it --env="DISPLAY" --env="PATH" --mount type=bind,source="$(pwd)",target=/matthew -v /tmp/.X11-unix:/tmp/.X11-unix -v /dev/bus/usb:/dev/bus/usb --network="host" tensorflow/tensorflow:latest-gpu-jupyter bash
我也试过--env=$PATH
这似乎无法包含 apt 包。
我认为另一种方法是使用 Docker From:Ubuntu 作为父映像?
非常感谢您的任何建议!
答案1
如果要在 Docker 映像中添加其他软件包,请创建一个 Dockerfile:
FROM ubuntu
RUN apt-get install <whatever>
(建议在一次调用中安装尽可能多的包RUN apt-get install
,换句话说,避免apt-get
每个包使用一个包)
然后使用以下方式创建新图像
docker build -t ubuntu-improved .
(.
表示“使用当前目录作为源”,Dockerfile
是容器描述文件的保留名称,如果使用其他名称,请参阅选项-f
)。然后,您可以使用
docker run ubuntu-improved
但是,通常不需要在容器中安装 X 和编辑器(甚至不确定 X 是否会运行...)。如果您需要编辑容器使用的文件,则可以使用绑定安装来在主机和容器之间共享文件:
docker run -v /file/on/host:/file/in/container ubuntu-improved
然后/file/on/host
使用常用工具进行编辑。该文件也可以是目录。