Cómo ejecutar Aspose.Slides para C++ en Docker
Aspose.Slides for C++ puede ejecutarse dentro de contenedores Docker. Para ejecutar Aspose.Slides for C++ en un entorno Linux, puede usar un archivo Docker.
Descripción del Dockerfile
Por ejemplo, puede usar este archivo Docker para Aspose.Slides for C++ con Ubuntu 16.04:
FROM ubuntu:16.04
RUN apt-get update && apt-get install software-properties-common -y \
&& add-apt-repository ppa:ubuntu-toolchain-r/test \
&& apt-get update && apt-get upgrade libstdc++6 -y --no-install-recommends\
&& apt-get install -y --no-install-recommends \
unzip \
cmake \
make \
clang-3.9 \
gcc-6 \
g++-6 \
fontconfig \
libglu1-mesa \
&& update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.9 30 \
&& update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.9 30 \
&& update-alternatives --install /usr/bin/cc cc /usr/bin/clang-3.9 40 \
&& update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-3.9 40 \
&& update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 30 \
&& update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 30 \
&& update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-6 30 \
&& update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++-6 30
ARG accept_msttcorefonts_eula=false
ARG DEBIAN_FRONTEND=teletype
RUN apt-get install -y --no-install-recommends apt-transport-https debconf-utils
RUN echo msttcorefonts msttcorefonts/accepted-mscorefonts-eula select $accept_msttcorefonts_eula | \
debconf-set-selections
RUN apt-get install -y msttcorefonts \
&& fc-cache -f -v
VOLUME /slides-cpp
WORKDIR /slides-cpp/sample/
CMD ./build_sample.sh
El archivo contiene tres partes principales (procedimientos):
- Instalación de las herramientas necesarias para ejecutar Aspose.Slides for C++:
FROM ubuntu:16.04
RUN apt-get update && apt-get install software-properties-common -y \
&& add-apt-repository ppa:ubuntu-toolchain-r/test \
&& apt-get update && apt-get upgrade libstdc++6 -y --no-install-recommends\
&& apt-get install -y --no-install-recommends \
unzip \
cmake \
make \
clang-3.9 \
gcc-6 \
g++-6 \
fontconfig \
libglu1-mesa \
&& update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.9 30 \
&& update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.9 30 \
&& update-alternatives --install /usr/bin/cc cc /usr/bin/clang-3.9 40 \
&& update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-3.9 40 \
&& update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 30 \
&& update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 30 \
&& update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-6 30 \
&& update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++-6 30
- Instalación del paquete msttcorefonts (por defecto, el EULA del paquete msttcorefonts no está aceptado):
ARG accept_msttcorefonts_eula=false
ARG DEBIAN_FRONTEND=teletype
RUN apt-get install -y --no-install-recommends apt-transport-https debconf-utils
RUN echo msttcorefonts msttcorefonts/accepted-mscorefonts-eula select $accept_msttcorefonts_eula | \
debconf-set-selections
RUN apt-get install -y msttcorefonts \
&& fc-cache -f -v
- Declarar la carpeta /slides-cpp como punto de montaje para proporcionar acceso a la carpeta de fuentes slides-cpp en la máquina host; Compilación y ejecución de ejemplos:
VOLUME /slides-cpp
WORKDIR /slides-cpp/sample/
CMD ./build_sample.sh
Compilación y ejecución de una imagen
-
Instalar Docker en un sistema host.
-
Compilar una imagen.
El directorio de trabajo del terminal debe contener un archivo Dockerfile con el contenido anterior.
docker build -t aspose-slides-ubuntu-16.04 .
-
Descargar y descomprimir Aspose.Slides for C++ YY.M Linux.
-
Compartir la carpeta con Aspose.Slides for C++ para que Docker la use:
- En Windows, haga clic con el botón derecho del ratón en el icono de Docker en la barra de tareas. Seleccione Configuración.
- Vaya a Recursos > Compartir archivos.
-
Ejecute la imagen como un contenedor mediante cualquiera de estos métodos:
- Método A: crear y ejecutar un contenedor con nombre:
docker run --name slides-cpp-ubuntu -v d:\aspose-slides-cpp-linux-20.6:/slides-cpp aspose-slides-ubuntu-16.04
Para el segundo y posteriores lanzamientos, debe usar:
docker start slides-cpp-ubuntu -i
- Método B: crear y ejecutar un contenedor temporal sin nombre:
docker run --rm -v d:\aspose-slides-cpp-linux-20.6:/slides-cpp aspose-slides-ubuntu-16.04
Verá la compilación y ejecución del proyecto de ejemplo:
-- The CXX compiler identification is Clang 3.9.1
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /slides-cpp/sample/build
Scanning dependencies of target Aspose.Slides.Cpp.Examples
[ 14%] Building CXX object CMakeFiles/Aspose.Slides.Cpp.Examples.dir/sources/chart.cpp.o
[ 42%] Building CXX object CMakeFiles/Aspose.Slides.Cpp.Examples.dir/sources/main.cpp.o
[ 42%] Building CXX object CMakeFiles/Aspose.Slides.Cpp.Examples.dir/sources/presentation_export.cpp.o
[ 57%] Building CXX object CMakeFiles/Aspose.Slides.Cpp.Examples.dir/sources/smart_art.cpp.o
[ 71%] Building CXX object CMakeFiles/Aspose.Slides.Cpp.Examples.dir/sources/text.cpp.o
[ 85%] Building CXX object CMakeFiles/Aspose.Slides.Cpp.Examples.dir/sources/thumbnail.cpp.o
[100%] Linking CXX executable Aspose.Slides.Cpp.Examples
[100%] Built target Aspose.Slides.Cpp.Examples
Running examples...
Running Chart::SampleChart...
Running Thumbnail::SampleThumbnail...
Running Text::SampleAddText...
Running SmartArt::SampleCreation...
Running SmartArt::SampleCloning...
Running SmartArt::SampleNodesTextEditing...
Running SmartArt::SampleNodeAdd...
Running SmartArt::SampleColorStyleEditing...
Running SmartArt::SampleQuickStyleEditing...
Running SmartArt::SampleNodeRemove...
Running SmartArt::SampleRemoveSmartArt...
Running PresentationExport::Export...
Saving presentation as PDF...OK
Saving presentation as XPS...OK
Saving presentation as SWF...OK
Saving presentation as HTML...OK
Saving presentation as PDF...OK
Saving presentation as XPS...OK
Saving presentation as SWF...OK
Saving presentation as HTML...OK