Как установить Podman на Ubuntu

by itisgood

Как установить Podman на Ubuntu? Podman (Pod Manager) – это инструмент, используемый для создания и обслуживания контейнеров.

Это часть библиотеки libpod.

Команда Red Hat работает над набором инструментов для запуска контейнеров без демона.

Знаете ли вы, что вы не можете запускать контейнеры Docker без демона Docker Engine ?.

Следующий набор инструментов работает вместе, чтобы обеспечить использование контейнеров без постоянно работающего процесса демона.

  • Buildah для облегчения построения образов OCI
  • Skopeo для совместного использования / поиска образов контейнеров в реестрах Docker, реестре Atomic, частных реестрах, локальных каталогах и локальных каталогах компоновки OCI.
  • Podman для запуска контейнеров без необходимости в демоне.

Команды Buildah дублируют все команды, найденные в Dockerfile.

Контейнеры Buildah просто созданы, чтобы позволить контенту быть добавленным обратно в образ контейнера.

Podman предоставляет вам все команды и функции, необходимые для поддержки и изменения изображений OCI, такие как извлечение и маркировка.

Он также позволяет создавать, запускать и поддерживать контейнеры, созданные из этих образов.

Как установить Podman в Ubuntu

Пакет podman находится в репозитории PPA, который необходимо добавить перед установкой.

Начните новый сеанс терминала на вашем компьютере с Ubuntu и выполните команды ниже.

sudo apt update
sudo apt -y  install software-properties-common
sudo add-apt-repository -y ppa:projectatomic/ppa

После добавления репозитория перейдите к установке Podman.

sudo apt -y install podman

После установки вы можете отобразить информацию, относящуюся к хосту, текущую статистику хранилища и сборку podman.

# podman  info
host:
  BuildahVersion: 1.7-dev
  Conmon:
    package: 'cri-o-1.12: /usr/lib/crio/bin/conmon'
    path: /usr/lib/crio/bin/conmon
    version: 'conmon version 1.12.4-dev, commit: '
  Distribution:
    distribution: ubuntu
    version: "18.04"
  MemFree: 720404480
  MemTotal: 1033080832
  OCIRuntime:
    package: 'cri-o-runc: /usr/sbin/runc'
    path: /usr/sbin/runc
    version: 'runc version spec: 1.0.1-dev'
  SwapFree: 2047864832
  SwapTotal: 2047864832
  arch: amd64
  cpus: 2
  hostname: ubuntu-01
  kernel: 4.15.0-42-generic
  os: linux
  rootless: false
  uptime: 2m 5.03s
insecure registries:
  registries: []
registries:
  registries:
  - docker.io
  - registry.fedoraproject.org
  - quay.io
  - registry.access.redhat.com
  - registry.centos.org
store:
  ConfigFile: /etc/containers/storage.conf
  ContainerStore:
    number: 1
  GraphDriverName: overlay
  GraphOptions: null
  GraphRoot: /var/lib/containers/storage
  GraphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "true"
    Supports d_type: "true"
    Using metacopy: "false"
  ImageStore:
    number: 2
  RunRoot: /var/run/containers/storage

Тестирование Podman на Ubuntu

Вытащите образ докера alpine.

$ podman pull alpine
Trying to pull docker.io/library/alpine…Getting image source signatures
Copying blob 8e402f1a9c57: 2.63 MiB / 2.63 MiB [=======================] 5s
Copying config 5cb3aa00f899: 1.48 KiB / 1.48 KiB [=====================] 0s
Writing manifest to image destination
Storing signatures
5cb3aa00f89934411ffba5c063a9bc98ace875d8f92e77d0029543d9f2ef4ad0

Список загруженных образов

$ podman  images
REPOSITORY                      TAG      IMAGE ID       CREATED        SIZE
docker.io/library/alpine        latest   5cb3aa00f899   3 days ago     5.79 MB
docker.io/library/hello-world   latest   fce289e99eb9   2 months ago   5.62 kB

Локальный репозиторий Podman находится в /var/lib/Containers

Запустите контейнер с командой – параметры команды, аналогичные Docker.

$ podman  run -it  --rm docker.io/library/alpine /bin/sh
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
v3.9.2-1-g592d872fb8 [http://dl-cdn.alpinelinux.org/alpine/v3.9/main]
v3.9.2-2-ge7dc3349a9 [http://dl-cdn.alpinelinux.org/alpine/v3.9/community]
OK: 9754 distinct packages available

/ # apk add vim
 (1/5) Installing lua5.3-libs (5.3.5-r1)
 (2/5) Installing ncurses-terminfo-base (6.1_p20190105-r0)
 (3/5) Installing ncurses-terminfo (6.1_p20190105-r0)
 (4/5) Installing ncurses-libs (6.1_p20190105-r0)
 (5/5) Installing vim (8.1.0630-r0)
 Executing busybox-1.29.3-r10.trigger
 OK: 40 MiB in 19 packages
 / # exit

Показать работающие контейнеры.

$ podman ls
CONTAINER ID  IMAGE                            COMMAND  CREATED        STATUS            PORTS  NAMES
1eb35f1b7de8  docker.io/library/alpine:latest  /bin/sh  4 seconds ago  Up 4 seconds ago         pedantic_roentgen
ec9c5b12db46  docker.io/library/alpine:latest  /bin/sh  5 minutes ago  Up 5 minutes ago         ecstatic_wiles

Заключение

Podman, кажется, заменяет Docker и другие инструменты управления контейнерами, которые требуют работы демона.

Он все еще свеж и на ранних стадиях разработки.

В RHEL 8 официально поддерживаемыми инструментами для управления контейнерами Docker являются Podman и Buildah.

См. также:

You may also like

2 комментария

pbezpal 17.01.2020 - 00:55

Не работает ваша инструкция. На Ubuntu 19.10 не устанавливается таким образом podman

Reply
itisgood 17.01.2020 - 06:47

Какая ошибка?

Reply

Leave a Comment