{"id":6587,"date":"2020-08-03T22:37:02","date_gmt":"2020-08-03T19:37:02","guid":{"rendered":"https:\/\/kifarunix.com\/?p=6587"},"modified":"2024-03-14T22:46:46","modified_gmt":"2024-03-14T19:46:46","slug":"install-and-run-mariadb-as-a-docker-container","status":"publish","type":"post","link":"https:\/\/kifarunix.com\/install-and-run-mariadb-as-a-docker-container\/","title":{"rendered":"Install and Run MariaDB as a Docker Container"},"content":{"rendered":"\n<p>Welcome to our basic tutorial on how to install and run MariaDB as a Docker container. According to <a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/docs.docker.com\/get-started\/overview\/\" target=\"_blank\" rel=\"noreferrer noopener\">Docker website<\/a>, &#8220;<em>Docker is an open platform for developing, shipping, and running applications<\/em>&#8220;. A <a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/www.docker.com\/resources\/what-container\" target=\"_blank\" rel=\"noreferrer noopener\">container<\/a> on the hand &#8220;<em>is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings<\/em>&#8220;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing MariaDB as a Docker Container<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Install Docker Engine<\/h3>\n\n\n\n<p>Before you can proceed, install Docker Engine on your system. Follow the links below to install Docker Engine on CentOS 8\/Ubuntu 20.04 systems;<\/p>\n\n\n\n<p><a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/kifarunix.com\/install-and-use-docker-ce-on-centos-8\" target=\"_blank\" rel=\"noreferrer noopener\">Install and Use Docker CE on CentOS 8<\/a><\/p>\n\n\n\n<p><a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/kifarunix.com\/install-docker-ce-on-ubuntu-20-04\/\" target=\"_blank\" rel=\"noreferrer noopener\">Install Docker CE on Ubuntu 20.04<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"download-mariadb-docker-image\"><a href=\"#download-mariadb-docker-image\">Download MariaDB Docker Image<\/a><\/h3>\n\n\n\n<p>Every docker container is based off a specific image. Docker image contains everything that is necessary to run a container and is therefore a series of instructions that defines how an application is run.<\/p>\n\n\n\n<p>You can build your own Docker image or simply utilize the images that the community have created. You can find the images at the <a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/registry.hub.docker.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Docker Hub<\/a>.<\/p>\n\n\n\n<p>In this tutorial, we will be utilizing the community available Docker images.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"search-for-mariadb-docker-image\"><a href=\"#search-for-mariadb-docker-image\">Search for MariaDB Docker Image<\/a><\/h4>\n\n\n\n<p>First off, you need to identify the name of the specific MariaDB Docker Image. To search for the image on the docker hub, simply run the command below;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker search mariadb<\/code><\/pre>\n\n\n\n<p> You will get a ton of MariaDB images that have been created;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>NAME                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED\n<strong>mariadb                                MariaDB is a community-developed fork of MyS\u2026   3572                [OK]<\/strong>                \nlinuxserver\/mariadb                    A Mariadb container, brought to you by Linux\u2026   151                                     \nbitnami\/mariadb                        Bitnami MariaDB Docker Image                    120                                     [OK]\ntoughiq\/mariadb-cluster                Dockerized Automated MariaDB Galera Cluster \u2026   41                                      [OK]\n...<\/code><\/pre>\n\n\n\n<p>Usually, an image with no prefix is considered official docker hub image, stable and being maintained. It also contains&nbsp;<strong>[OK]<\/strong>&nbsp;on the&nbsp;<strong>Official<\/strong>&nbsp;column. Therefore, we will pull the first image from the list above.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"download-mariadb-docker-image\"><a href=\"#download-mariadb-docker-image\">Download MariaDB Docker Image from Docker Hub<\/a><\/h4>\n\n\n\n<p>To download the Docker Image, you use the <code>docker pull <em>&lt;name-of-the-image&gt;<\/em><\/code> command. In this case, our image name is <code><strong>mariadb<\/strong><\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker pull mariadb<\/code><\/pre>\n\n\n\n<p>The command downloads the image to your system, if doesn&#8217;t already exist.<\/p>\n\n\n\n<p>By default, when you pull a docker image, the latest version of it is downloaded. If you need to download other versions of MariaDB Docker Images, for example, MariaDB 10.3 Docker Image, simply use the command;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker pull mariadb:10.3<\/code><\/pre>\n\n\n\n<p>You can see a wide range of tags you can use on <a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/hub.docker.com\/_\/mariadb\" target=\"_blank\" rel=\"noreferrer noopener\">Docker Hub MariaDB<\/a> page.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">List Downloaded Docker Images<\/h4>\n\n\n\n<p>You can list locally available images using the <code><strong>docker images<\/strong><\/code> command.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker images<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE\nmariadb             latest              8075b7694a2d        8 days ago          407MB<\/code><\/pre>\n\n\n\n<p>We have the latest MariaDB Docker Image downloaded.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"running-mariadb-docker-container\"><a aria-label=\"undefined (opens in a new tab)\" href=\"#running-mariadb-docker-container\" target=\"_blank\" rel=\"noreferrer noopener\">Running MariaDB Docker Container<\/a><\/h3>\n\n\n\n<p>Once you have the Docker image in place, you can then create and run a docker container based on the image. <code><strong>docker run<em> &lt;options&gt; &lt;image-name&gt;<\/em><\/strong><\/code> is the Docker command for running Docker containers.<\/p>\n\n\n\n<p>When running a MariaDB container, you need to specify one of following environment variables:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>MYSQL_ROOT_PASSWORD<\/code><\/strong>: specifies the password that will be set for the MariaDB&nbsp;<code>root<\/code> (mandatory). <\/li>\n\n\n\n<li><strong><code>MYSQL_ALLOW_EMPTY_PASSWORD<\/code><\/strong>: sets an empty password for MariaDB root user account (optional). Takes the values, yes or no<\/li>\n\n\n\n<li><strong><code>MYSQL_RANDOM_ROOT_PASSWORD<\/code><\/strong>: Sets a random password for MariaDB root user account (optional). Takes the values, yes or no<\/li>\n<\/ul>\n\n\n\n<p>In our case here, the name of the image is, <strong><code>mariadb<\/code><\/strong> (<em>with <code><strong>latest<\/strong><\/code> being the tag<\/em>);<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker run --name mariadbdemo -e MYSQL_ROOT_PASSWORD=password -d mariadb<\/code><\/pre>\n\n\n\n<p>The command above basically creates and run (in the background, <strong><code>-d<\/code><\/strong>) the MariaDB Docker container based on the latest image version available, sets the MariaDB database root password to <strong>password<\/strong> (<code><strong>-e MYSQL_ROOT_PASSWORD=password<\/strong><\/code>) and the name of the container as <strong><code>mariadbdemo<\/code><\/strong> (<strong><code>--name mariadbdemo<\/code><\/strong>, random names are usually set for containers if you don&#8217;t specify the name).<\/p>\n\n\n\n<p>If you have other versions of MariaDB Docker Images, you can specify the tags to run a container based on that specific image. For example, assuming we had MariaDB 10.4 image and we would like to run a container based on that image, you could specify the tag as, <code><strong>mariadb:10.4<\/strong><\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code> docker run --name mariadbdemo -d -e MYSQL_ROOT_PASSWORD=password mariadb:10.4<\/code><\/pre>\n\n\n\n<p>Check <strong><code>docker run --help<\/code><\/strong> for more options.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"list-running-containers\"><a href=\"#list-running-containers\" target=\"_blank\" aria-label=\"undefined (opens in a new tab)\" rel=\"noreferrer noopener\">List Running Containers<\/a><\/h4>\n\n\n\n<p>Once you have run a container, you can list them using the <code>docker ps<\/code> command.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker ps<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES\nce03099cfffa        mariadb             \"docker-entrypoint.s\u2026\"   43 seconds ago      Up 39 seconds       3306\/tcp            mariadbdemo<\/code><\/pre>\n\n\n\n<p>To list all running and stopped containers, use <code><strong>docker ps -a<\/strong><\/code> command.<\/p>\n\n\n\n<p>To get just the running container IDs;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker ps -q<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Checking MariaDB Container Logs<\/h4>\n\n\n\n<p>You can use <em><code>docker logs &lt;name-or-container-id&gt;<\/code><\/em> command;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker logs mariadbdemo<\/code><\/pre>\n\n\n\n<p>Or<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker logs ce03099cfffa<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Accessing MariaDB Docker Container<\/h3>\n\n\n\n<p>Your MariaDB docker container is now running in the background. You can access it by:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Launching the interactive shell  of the container<\/li>\n\n\n\n<li>Logging into MariaDB Docker container using mysql client from your host via the docker network.<\/li>\n<\/ul>\n\n\n\n<p>To launch an interactive bash shell for the MariaDB docker container, use the <code><strong>docker exec -it &lt;name-of the container|container-id&gt; &lt;shell&gt;<\/strong><\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker exec -it mariadbdemo bash<\/code><\/pre>\n\n\n\n<p>This takes you to container interactive bash shell;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>root@9f26c99c35a5:\/#<\/code><\/pre>\n\n\n\n<p>You can as well login to your MariaDB container using mysql client on your host.<\/p>\n\n\n\n<p>For this, you need to install MySQL client. For example, on Ubuntu systems, you can install MySQL client by running the command<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apt install mysql-client<\/code><\/pre>\n\n\n\n<p>Next, obtain the IP address assigned to your MariaDB container. To obtain an IP address of the container, use the <code><strong>docker inspect &lt;name-of-the-container|container-id&gt;<\/strong><\/code>  command which provides a complete details about the container.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker inspect mariadbdemo | grep IPAddress<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>            \"SecondaryIPAddresses\": null,\n            \"IPAddress\": \"<strong>172.17.0.2<\/strong>\",\n                    \"IPAddress\": \"172.17.0.2\",<\/code><\/pre>\n\n\n\n<p>In this case, our MariaDB container is assigned an IP address of <strong>172.17.0.2<\/strong>.<\/p>\n\n\n\n<p>To use the MySQL host client to connect to our container;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>mysql -u root -p -h 172.17.0.2<\/code><\/pre>\n\n\n\n<p>The command assumes that the container is listening on a default port, 3306.<\/p>\n\n\n\n<p>You will need to use the password that you specified with the <strong><code>MYSQL_ROOT_PASSWORD<\/code><\/strong> variable when running the container above.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>Enter password: <strong>password<\/strong>\nWelcome to the MySQL monitor.  Commands end with ; or \\g.\nYour MySQL connection id is 5\nServer version: 5.5.5-10.5.4-MariaDB-1:10.5.4+maria~focal mariadb.org binary distribution\n\nCopyright (c) 2000, 2020, Oracle and\/or its affiliates. All rights reserved.\n\nOracle is a registered trademark of Oracle Corporation and\/or its\naffiliates. Other names may be trademarks of their respective\nowners.\n\nType 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.\n\nmysql&gt;<\/code><\/pre>\n\n\n\n<p>Within the shell, you can now administer your MariaDB as you would when running on a host.<\/p>\n\n\n\n<p>NOTE: The IP address assigned to your docker container is dynamic and if you happen to restart the container, it will be assigned a new\/different IP address within the docker network.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"access-mariadb-docker-container-externally\"><a href=\"#access-mariadb-docker-container-externally\">Accessing MariaDB Docker Container Externally<\/a><\/h4>\n\n\n\n<p>If you have some external applications that needs to access your database running on MariaDB container, you need to expose the container port for external via the host system. By default, the container is only accessible within the host system<\/p>\n\n\n\n<p>For example, our MariaDB container is listening on the default port 3306.<\/p>\n\n\n\n<p>If you check your listening ports on your host for MariaDB port, you wont find any;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>ss -altnp | grep 3306<\/code><\/pre>\n\n\n\n<p>To expose a container port, use the <code>docker run <\/code>options, <code><strong>-p &lt;host-port&gt;:&lt;container-port&gt;<\/strong><\/code>. See example command below to expose MariaDB container port 3306 via the host using the same port;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker run --name mariadbdemoport -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mariadb<\/code><\/pre>\n\n\n\n<p>If you need to use the same names for the container, just stop the existing container and remove it and relaunch new container using the same name.<\/p>\n\n\n\n<p>Let us verify the port exposure<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker ps<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES\n3489ce131cce        mariadb             \"docker-entrypoint.s\u2026\"   4 minutes ago       Up 2 seconds        0.0.0.0:3306-&gt;3306\/tcp   mariadbdemoport\nce03099cfffa        mariadb             \"docker-entrypoint.s\u2026\"   About an hour ago   Up 40 seconds       3306\/tcp                 mariadbdemo<\/code><\/pre>\n\n\n\n<p>If you check on the <strong>PORTS<\/strong> column, you realize for our new container, the container port is exposed on port 3306 on the host and is listening on all interfaces;<\/p>\n\n\n\n<p>If you need to specify the IP address of the host, use <strong><code>-p host-IP-address:Port:&lt;container-port&gt;<\/code><\/strong>.<\/p>\n\n\n\n<p>Checking the listening ports on the host again;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>ss -altnp | grep 3306<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>LISTEN   0        4096                   *:3306                *:*<\/code><\/pre>\n\n\n\n<p>If you need to map the container port to a dynamic host port, use the option;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>-p &lt;container-port&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker run --name mariadbdemo-dport -p 3306 -e MYSQL_ROOT_PASSWORD=password -d mariadb<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES\n<strong>bee9f036aedd        mariadb             \"docker-entrypoint.s\u2026\"   8 seconds ago       Up 3 seconds        0.0.0.0:32768-&gt;3306\/tcp   mariadbdemo-dport<\/strong>\n3489ce131cce        mariadb             \"docker-entrypoint.s\u2026\"   12 minutes ago      Up 7 minutes        0.0.0.0:3306-&gt;3306\/tcp    mariadbdemoport\nce03099cfffa        mariadb             \"docker-entrypoint.s\u2026\"   About an hour ago   Up 8 minutes        3306\/tcp                  mariadbdemo<\/code><\/pre>\n\n\n\n<p>As you can see, the container port is exposed on dynamic port 32768.<\/p>\n\n\n\n<p>You can always find what dynamic port the container port is mapped to using the <code><strong>docker port<\/strong><\/code> command;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker port mariadbdemo-dport<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code><strong>3306\/tcp -&gt; 0.0.0.0:32768<\/strong><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Setting Persisting Data Volume for MariaDB Docker Container<\/h3>\n\n\n\n<p>When a container is removed, all if its data it had written to its internal volumes are removed as well. To ensure data is persistent across container deletes, you can map MariaDB Docker container internal volume to some host directory.<\/p>\n\n\n\n<p>To bind an internal Docker volume to an external host volume, use the <code><strong>-v &lt;host-directory&gt;:&lt;container-directory&gt;<\/strong><\/code> option of <strong><code>docker run<\/code><\/strong> command.<\/p>\n\n\n\n<p>The default data directory for MariaDB container is <code><strong>\/var\/lib\/mysql<\/strong><\/code>.<\/p>\n\n\n\n<p>For example, if I want the container data to be written to my host directory <code><strong>\/opt\/mariadb\/data<\/strong><\/code>, the  first create the directory and run a container mapping the data directories using the <code><strong>-v<\/strong><\/code> option.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>mkdir -p \/opt\/mariadb\/data<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker run --name mariadbdemo-volume -v \/opt\/mariadb\/data:\/var\/lib\/mysql -e MYSQL_ROOT_PASSWORD=password -d mariadb<\/code><\/pre>\n\n\n\n<p>Therefore, any container data that is written to the container data directory, <code><strong>\/var\/lib\/mysql<\/strong><\/code>, will be written to the data directory on host, <code>\/opt\/mariadb\/data<\/code> at the same time.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Stop, Pause, Restart Remove Docker Container<\/h3>\n\n\n\n<p>To stop a running container, use the <code><strong>docker stop<\/strong><\/code> command;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker stop [option] &lt;name|id&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker stop mariadbdemo<\/code><\/pre>\n\n\n\n<p>You can stop all containers using their ids;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker stop $(docker ps -q)<\/code><\/pre>\n\n\n\n<p>Once you are done with a container, you can choose to remove it;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker rm [option] &lt;name|id&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker rm mariadbdemo<\/code><\/pre>\n\n\n\n<p>To force removal;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker rm --force mariadbdemo<\/code><\/pre>\n\n\n\n<p>To pause the container;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker pause mariadbdemo<\/code><\/pre>\n\n\n\n<p>To restart;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker restart mariadbdemo<\/code><\/pre>\n\n\n\n<p>To list docker volumes;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker volume ls<\/code><\/pre>\n\n\n\n<p>Find specific docker container volume using <code>docker inspect<\/code> command.<\/p>\n\n\n\n<p>Remove specific volume;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>docker volume rm volume-name<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Reference<\/h3>\n\n\n\n<p><a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/docs.docker.com\/engine\/reference\/commandline\/docker\/\" target=\"_blank\" rel=\"noreferrer noopener\">Docker Documentation<\/a><\/p>\n\n\n\n<p><a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/hub.docker.com\/_\/mariadb\" target=\"_blank\" rel=\"noreferrer noopener\">MariaDB &#8211; Docker Hub<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Other Related Tutorials<\/h3>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/install-and-deploy-kubernetes-cluster-on-ubuntu-20-04\/\" target=\"_blank\" aria-label=\"undefined (opens in a new tab)\" rel=\"noreferrer noopener\">Install and Deploy Kubernetes Cluster on Ubuntu 20.04<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to our basic tutorial on how to install and run MariaDB as a Docker container. According to Docker website, &#8220;Docker is an open platform<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"footnotes":""},"categories":[121,1076,1077],"tags":[1000,1859,1861,136,1858,1860,1857],"class_list":["post-6587","post","type-post","status-publish","format-standard","hentry","category-howtos","category-containers","category-docker","tag-database","tag-docker-container","tag-install-mariadb-as-a-container","tag-mariadb","tag-mariadb-container","tag-mariadb-database-container","tag-run-mariadb-as-docker-container","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50"],"_links":{"self":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/6587"}],"collection":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/comments?post=6587"}],"version-history":[{"count":7,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/6587\/revisions"}],"predecessor-version":[{"id":21504,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/6587\/revisions\/21504"}],"wp:attachment":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media?parent=6587"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/categories?post=6587"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/tags?post=6587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}