有什么方法可以在Ubuntu 14.04中创建隔离的环境吗?我安装了不稳定的应用程序,有时无法运行,我不知道为什么。因此,我正在尝试创建一个隔离的环境,以使我安装的依赖项仅在此环境中可用(类似于python虚拟环境)。
程序需要安装以下依赖项: libc6 , libstdc ++ 6, imagemagick , perl , libgl1-mesa-glx 和 libglu1-mesa
希望您已理解我的问题。谢谢!
答案 0 :(得分:1)
您可以使用Docker创建类似于VM的隔离环境。您将在开发机器上运行Docker守护程序(在Mac,Windows和Linux上可用)。然后,您创建一个以Ubuntu 14.04基本映像开头的Dockerfile
。然后,您可以使用Docker语法编写命令以安装依赖项,并将代码复制到Docker容器中(隔离环境的实例)。
因此,假设您有一个基本的Java应用程序,并且位于/app
目录中:
/app
|
├── /bin
| └── app.jar
|
├── /src
| └── app.java
|
└── Dockerfile
您的Dockerfile
如下所示,描述了您的隔离环境:
# Use the Ubuntu 14.04 base image
FROM ubuntu:14.04
# Install dependencies
# (assuming they are available via apt-get)
# <install Java here>
RUN apt-get install -y \
libc6 \
libstdc++6 \
imagemagick \
perl \
libgl1-mesa-glx \
libglu1-mesa
# Copy code (or binaries) into the container
COPY app/bin/app.jar /app.jar
# Expose port 8080
EXPOSE 8080
# Run the application
CMD java -jar app.jar
然后您需要使用构建命令从build
Dockerfile
来镜像:
docker build -t app .
然后运行它(假设它暴露了8080端口):
docker run -p 8080:8080 app
现在,您的应用可以在开发计算机上的localhost:8080
上使用,但它将在独立的Ubuntu容器中运行。