Diferencia entre revisiones de «Contenedores con podman»
(→Descarga de podman) |
(→Algunas diferencias entre Podman y Docker) |
||
(No se muestran 2 ediciones intermedias del mismo usuario) | |||
Línea 8: | Línea 8: | ||
(recomendado en la propia página de podman: https://podman.io/whatis.html) | (recomendado en la propia página de podman: https://podman.io/whatis.html) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=Descarga de podman= | =Descarga de podman= | ||
Línea 111: | Línea 102: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | ==Algunas diferencias entre Podman y Docker== | ||
+ | *La primera diferencia que nos encontramos, respecto a Docker, es que Podman no tiene servicio. | ||
+ | *Podman no hace uso de un demonio. | ||
+ | *En podman, un usuario sólo puede ver y utilizar los contenedores y las imágenes que hayan sido creadas o descargadas por este mismo usuario. Por esto mismo,podemos hacer uso de podman sin ser necesariamente los administradores del sistema. Por esto mismo, si se descarga una imagen con el usuario por defecto, "sudo podman images" no la mostrará. | ||
+ | |||
+ | *Podman no posee todavía una herramienta de orquestación de contenedores oficial, ya que consideran que, por defecto, para esta tarea se emplea Kubernetes, para lo cuál Podman tiene comandos que facilitan su despligue con esta herramienta. Sin embargo, existe un proyecto third-party llamado [https://github.com/containers/podman-compose podman-compose], que trata de ser la solución a la sustitución de docker-compose. |
Revisión actual del 21:25 29 ene 2020
A primera vista, Podman es muy similar a Docker. Tan parecido es su uso que, para usar los comandos de podman, tan sólo tendremos que usar los de Docker y cambiar la palabra "docker" por "podman". Si queremos hacer esta sustitución automática, de forma que, aun poniendo docker, funcione podman, ejecutamos el siguiente comando:
alias docker=podman
(recomendado en la propia página de podman: https://podman.io/whatis.html)
Descarga de podman
En primer lugar, procuraremos tener la máquina virtual actualizada:
dnf search update
sudo dnf upgrade
A continuación, ejecutanos:
sudo dnf install podman
Una vez descargado, podemos consultar más información haciendo:
man podman
Construir una imagen a partir de un fichero Dockerfile
Seguimos los mismos pasos que si creáramos una imagen a partir de un fichero con docker. Para ello, podman hace uso de los mismos Dockerfiles, sin hacer modificaciones. Lo podemos comprobar con el Dockerfile de ejemplo de aplicaciones hug usado aquí. Con un editor de textos, como nano (que no viene por defecto instalado en la versión 31 de Fedora).
Para descargar nano:
sudo dnf install nano
Dockerfile:
FROM python:alpine
ENV USERNAME="username"
RUN mkdir /app
RUN pip install hug
COPY endpoint.py /app
WORKDIR /app
CMD hug -f endpoint.py
endpoint.py:
FROM python:alpine
ENV USERNAME="username"
RUN mkdir /app
RUN pip install hug
COPY endpoint.py /app
WORKDIR /app
CMD hug -f endpoint.py
Dentro de la carpeta que contiene estos 2 archivos, para construir la imagen, ejecutamos el siguiente comando:
podman build -t app:v1 -f Dockerfile .
Comprobamos que se ha creado la imagen correctamente:
podman images
Iniciamos un contenedor a partir de nuestra nueva imagen:
podman run -ti app:v1
Si todo funcionó bien, debería aparecer por pantalla:
/#######################################################################\
`.----``..-------..``.----.
:/:::::--:---------:--::::://.
.+::::----##/-/oo+:-##----:::://
`//::-------/oosoo-------::://. ## ## ## ## #####
.-:------./++o/o-.------::-` ``` ## ## ## ## ##
`----.-./+o+:..----. `.:///. ######## ## ## ##
``` `----.-::::::------ `.-:::://. ## ## ## ## ## ####
://::--.``` -:``...-----...` `:--::::::-.` ## ## ## ## ## ##
:/:::::::::-:- ````` .:::::-.` ## ## #### ######
``.--:::::::. .:::.`
``..::. .:: EMBRACE THE APIs OF THE FUTURE
::- .:-
-::` ::- VERSION 2.6.0
`::- -::`
-::-` -::-
\########################################################################/
Copyright (C) 2016 Timothy Edmund Crosley
Under the MIT License
Serving on :8000...
Algunas diferencias entre Podman y Docker
- La primera diferencia que nos encontramos, respecto a Docker, es que Podman no tiene servicio.
- Podman no hace uso de un demonio.
- En podman, un usuario sólo puede ver y utilizar los contenedores y las imágenes que hayan sido creadas o descargadas por este mismo usuario. Por esto mismo,podemos hacer uso de podman sin ser necesariamente los administradores del sistema. Por esto mismo, si se descarga una imagen con el usuario por defecto, "sudo podman images" no la mostrará.
- Podman no posee todavía una herramienta de orquestación de contenedores oficial, ya que consideran que, por defecto, para esta tarea se emplea Kubernetes, para lo cuál Podman tiene comandos que facilitan su despligue con esta herramienta. Sin embargo, existe un proyecto third-party llamado podman-compose, que trata de ser la solución a la sustitución de docker-compose.