如何在Ubuntu中创建一个隔离的“环境”?

时间:2018-06-28 19:42:03

标签: ubuntu ubuntu-14.04

有什么方法可以在Ubuntu 14.04中创建隔离的环境吗?我安装了不稳定的应用程序,有时无法运行,我不知道为什么。因此,我正在尝试创建一个隔离的环境,以使我安装的依赖项仅在此环境中可用(类似于python虚拟环境)。

程序需要安装以下依赖项: libc6 libstdc ++ 6, imagemagick perl libgl1-mesa-glx libglu1-mesa

希望您已理解我的问题。谢谢!

1 个答案:

答案 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容器中运行。