【发布时间】:2016-11-24 12:56:42
【问题描述】:
我尝试使用 docker。我安装工具 docker 并运行。我下载 ubuntu 映像并在 docker 上运行。我靠这个link
为了安装 ubuntu,我使用了docker run -it ubuntu bash
之后我运行这个 ubuntu docker run -i -t ubuntu:latest /bin/bash
开始后我放置了root@9bca9a2a537d:/#
现在我想安装 java 并在这个 java 上启动一些应用程序。
我尝试安装 java root@cf50a6fdfc10:/# apt-get install default-jre
安装后,我尝试运行此命令java -version,我看到了
root@2e62f448f783:/# java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~16.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
之后我退出ubuntu
root@2e62f448f783:/# exit
然后再次运行。当 ubuntu 启动时,我尝试
root@20cefe55e2eb:/# java -version
bash: java: command not found
如何安装 java 或启动这个 java 版本?
【问题讨论】:
-
您是否尝试像使用常规虚拟机一样使用 Docker 容器?这不是它的工作原理。你应该写一个
Dockerfile,它从你想要的基本 Ubuntu 映像开始,安装 Java,在你的应用程序中复制并设置它运行。 -
@jonrsharpe 好的。假设我创建了一个文件 docker。那我用它做什么?我想是这样的——我运行 docker。安装所有需要的程序(java、db、一些实用程序)。测试它是如何工作的。如果一切顺利,那么我创建一个图像。然后我将该图像安装在另一台计算机上的另一个 docker 中。
-
在 Docker 中,数据不会保留在容器中,除非它与映射到文件系统的卷相关联。
-
那我不明白它是如何工作的
-
您是否考虑过阅读introductory tutorial 或文档(例如
Dockerfilereference)?您提供一个步骤列表,告诉 Docker 如何构建您想要的容器,然后它很容易重复,而不必在运行的机器上设置它。参见例如github.com/textbook/flash/blob/master/Dockerfile,来自我自己的一个项目。