{"id":179,"date":"2018-10-16T02:15:49","date_gmt":"2018-10-16T02:15:49","guid":{"rendered":"http:\/\/www.appservgrid.com\/paw93\/index.php\/2018\/10\/16\/intro-to-podman-red-hat-enterprise-linux-7-6-beta\/"},"modified":"2018-10-16T02:19:43","modified_gmt":"2018-10-16T02:19:43","slug":"intro-to-podman-red-hat-enterprise-linux-7-6-beta","status":"publish","type":"post","link":"https:\/\/www.appservgrid.com\/paw93\/index.php\/2018\/10\/16\/intro-to-podman-red-hat-enterprise-linux-7-6-beta\/","title":{"rendered":"Intro to Podman (Red Hat Enterprise Linux 7.6 Beta)"},"content":{"rendered":"<p>&nbsp;<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/developers.redhat.com\/blog\/wp-content\/uploads\/2018\/08\/podman-logo-source-1-1024x262.png\" alt=\"\" width=\"640\" height=\"164\" \/><\/p>\n<p><a href=\"https:\/\/www.redhat.com\/en\/blog\/red-hat-enterprise-linux-76-beta-now-available\">Red Hat Enterprise Linux (RHEL) 7.6 Beta<\/a> was released a few days ago and one of the first new features I noticed is Podman. Podman complements <a href=\"https:\/\/www.projectatomic.io\/blog\/2017\/06\/introducing-buildah\/\">Buildah<\/a> and <a href=\"https:\/\/www.projectatomic.io\/blog\/2016\/07\/working-with-containers-image-made-easy\/\">Skopeo<\/a> by offering an experience similar to the Docker command line: allowing users to run standalone (non-orchestrated) containers. And Podman doesn\u2019t require a daemon to run containers and pods, so we can easily say goodbye to big fat daemons.<\/p>\n<p>Podman implements almost all the Docker CLI commands (apart from the ones related to Docker Swarm, of course). For container orchestration, I suggest you take a look at Kubernetes and <a href=\"http:\/\/openshift.com\/\">Red Hat OpenShift<\/a>.<\/p>\n<p>Podman consists of just a single command to run on the command line. There are no daemons in the background doing stuff, and this means that Podman can be integrated into system services through systemd.<\/p>\n<p>We\u2019ll cover some real examples that show how easy it can be to transition from the Docker CLI to Podman.<\/p>\n<h2>Podman installation<\/h2>\n<p>If you are running Red Hat Enterprise Linux 7.6 Beta, follow the steps below. If not, you can <a href=\"http:\/\/katacoda.com\/courses\/containers-without-docker\/running-containers-with-podman\">try Podman online with Katacoda<\/a>.<\/p>\n<p>You need to enable the extras repo:<\/p>\n<p>$ su &#8211;<br \/>\n# subscription-manager repos &#8211;enable rhel-7-server-extras-beta-rpms<\/p>\n<p>Please note: at the time this was written RHEL 7.6 is still in beta. Once GA occurs, please change the repository name by removing the -beta-.<\/p>\n<p>Then, launch the proper installation command:<\/p>\n<p># yum -y install podman<\/p>\n<p>This command will install Podman and also its dependencies: atomic-registries, runC, skopeo-containers, and SELinux policies.<\/p>\n<p>That\u2019s all. Now you can now play with Podman.<\/p>\n<h2>Command-line examples<\/h2>\n<h3>Run a RHEL container<\/h3>\n<p>For the first example, suppose we want to just run a RHEL container. We are on a RHEL system and we want to run a RHEL container, so it should work:<\/p>\n<p>[root@localhost ~]# docker run -it rhel sh<br \/>\n-bash: docker: command not found<\/p>\n<p>As you can see, there is no docker command on my RHEL 7.6 host. Just replace the docker command with podman:<\/p>\n<p>[root@localhost ~]# podman run -it rhel sh<br \/>\nTrying to pull registry.access.redhat.com\/rhel:latest&#8230;Getting image source signatures<br \/>\nCopying blob sha256:367d845540573038025f445c654675aa63905ec8682938fb45bc00f40849c37b<br \/>\n71.46 MB \/ ? [&#8212;&#8212;&#8212;&#8212;=&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-] 23s<br \/>\nCopying blob sha256:b82a357e4f15fda58e9728fced8558704e3a2e1d100e93ac408edb45fe3a5cb9<br \/>\n1.27 KB \/ ? [&#8212;-=&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;] 0s<br \/>\nCopying config sha256:f5ea21241da8d3bc1e92d08ca4888c2f91ed65280c66acdefbb6d2dba6cd0b29<br \/>\n6.52 KB \/ 6.52 KB [========================================================] 0s<br \/>\nWriting manifest to image destination<br \/>\nStoring signatures<br \/>\nsh-4.2#<\/p>\n<p>We now have our RHEL container. Let\u2019s play with it, check its status, and then delete it and its source image:<\/p>\n<p>sh-4.2# ps ax<br \/>\nPID TTY STAT TIME COMMAND<br \/>\n1 pts\/0 Ss 0:00 sh<br \/>\n10 pts\/0 R+ 0:00 ps ax<br \/>\nsh-4.2# exit<\/p>\n<p>[root@localhost ~]# podman ps -a<br \/>\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES<br \/>\ndeda2991f9fd registry.access.redhat.com\/rhel:latest sh 3 minutes ago Exited (0) Less than a second ago reverent_torvalds<\/p>\n<p>[root@localhost ~]# podman rm deda2991f9fd<br \/>\ndeda2991f9fd43400566abceaa917ecbd59a2e83354c5c9021ba1830a7ab196d<\/p>\n<p>[root@localhost ~]# podman image rm rhel<br \/>\nf5ea21241da8d3bc1e92d08ca4888c2f91ed65280c66acdefbb6d2dba6cd0b29<\/p>\n<p>As you can see, we used the same syntax as we\u2019d use with docker. There are no differences at the moment. I didn\u2019t check the Podman documentation and I started working immediately!<\/p>\n<h3>Run a MariaDB persistent container<\/h3>\n<p>Let\u2019s move forward and try a more complicated test: run MariaDB 10.2 with some custom variables and try to let its \u201cdata\u201d be persistent.<\/p>\n<p>First, let\u2019s download the MariaDB container image and inspect its details:<\/p>\n<p>[root@localhost ~]# podman pull registry.access.redhat.com\/rhscl\/mariadb-102-rhel7Trying to pull registry.access.redhat.com\/rhscl\/mariadb-102-rhel7&#8230;Getting image source signatures<br \/>\nCopying blob sha256:367d845540573038025f445c654675aa63905ec8682938fb45bc00f40849c37b<br \/>\n71.46 MB \/ ? [&#8212;&#8212;&#8212;&#8212;=&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-] 10s<br \/>\nCopying blob sha256:b82a357e4f15fda58e9728fced8558704e3a2e1d100e93ac408edb45fe3a5cb9<br \/>\n1.27 KB \/ ? [&#8212;-=&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;] 0s<br \/>\nCopying blob sha256:ddec0f65683ad89fc27298921921b2f8cbf57f674ed9eb71eef4e23a9dd9bbfe<br \/>\n6.40 MB \/ ? [&#8212;&#8212;&#8212;&#8212;&#8211;=&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-] 1s<br \/>\nCopying blob sha256:105cfda934d478ffbf65d74a89af55cc5de1d5bc94874c2d163c45e31a937047<br \/>\n58.25 MB \/ ? [&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-=&#8212;&#8212;&#8212;&#8212;&#8212;] 10s<br \/>\nCopying config sha256:7ac0a23445fec91d4b458f3062e64d1ca4af4755387604f8d8cbec08926867d7<br \/>\n6.79 KB \/ 6.79 KB [========================================================] 0s<br \/>\nWriting manifest to image destination<br \/>\nStoring signatures<br \/>\n7ac0a23445fec91d4b458f3062e64d1ca4af4755387604f8d8cbec08926867d7<\/p>\n<p>[root@localhost ~]# podman images<br \/>\nREPOSITORY TAG IMAGE ID CREATED SIZE<br \/>\nregistry.access.redhat.com\/rhscl\/mariadb-102-rhel7 latest 7ac0a23445fe 9 days ago 445MB<\/p>\n<p>[root@localhost ~]# podman inspect 7ac0a23445fe<br \/>\n&#8230;<\/p>\n<p>Then we can set up a folder that will handle MariaDB\u2019s data once we start our container:<\/p>\n<p>[root@localhost ~]# mkdir mysql-data<br \/>\n[root@localhost ~]# chown 27:27 mysql-data<\/p>\n<p>Please note: \u201c27\u201d is the ID of the mysql user that will run the MariaDB\u2019s processes in the container. For this reason, we have to allow it to read from and write to the directory.<\/p>\n<p>And finally, run it:<\/p>\n<p>[root@localhost ~]# podman run -d -v \/root\/mysql-data:\/var\/lib\/mysql\/data:Z -e MYSQL_USER=user -e MYSQL_PASSWORD=pass -e MYSQL_DATABASE=db -p 3306:3306 registry.access.redhat.com\/rhscl\/mariadb-102-rhel7<br \/>\n71da2bb210b36aaab28a2dc81b8e77da4e1024d1f2d025c0a7b97b075dec1425<\/p>\n<p>[root@localhost ~]# podman ps<br \/>\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES<br \/>\n71da2bb210b3 registry.access.redhat.com\/rhscl\/mariadb-102-rhel7:latest container-entrypoin&#8230; 3 seconds ago Up 3 seconds ago 0.0.0.0:3306-&gt;3306\/udp, 0.0.0.0:3306-&gt;3306\/tcp cranky_mahavira<\/p>\n<p>As you can see, the container is up and running, but what is it doing? Let\u2019s check:<\/p>\n<p>[root@localhost ~]# podman logs 71da2bb210b3 | head<br \/>\n=&gt; sourcing 20-validate-variables.sh &#8230;<br \/>\n=&gt; sourcing 25-validate-replication-variables.sh &#8230;<br \/>\n=&gt; sourcing 30-base-config.sh &#8230;<br \/>\n&#8212;&gt; 13:12:43 Processing basic MySQL configuration files &#8230;<br \/>\n=&gt; sourcing 60-replication-config.sh &#8230;<br \/>\n=&gt; sourcing 70-s2i-config.sh &#8230;<br \/>\n&#8212;&gt; 13:12:43 Processing additional arbitrary MySQL configuration provided by s2i &#8230;<br \/>\n=&gt; sourcing 40-paas.cnf &#8230;<br \/>\n=&gt; sourcing 50-my-tuning.cnf &#8230;<br \/>\n&#8212;&gt; 13:12:43 Initializing database &#8230;<\/p>\n<p>Ah! It\u2019s just started and initialized its database. Let\u2019s play with it:<\/p>\n<p>[root@localhost ~]# mysql &#8211;user=user &#8211;password=pass -h 127.0.0.1 -P 3306 -t<br \/>\nWelcome to the MariaDB monitor. Commands end with ; or g.<br \/>\nYour MariaDB connection id is 8<br \/>\nServer version: 10.2.8-MariaDB MariaDB Server<\/p>\n<p>Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.<\/p>\n<p>Type &#8216;help;&#8217; or &#8216;h&#8217; for help. Type &#8216;c&#8217; to clear the current input statement.<\/p>\n<p>MariaDB [(none)]&gt; show databases;<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br \/>\n| Database |<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br \/>\n| db |<br \/>\n| information_schema |<br \/>\n| test |<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br \/>\n3 rows in set (0.00 sec)<\/p>\n<p>MariaDB [(none)]&gt; use test;<br \/>\nDatabase changed<\/p>\n<p>MariaDB [test]&gt; show tables;<br \/>\nEmpty set (0.00 sec)<\/p>\n<p>Perfect. Now we\u2019ll create at least a table and then we\u2019ll terminate the container:<\/p>\n<p>MariaDB [db]&gt; CREATE TABLE mytest (username VARCHAR(20), date DATETIME);<br \/>\nQuery OK, 0 rows affected (0.02 sec)<\/p>\n<p>MariaDB [db]&gt; show tables;<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8211;+<br \/>\n| Tables_in_db |<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8211;+<br \/>\n| mytest |<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8211;+<br \/>\n1 row in set (0.00 sec)<\/p>\n<p>MariaDB [db]&gt; Bye<\/p>\n<p>[root@localhost ~]# podman kill 71da2bb210b3<br \/>\n71da2bb210b36aaab28a2dc81b8e77da4e1024d1f2d025c0a7b97b075dec1425<\/p>\n<p>Inspecting the content of the folder, we can see that data is still there, but let\u2019s start a new container for checking the data persistence:<\/p>\n<p>[root@localhost ~]# ls -la mysql-data\/<br \/>\ntotal 41024<br \/>\ndrwxr-xr-x. 6 27 27 4096 Aug 24 09:12 .<br \/>\ndr-xr-x&#8212;. 4 root root 219 Aug 24 09:28 ..<br \/>\n-rw-rw&#8212;-. 1 27 27 2 Aug 24 09:12 71da2bb210b3.pid<br \/>\n-rw-rw&#8212;-. 1 27 27 16384 Aug 24 09:12 aria_log.00000001<br \/>\n-rw-rw&#8212;-. 1 27 27 52 Aug 24 09:12 aria_log_control<br \/>\ndrwx&#8212;&#8212;. 2 27 27 56 Aug 24 09:27 db<br \/>\n-rw-rw&#8212;-. 1 27 27 2799 Aug 24 09:12 ib_buffer_pool<br \/>\n-rw-rw&#8212;-. 1 27 27 12582912 Aug 24 09:27 ibdata1<br \/>\n-rw-rw&#8212;-. 1 27 27 8388608 Aug 24 09:27 ib_logfile0<br \/>\n-rw-rw&#8212;-. 1 27 27 8388608 Aug 24 09:12 ib_logfile1<br \/>\n-rw-rw&#8212;-. 1 27 27 12582912 Aug 24 09:12 ibtmp1<br \/>\n-rw-rw&#8212;-. 1 27 27 0 Aug 24 09:12 multi-master.info<br \/>\ndrwx&#8212;&#8212;. 2 27 27 4096 Aug 24 09:12 mysql<br \/>\n-rw-r&#8211;r&#8211;. 1 27 27 14 Aug 24 09:12 mysql_upgrade_info<br \/>\ndrwx&#8212;&#8212;. 2 27 27 20 Aug 24 09:12 performance_schema<br \/>\n-rw-rw&#8212;-. 1 27 27 24576 Aug 24 09:12 tc.log<br \/>\ndrwx&#8212;&#8212;. 2 27 27 6 Aug 24 09:12 test<\/p>\n<p>[root@localhost ~]# podman run -d -v \/root\/mysql-data:\/var\/lib\/mysql\/data:Z -e MYSQL_USER=user -e MYSQL_PASSWORD=pass -e MYSQL_DATABASE=db -p 3306:3306 registry.access.redhat.com\/rhscl\/mariadb-102-rhel7<br \/>\n0364513f6b6ae1b86ea3752ec732bad757770ca14ec1f879e7487f3f4293004d<\/p>\n<p>[root@localhost ~]# podman ps<br \/>\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES<br \/>\n0364513f6b6a registry.access.redhat.com\/rhscl\/mariadb-102-rhel7:latest container-entrypoin&#8230; 3 seconds ago Up 2 seconds ago 0.0.0.0:3306-&gt;3306\/udp, 0.0.0.0:3306-&gt;3306\/tcp heuristic_northcutt<\/p>\n<p>[root@localhost ~]# mysql &#8211;user=user &#8211;password=pass -h 127.0.0.1 -P 3306 -t<br \/>\nWelcome to the MariaDB monitor. Commands end with ; or g.<br \/>\nYour MariaDB connection id is 8<br \/>\nServer version: 10.2.8-MariaDB MariaDB Server<\/p>\n<p>Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.<\/p>\n<p>Type &#8216;help;&#8217; or &#8216;h&#8217; for help. Type &#8216;c&#8217; to clear the current input statement.<\/p>\n<p>MariaDB [(none)]&gt; use db;<br \/>\nReading table information for completion of table and column names<br \/>\nYou can turn off this feature to get a quicker startup with -A<\/p>\n<p>Database changed<br \/>\nMariaDB [db]&gt; show tables;<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8211;+<br \/>\n| Tables_in_db |<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8211;+<br \/>\n| mytest |<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8211;+<br \/>\n1 row in set (0.00 sec)<\/p>\n<p>MariaDB [db]&gt; Bye<\/p>\n<p>[root@localhost ~]# podman kill 0364513f6b6a<br \/>\n0364513f6b6ae1b86ea3752ec732bad757770ca14ec1f879e7487f3f4293004d<\/p>\n<p>Great! MariaDB\u2019s data is still there and the new container read it and showed it once as requested.<\/p>\n<h3>Manage containers as system services through systemd and Podman<\/h3>\n<p>Finally, we\u2019ll create a simple systemd resource for handling the previously created MariaDB container.<\/p>\n<p>First, we need to create a systemd resource file for handling the brand new container service:<\/p>\n<p>[root@localhost ~]# cat \/etc\/systemd\/system\/mariadb-podman.service<br \/>\n[Unit]<br \/>\nDescription=Custom MariaDB Podman Container<br \/>\nAfter=network.target<\/p>\n<p>[Service]<br \/>\nType=simple<br \/>\nTimeoutStartSec=5m<br \/>\nExecStartPre=-\/usr\/bin\/podman rm &#8220;mariadbpodman&#8221;<\/p>\n<p>ExecStart=\/usr\/bin\/podman run &#8211;name mariadbpodman -v \/root\/mysql-data:\/var\/lib\/mysql\/data:Z -e MYSQL_USER=user -e MYSQL_PASSWORD=pass -e MYSQL_DATABASE=db -p 3306:3306 registry.access.redhat.com\/rhscl\/mariadb-102-rhel7<\/p>\n<p>ExecReload=-\/usr\/bin\/podman stop &#8220;mariadbpodman&#8221;<br \/>\nExecReload=-\/usr\/bin\/podman rm &#8220;mariadbpodman&#8221;<br \/>\nExecStop=-\/usr\/bin\/podman stop &#8220;mariadbpodman&#8221;<br \/>\nRestart=always<br \/>\nRestartSec=30<\/p>\n<p>[Install]<\/p>\n<p>Then we can reload the systemd catalog and start the service:<\/p>\n<p>[root@localhost ~]# systemctl daemon-reload<br \/>\n[root@localhost ~]# systemctl start mariadb-podman<br \/>\n[root@localhost ~]# systemctl status mariadb-podman<br \/>\nmariadb-podman.service &#8211; Custom MariaDB Podman Container<br \/>\nLoaded: loaded (\/etc\/systemd\/system\/mariadb-podman.service; static; vendor preset: disabled)<br \/>\nActive: active (running) since Fri 2018-08-24 10:14:36 EDT; 3s ago<br \/>\nProcess: 19147 ExecStartPre=\/usr\/bin\/podman rm mariadbpodman (code=exited, status=0\/SUCCESS)<br \/>\nMain PID: 19172 (podman)<br \/>\nCGroup: \/system.slice\/mariadb-podman.service<br \/>\n\u2514\u250019172 \/usr\/bin\/podman run &#8211;name mariadbpodman -v \/root\/mysql-data:\/var\/lib\/mysql\/data:Z -e MYSQL_USER=user -e MYSQL_PASSWORD=pass -e MYSQL_DA&#8230;<\/p>\n<p>Aug 24 10:14:39 localhost.localdomain podman[19172]: 2018-08-24 14:14:39 140578968823552 [Note] InnoDB: Buffer pool(s) load completed at 180824 14:14:39<br \/>\nAug 24 10:14:39 localhost.localdomain podman[19172]: 2018-08-24 14:14:39 140579889719488 [Note] Plugin &#8216;FEEDBACK&#8217; is disabled.<br \/>\nAug 24 10:14:39 localhost.localdomain podman[19172]: 2018-08-24 14:14:39 140579889719488 [Note] Server socket created on IP: &#8216;::&#8217;.<br \/>\nAug 24 10:14:39 localhost.localdomain podman[19172]: 2018-08-24 14:14:39 140579889719488 [Warning] &#8216;user&#8217; entry &#8216;root@71da2bb210b3&#8217; ignored in &#8211;sk&#8230;ve mode.<br \/>\nAug 24 10:14:39 localhost.localdomain podman[19172]: 2018-08-24 14:14:39 140579889719488 [Warning] &#8216;user&#8217; entry &#8216;@71da2bb210b3&#8217; ignored in &#8211;skip-n&#8230;ve mode.<br \/>\nAug 24 10:14:39 localhost.localdomain podman[19172]: 2018-08-24 14:14:39 140579889719488 [Warning] &#8216;proxies_priv&#8217; entry &#8216;@% root@71da2bb210b3&#8217; igno&#8230;ve mode.<br \/>\nAug 24 10:14:39 localhost.localdomain podman[19172]: 2018-08-24 14:14:39 140579889719488 [Note] Reading of all Master_info entries succeded<br \/>\nAug 24 10:14:39 localhost.localdomain podman[19172]: 2018-08-24 14:14:39 140579889719488 [Note] Added new Master_info &#8221; to hash table<br \/>\nAug 24 10:14:39 localhost.localdomain podman[19172]: 2018-08-24 14:14:39 140579889719488 [Note] \/opt\/rh\/rh-mariadb102\/root\/usr\/libexec\/mysqld: read&#8230;ections.<br \/>\nAug 24 10:14:39 localhost.localdomain podman[19172]: Version: &#8216;10.2.8-MariaDB&#8217; socket: &#8216;\/var\/lib\/mysql\/mysql.sock&#8217; port: 3306 MariaDB Server<br \/>\nHint: Some lines were ellipsized, use -l to show in full.<br \/>\n[root@localhost ~]# systemctl stop mariadb-podman<br \/>\n[root@localhost ~]#<\/p>\n<p>Awesome! We just set up a custom system service based on a container managed through Podman.<\/p>\n<h2>Further resources<\/h2>\n<p>Do you want an easy and fast way to experiment with Podman? Katacoda is the answer. Katacoda is an interactive learning and training platform that lets you learn new technologies using real environments right in your browser!<\/p>\n<p>Check it out here: <a href=\"https:\/\/www.katacoda.com\/courses\/containers-without-docker\/running-containers-with-podman\">katacoda.com\/courses\/containers-without-docker\/running-containers-with-podman<\/a><\/p>\n<p>To get a better understanding of Podman, see these two blog articles by Dan Walsh:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.projectatomic.io\/blog\/2018\/02\/reintroduction-podman\/\">Reintroduction of Podman<\/a><\/li>\n<li><a href=\"https:\/\/blog.openshift.com\/crictl-vs-podman\/\">CRICTL vs Podman<\/a><\/li>\n<\/ul>\n<p>That\u2019s all! May the containers be with you! \ud83d\ude42<\/p>\n<h2>About Alessandro<\/h2>\n<p>Take advantage of your Red Hat Developers membership and download RHEL today at no cost.<\/p>\n<p><a href=\"https:\/\/developers.redhat.com\/blog\/2018\/08\/29\/intro-to-podman\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Red Hat Enterprise Linux (RHEL) 7.6 Beta was released a few days ago and one of the first new features I noticed is Podman. Podman complements Buildah and Skopeo by offering an experience similar to the Docker command line: allowing users to run standalone (non-orchestrated) containers. And Podman doesn\u2019t require a daemon to run &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.appservgrid.com\/paw93\/index.php\/2018\/10\/16\/intro-to-podman-red-hat-enterprise-linux-7-6-beta\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Intro to Podman (Red Hat Enterprise Linux 7.6 Beta)&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-179","post","type-post","status-publish","format-standard","hentry","category-docker"],"_links":{"self":[{"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/posts\/179","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/comments?post=179"}],"version-history":[{"count":2,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/posts\/179\/revisions"}],"predecessor-version":[{"id":181,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/posts\/179\/revisions\/181"}],"wp:attachment":[{"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/media?parent=179"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/categories?post=179"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/tags?post=179"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}