有没有办法在 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 命令从Dockerfile
build
映像:
docker build -t app .
然后运行它(假设它公开端口 8080(:
docker run -p 8080:8080 app
现在,你的应用将在开发计算机上localhost:8080
可用,但它将在隔离的 Ubuntu 容器中运行。