如何在 Ubuntu 中创建隔离"environment"?



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

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

我希望你已经理解了我的问题。谢谢!

可以使用 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 命令从Dockerfilebuild映像:

docker build -t app .

然后运行它(假设它公开端口 8080(:

docker run -p 8080:8080 app

现在,你的应用将在开发计算机上localhost:8080可用,但它将在隔离的 Ubuntu 容器中运行。

最新更新