如何修改从现有映像创建的docker映像

mic*_*bbb 21 docker

基于howto,我基于现有图像创建了一个新图像.
现在我没有Dockerfile,并且有些事情正在发生,当容器启动时
我无法改变 - 这就是它对我的看法.

有没有办法修改我使用的基本映像的Dockerfile中设置的内容?

例如:容器在启动时运行bash脚本,我想更改它.

sxc*_*731 24

要回答你的特定问题:" 容器在启动时运行bash脚本,我想改变它 ".假设您想要运行/script.sh(图像的一部分)而不是默认值,您可以使用以下方法实例化容器:

docker run --entrypoint /script.sh repo/image
Run Code Online (Sandbox Code Playgroud)

如果script.sh不是图像的一部分和/或您不希望每次都--entrypoint如上所述明确指定它,您可以准备一个包含并运行您自己的图像script.sh:

  1. 创建一个空目录并script.sh在其中复制或创建
  2. Dockerfile使用以下内容创建:

    FROM repo/image
    ADD script.sh /
    ENTRYPOINT /script.sh
    
    Run Code Online (Sandbox Code Playgroud)
  3. docker build -t="myimage" .

  4. docker run myimage

笔记:

  • 在运行容器时(步骤4),不再需要指定,--entrypoint因为我们已将其默认为Dockerfile.
  • 它真的那么简单; 无需注册码头中心或任何此类事物(虽然它当然是及时推荐的;-)