{"id":2318,"date":"2025-10-12T11:57:51","date_gmt":"2025-10-12T02:57:51","guid":{"rendered":"https:\/\/www.freelifemakers.org\/wordpress\/?p=2318"},"modified":"2025-12-21T12:58:38","modified_gmt":"2025-12-21T03:58:38","slug":"mac-how-to-use-dockermac","status":"publish","type":"post","link":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/2025\/10\/12\/mac-how-to-use-dockermac\/","title":{"rendered":"[Mac]\ub3c4\ucee4 \uc0ac\uc6a9\ubc95 \/ How to use Docker"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>1.\ud575\uc2ec \uac1c\ub150 <\/strong>\/ key concepts<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc774\ubbf8\uc9c0(Image)<\/strong>: \ucee8\ud14c\uc774\ub108\ub97c \ub9cc\ub4dc\ub294 \ub370 \ud544\uc694\ud55c \ubaa8\ub4e0 \ud30c\uc77c\uacfc \uc124\uc815\uc744 \ud3ec\ud568\ud558\ub294&nbsp;<strong>\uc77d\uae30 \uc804\uc6a9 \ud15c\ud50c\ub9bf<\/strong>\uc785\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4,&nbsp;<code>ubuntu<\/code>&nbsp;\uc774\ubbf8\uc9c0\uc5d0\ub294 \uc6b0\ubd84\ud22c \uc6b4\uc601\uccb4\uc81c\uc758 \ucd5c\uc18c \ud30c\uc77c \uc2dc\uc2a4\ud15c\uc774 \ub4e4\uc5b4 \uc788\uace0,&nbsp;<code>python:3.9<\/code>&nbsp;\uc774\ubbf8\uc9c0\uc5d0\ub294 \ud30c\uc774\uc36c 3.9\uac00 \uc124\uce58\ub41c \ud658\uacbd\uc774 \ub2f4\uaca8 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ubbf8\uc9c0\ub294 Docker Hub\uc640 \uac19\uc740 \ub808\uc9c0\uc2a4\ud2b8\ub9ac\uc5d0\uc11c \ub2e4\uc6b4\ub85c\ub4dc\ud558\uac70\ub098, Dockerfile\uc744 \uc0ac\uc6a9\ud574 \uc9c1\uc811 \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br>Image: A read-only template containing all the files and settings needed to create a container. For example, the ubuntu image contains a minimal filesystem for the Ubuntu operating system, while the python:3.9 image contains an environment with Python 3.9 installed. Images can be downloaded from registries like Docker Hub, or built directly using a Dockerfile.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ucee8\ud14c\uc774\ub108(Container)<\/strong>: \uc774\ubbf8\uc9c0\uc758&nbsp;<strong>\uc2e4\ud589 \uac00\ub2a5\ud55c \uc778\uc2a4\ud134\uc2a4<\/strong>\uc785\ub2c8\ub2e4. \uc774\ubbf8\uc9c0\ub97c \ud1b5\ud574 \uc0dd\uc131\ub41c \ub3c5\ub9bd\uc801\uc778 \uc2e4\ud589 \ud658\uacbd\uc774\uba70, \uac00\ubccd\uace0 \uaca9\ub9ac\ub418\uc5b4 \uc788\uc5b4 \ud2b9\uc815 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc2e4\ud589\ud558\ub294 \ub370 \ucd5c\uc801\ud654\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<br>Container: A runnable instance of an image. It&#8217;s a self-contained execution environment created from an image, lightweight and isolated, optimized for running a specific application.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Dockerfile<\/strong>: \uc774\ubbf8\uc9c0\ub97c \ub9cc\ub4e4\uae30 \uc704\ud55c&nbsp;<strong>\uba85\ub839\uc5b4 \uc2a4\ud06c\ub9bd\ud2b8<\/strong>\uc785\ub2c8\ub2e4. \uc5b4\ub5a4 OS\ub97c \uae30\ubc18\uc73c\ub85c \ud560\uc9c0, \uc5b4\ub5a4 \ud30c\uc77c\uc744 \ucd94\uac00\ud560\uc9c0, \uc5b4\ub5a4 \ud504\ub85c\uadf8\ub7a8\uc744 \uc124\uce58\ud560\uc9c0 \ub4f1\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.&nbsp;<code>docker build<\/code>&nbsp;\uba85\ub839\uc5b4\ub97c \ud1b5\ud574 Dockerfile\ub85c\ubd80\ud130 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.<br>Dockerfile: A command script for building an image. It defines the operating system to be used, the files to be added, and the programs to be installed. The docker build command creates an image from the Dockerfile.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Docker Hub<\/strong>: \uc804 \uc138\uacc4 \uac1c\ubc1c\uc790\ub4e4\uc774 \ub9cc\ub4e0 \uc774\ubbf8\uc9c0\ub97c \uacf5\uc720\ud558\ub294&nbsp;<strong>\uacf5\uc2dd \ub808\uc9c0\uc2a4\ud2b8\ub9ac<\/strong>\uc785\ub2c8\ub2e4.<br>Docker Hub: The official registry where developers around the world share images.<\/li>\n\n\n\n<li><a href=\"https:\/\/hub.docker.com\/\">https:\/\/hub.docker.com\/<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2.\uae30\ubcf8 \uba85\ub839\uc5b4<\/strong> \/ basic commands<\/h3>\n\n\n\n<p>\ud130\ubbf8\ub110(\ub610\ub294 \uba85\ub839 \ud504\ub86c\ud504\ud2b8)\uc5d0\uc11c \uc544\ub798 \uba85\ub839\uc5b4\ub4e4\uc744 \uc9c1\uc811 \uc2e4\ud589\ud574 \ubcf4\uc138\uc694.<br>Try running the commands below directly in the terminal (or command prompt).<\/p>\n\n\n\n<p><strong>1. Docker \uc0c1\ud0dc \ud655\uc778<\/strong> \/ Check Docker status<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>docker --version<\/code>: Docker \ubc84\uc804 \ud655\uc778 \/ Check Docker version<\/li>\n\n\n\n<li><code>docker info<\/code>: Docker \uc2dc\uc2a4\ud15c \uc804\uccb4 \uc815\ubcf4 \ud655\uc778 \/ Check the entire Docker system information<\/li>\n<\/ul>\n\n\n\n<p><strong>2. \uc774\ubbf8\uc9c0 \uad00\ub9ac<\/strong> \/ Image Management<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>docker pull [\uc774\ubbf8\uc9c0 \uc774\ub984]<\/code>: Docker Hub\uc5d0\uc11c \uc774\ubbf8\uc9c0 \ub2e4\uc6b4\ub85c\ub4dc. \/ Download the image from Docker Hub.\n<ul class=\"wp-block-list\">\n<li>\uc608:&nbsp;<code>docker pull ubuntu<\/code>&nbsp;(Ubuntu \uae30\ubcf8 \uc774\ubbf8\uc9c0 \ub2e4\uc6b4\ub85c\ub4dc \/ download Ubuntu base image)<\/li>\n\n\n\n<li>\uc608:&nbsp;<code>docker pull python:3.9<\/code>&nbsp;(\ud30c\uc774\uc36c 3.9 \uc774\ubbf8\uc9c0 \ub2e4\uc6b4\ub85c\ub4dc \/ Download Python 3.9 images)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>docker images<\/code>: \ub85c\uceec\uc5d0 \ub2e4\uc6b4\ub85c\ub4dc\ub41c \ubaa8\ub4e0 \uc774\ubbf8\uc9c0 \ubaa9\ub85d \ud655\uc778 \/ Check the list of all images downloaded locally<\/li>\n\n\n\n<li><code>docker rmi [Image ID or Name]<\/code>: \ub85c\uceec \uc774\ubbf8\uc9c0 \uc0ad\uc81c \/ Delete local image<\/li>\n<\/ul>\n\n\n\n<p><strong>3. \ucee8\ud14c\uc774\ub108 \uc2e4\ud589 \ubc0f \uad00\ub9ac<\/strong> \/ Running and managing containers<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>docker run [\uc635\uc158] [\uc774\ubbf8\uc9c0 \uc774\ub984] [\uba85\ub839\uc5b4]<\/code>: \uac00\uc7a5 \ud575\uc2ec\uc801\uc778 \uba85\ub839\uc5b4. \uc774\ubbf8\uc9c0\ub85c\ubd80\ud130 \uc0c8\ub85c\uc6b4 \ucee8\ud14c\uc774\ub108\ub97c \ub9cc\ub4e4\uace0 \uc2e4\ud589\ud569\ub2c8\ub2e4.\n<ul class=\"wp-block-list\">\n<li><strong><code>-it<\/code><\/strong>: \ucee8\ud14c\uc774\ub108\uc640 \uc0c1\ud638\uc791\uc6a9 \uac00\ub2a5\ud55c \ud130\ubbf8\ub110 \ud658\uacbd\uc744 \uc5f4\uc5b4\uc90d\ub2c8\ub2e4. (<code>-i<\/code>: \uc0c1\ud638 \uc791\uc6a9,&nbsp;<code>-t<\/code>: \ud130\ubbf8\ub110 \ud560\ub2f9)<\/li>\n\n\n\n<li><strong><code>-d<\/code><\/strong>: \ucee8\ud14c\uc774\ub108\ub97c \ubc31\uadf8\ub77c\uc6b4\ub4dc\uc5d0\uc11c \uc2e4\ud589\ud569\ub2c8\ub2e4. (detached \ubaa8\ub4dc)<\/li>\n\n\n\n<li><strong><code>-p [\ud638\uc2a4\ud2b8 \ud3ec\ud2b8]:[\ucee8\ud14c\uc774\ub108 \ud3ec\ud2b8]<\/code><\/strong>: \ud638\uc2a4\ud2b8 \ucef4\ud4e8\ud130\uc758 \ud3ec\ud2b8\uc640 \ucee8\ud14c\uc774\ub108 \ub0b4\ubd80\uc758 \ud3ec\ud2b8\ub97c \uc5f0\uacb0\ud569\ub2c8\ub2e4. (\ud3ec\ud2b8 \ub9e4\ud551)<\/li>\n\n\n\n<li><strong><code>--name [\uc774\ub984]<\/code><\/strong>: \ucee8\ud14c\uc774\ub108\uc5d0 \uc54c\uc544\ubcf4\uae30 \uc26c\uc6b4 \uc774\ub984\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>docker run [options] [image name] [command]: This is the most essential command. It creates and runs a new container from an image.<\/p>\n\n\n\n<p>-it: Opens a terminal environment for interacting with the container. (-i: interactive, -t: terminal allocation)<\/p>\n\n\n\n<p>-d: Runs the container in the background (detached mode)<\/p>\n\n\n\n<p>-p [host port]:[container port]: Links a port on the host computer to a port inside the container. (port mapping)<\/p>\n\n\n\n<p>&#8211;name [name]: Give the container a friendly name.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc2e4\uc2b51<\/strong>: \uac04\ub2e8\ud55c \ucee8\ud14c\uc774\ub108 \uc2e4\ud589 \/ Exercise 1: Running a Simple Container<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run hello-world<\/code><\/pre>\n\n\n\n<p>\uc774 \uba85\ub839\uc5b4\ub294&nbsp;<code>hello-world<\/code>&nbsp;\uc774\ubbf8\uc9c0\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud558\uc5ec \ucee8\ud14c\uc774\ub108\ub97c \ub9cc\ub4e4\uace0 \uc2e4\ud589\ud558\uba70, &#8220;Hello from Docker!&#8221; \uba54\uc2dc\uc9c0\ub97c \ucd9c\ub825\ud569\ub2c8\ub2e4.<br>This command downloads the hello-world image, creates a container, runs it, and prints the message &#8220;Hello from Docker!&#8221;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"954\" src=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker1-1024x954.png\" alt=\"\" class=\"wp-image-2320\" srcset=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker1-1024x954.png 1024w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker1-300x279.png 300w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker1-768x715.png 768w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker1.png 1140w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc2e4\uc2b52<\/strong>: Ubuntu \ucee8\ud14c\uc774\ub108\uc5d0\uc11c bash \uc178 \uc5f4\uae30 \/ Exercise 2: Opening a Bash Shell in an Ubuntu Container<\/li>\n\n\n\n<li>\uc544\ub798\uc758 \uba85\ub839\uc5b4\uc5d0\uc11c bash\ub300\uc2e0 sh\ub3c4 \uac00\ub2a5<br>In the command below, sh can also be used instead of bash.<\/li>\n\n\n\n<li>ubuntu\ub294 \uc774\ubbf8\uc9c0 \uc774\ub984\uc774\uba70 \ucee8\ud14c\uc774\ub108 \uc774\ub984\uc544\ub2d8.<br>ubuntu is the image name, not the container name.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -it ubuntu bash <\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ucee8\ud14c\uc774\ub108 \ub0b4\ubd80\ub85c \ub4e4\uc5b4\uac00 \ud130\ubbf8\ub110\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.&nbsp;<code>exit<\/code>\ub97c \uc785\ub825\ud558\uba74 \ucee8\ud14c\uc774\ub108\uc5d0\uc11c \ub098\uc635\ub2c8\ub2e4.<br>You can enter the container and use the terminal. Type exit to exit the container.<br>\u2b50\ufe0f \uc774\ubbf8 \uc2e4\ud589\ub418\uace0 \uc788\ub294 \ucee8\ud14c\uc774\ub108\uc5d0 \uc811\uc18d\ud558\ub824\uba74 \uc544\ub798\ucc98\ub7fc \uc2e4\ud589\ud558\uba74 \ub429\ub2c8\ub2e4.<br>To connect to a container that is not running, run the following:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"957\" src=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker2-1024x957.png\" alt=\"\" class=\"wp-image-2321\" srcset=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker2-1024x957.png 1024w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker2-300x280.png 300w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker2-768x718.png 768w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker2.png 1134w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc2e4\uc2b53<\/strong>: \ubc31\uadf8\ub77c\uc6b4\ub4dc\uc5d0\uc11c Nginx \uc6f9 \uc11c\ubc84 \uc2e4\ud589(\uc0c8 \ucee8\ud14c\uc774\ub108)<br>Exercise 3: Running an Nginx Web Server in the Background(New Container)<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --name my-nginx -d -p 8080:80 nginx<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>docker ps<\/code>: \ud604\uc7ac \uc2e4\ud589 \uc911\uc778 \ucee8\ud14c\uc774\ub108 \ubaa9\ub85d \ud655\uc778 (<code>-a<\/code>&nbsp;\uc635\uc158\uc744 \ucd94\uac00\ud558\uba74 \uc885\ub8cc\ub41c \ucee8\ud14c\uc774\ub108\uae4c\uc9c0 \ubaa8\ub450 \ud655\uc778)<br>docker ps: List currently running containers (add the -a option to list all terminated containers)<\/li>\n\n\n\n<li><code>docker stop [\ucee8\ud14c\uc774\ub108 ID \ub610\ub294 \uc774\ub984]<\/code>: \uc2e4\ud589 \uc911\uc778 \ucee8\ud14c\uc774\ub108 \uc911\uc9c0<br>docker stop [container ID or name]: Stop a running container<\/li>\n\n\n\n<li><code>docker start [\ucee8\ud14c\uc774\ub108 ID \ub610\ub294 \uc774\ub984]<\/code>: \uc911\uc9c0\ub41c \ucee8\ud14c\uc774\ub108 \ub2e4\uc2dc \uc2dc\uc791<br>docker start [container ID or name]: Restart a stopped container<\/li>\n\n\n\n<li><code>docker rm [\ucee8\ud14c\uc774\ub108 ID \ub610\ub294 \uc774\ub984]<\/code>: \ucee8\ud14c\uc774\ub108 \uc0ad\uc81c<br>docker rm [container ID or name]: Delete a container<\/li>\n\n\n\n<li>\u2b50\ufe0f \ub3c4\ucee4 \ucee8\ud14c\uc774\ub108\ub294 docker run \uc2e4\ud589\ud560\ub54c \uc124\uc815\uc744 \uc801\uc6a9\ud569\ub2c8\ub2e4. \uadf8\ub798\uc11c \ub3c4\ucee4\ub97c \uc911\uc9c0\ud588\ub2e4\uac00 docker start\ub85c \uc7ac\uc2e4\ud589\uc2dc \uc124\uc815\uc744 \ubc14\uafc0 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<br>Docker containers apply their settings when they run with docker run . Therefore, if you stop Docker and then restart it with docker start , you can&#8217;t change the settings.<\/li>\n\n\n\n<li>\u2b50\ufe0f \ub9cc\uc57d\uc5d0 \uc124\uc815\uc744 \ubc14\uafb8\uace0 \uc2f6\ub2e4\uba74 docker run\uc744 \uc2e4\ud589\ud574\uc11c \ucee8\ud14c\uc774\ub108\ub97c \ub2e4\uc2dc \ub9cc\ub4e4\uc5b4\uc57c \ud569\ub2c8\ub2e4.<br>If you want to change the settings, you need to recreate the container by running docker run.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"466\" src=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker4-1024x466.png\" alt=\"\" class=\"wp-image-2325\" srcset=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker4-1024x466.png 1024w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker4-300x136.png 300w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker4-768x349.png 768w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker4-1536x698.png 1536w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker4.png 1698w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"429\" src=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker3-1024x429.png\" alt=\"\" class=\"wp-image-2324\" srcset=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker3-1024x429.png 1024w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker3-300x126.png 300w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker3-768x322.png 768w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker3-1536x643.png 1536w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker3-2048x858.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ucee8\ud14c\uc774\ub108 \uc815\uc9c0 \uc2dc\ud0a4\uae30 \/ Stop the container<\/li>\n<\/ul>\n\n\n\n<p>&#8212; docker ps : \ud604\uc7ac \uc2e4\ud589\ub418\uace0 \uc788\ub294 \ucee8\ud14c\uc774\ub108 \ubaa9\ub85d \ud655\uc778 <br>docker ps: Check the list of currently running containers<\/p>\n\n\n\n<p>&#8212; docker stop [NAMES or CONTAINOR ID] : \ucee8\ud14c\uc774\ub108 \uc815\uc9c0 \uc2dc\ud0a4\uae30 <br>docker stop [NAMES or CONTAINOR ID] : Stop containers<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>% docker ps\nCONTAINER ID   IMAGE     COMMAND                   CREATED       STATUS       PORTS                                     NAMES\n7a7a6681f11e   nginx     \"\/docker-entrypoint.\u2026\"   3 hours ago   Up 3 hours   0.0.0.0:8080-&gt;80\/tcp, &#91;::]:8080-&gt;80\/tcp   my-nginx\n\n% docker stop my-nginx\nmy-nginx\n\n~ % \n\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc815\uc9c0\ub41c \ucee8\ud14c\uc774\ub108 \ub2e4\uc2dc \uc2dc\uc791 \/ Restart a stopped container<\/li>\n<\/ul>\n\n\n\n<p>&#8212; docker ps -a : <br><strong>\uc2e4\ud589 \uc911\uc778 \ucee8\ud14c\uc774\ub108\ubfd0\ub9cc \uc544\ub2c8\ub77c,<\/strong>&nbsp;\uc774\uc804\uc5d0 \uc2e4\ud589\ub418\uc5c8\ub2e4\uac00 \ud604\uc7ac&nbsp;<strong>\uc885\ub8cc(Exited)\ub41c \ucee8\ud14c\uc774\ub108\uae4c\uc9c0 \ud3ec\ud568\ud558\uc5ec<\/strong>&nbsp;\ub3c4\ucee4\uac00 \uad00\ub9ac\ud558\ub294&nbsp;<strong>\ubaa8\ub4e0<\/strong>&nbsp;\ucee8\ud14c\uc774\ub108 \ubaa9\ub85d\uc744 \ubcf4\uc5ec\ub2ec\ub77c\ub294 \uc635\uc158\uc785\ub2c8\ub2e4.<br>This option displays a list of all containers managed by Docker, including not only running containers but also containers that were previously running but have now exited.<\/p>\n\n\n\n<p>&#8212; docker start [NAMES or CONTAINER ID] : \uc815\uc9c0\ub41c \ucee8\ud14c\uc774\ub108 \ub2e4\uc2dc \uc2dc\uc791 \/ Restart a stopped container<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\n\n% docker ps\nCONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES\n\n% docker ps -a\nCONTAINER ID   IMAGE                             COMMAND                   CREATED       STATUS                      PORTS     NAMES\n7a7a6681f11e   nginx                             \"\/docker-entrypoint.\u2026\"   4 hours ago   Exited (0) 53 seconds ago             my-nginx\n83ce2c293201   ubuntu                            \"bash\"                    4 hours ago   Exited (0) 4 hours ago                lucid_hoover\n8dbae314cb2e   hello-world                       \"\/hello\"                  4 hours ago   Exited (0) 4 hours ago                optimistic_gagarin\nb6f41ebadd23   docker\/welcome-to-docker:latest   \"\/docker-entrypoint.\u2026\"   3 weeks ago   Exited (0) 4 hours ago                welcome-to-docker\n\n% docker start my-nginx\nmy-nginx\n\n% \n\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ucee8\ud14c\uc774\ub108 \uc601\uad6c \uc0ad\uc81c \/ Permanently delete container<\/li>\n<\/ul>\n\n\n\n<p>&#8212; docker rm [NAMES or CONTAINER ID]<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>% docker rm my-nginx\nmy-nginx\n\n% docker ps -a\nCONTAINER ID   IMAGE                             COMMAND                   CREATED       STATUS                   PORTS     NAMES\n83ce2c293201   ubuntu                            \"bash\"                    4 hours ago   Exited (0) 4 hours ago             lucid_hoover\n8dbae314cb2e   hello-world                       \"\/hello\"                  4 hours ago   Exited (0) 4 hours ago             optimistic_gagarin\nb6f41ebadd23   docker\/welcome-to-docker:latest   \"\/docker-entrypoint.\u2026\"   3 weeks ago   Exited (0) 4 hours ago             welcome-to-docker\n\n% <\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3.Dockerfile\ub85c \ucee4\uc2a4\ud140 \uc774\ubbf8\uc9c0 \ub9cc\ub4e4\uae30<br>Creating a custom image with a Dockerfile<\/h2>\n\n\n\n<p>&#8211;\ud504\ub85c\uc81d\ud2b8 \ud3f4\ub354\ub97c \ub9cc\ub4e4\uace0 \uadf8 \uc548\uc5d0 **<code>Dockerfile<\/code>**\uc774\ub77c\ub294 \uc774\ub984\uc758 \ud30c\uc77c\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.<br>Create a project folder and create a file named <strong>Dockerfile<\/strong> inside it.<\/p>\n\n\n\n<p>&#8211;\uac04\ub2e8\ud55c \uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc704\ud55c Dockerfile \uc608\uc2dc\ub97c \uc791\uc131\ud574 \ubcf4\uc138\uc694.<br>Write an example Dockerfile for a simple web application.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># 1\ub2e8\uacc4: Node.js 14 \uae30\ubc18 \uc774\ubbf8\uc9c0\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.\n# Step 1: Use a Node.js 14 based image.\nFROM node:14\n\n# 2\ub2e8\uacc4: \ucee8\ud14c\uc774\ub108 \ub0b4\ubd80\uc758 \uc791\uc5c5 \ub514\ub809\ud1a0\ub9ac\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n# Step 2: Set up a working directory inside the container\nWORKDIR \/app\n\n# 3\ub2e8\uacc4: \ub85c\uceec\uc758 package.json\uacfc package-lock.json\uc744 \ucee8\ud14c\uc774\ub108\ub85c \ubcf5\uc0ac\ud569\ub2c8\ub2e4.\n# Step 3: Copy local package.json and package-lock.json to the container.\nCOPY package*.json .\/\n\n# 4\ub2e8\uacc4: \ud544\uc694\ud55c \ubaa8\ub4c8\uc744 \uc124\uce58\ud569\ub2c8\ub2e4.\n# Step 4: Install the required modules.\nRUN npm install\n\n# 5\ub2e8\uacc4: \ub85c\uceec\uc758 \ubaa8\ub4e0 \ud30c\uc77c\uc744 \ucee8\ud14c\uc774\ub108\ub85c \ubcf5\uc0ac\ud569\ub2c8\ub2e4.\n# Step 5: Copy all local files to the container.\nCOPY . .\n\n# 6\ub2e8\uacc4: \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc0ac\uc6a9\ud560 \ud3ec\ud2b8\ub97c \ub178\ucd9c\ud569\ub2c8\ub2e4.\n# Step 6: Expose the ports your application will use.\nEXPOSE 3000\n\n# 7\ub2e8\uacc4: \ucee8\ud14c\uc774\ub108\uac00 \uc2dc\uc791\ub420 \ub54c \uc2e4\ud589\ud560 \uba85\ub839\uc5b4\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.\n# Step 7: Define the command to run when the container starts.\nCMD &#91;\"node\", \"app.js\"]<\/code><\/pre>\n\n\n\n<p>&#8212; app.js\ud30c\uc77c\uc744 \ub9cc\ub4e4\uace0 \ub2e4\uc74c \ucf54\ub4dc\ub97c \uc785\ub825\ud569\ub2c8\ub2e4.<br>Create a file called app.js and enter the following code:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Node.js\uc758 \ub0b4\uc7a5 \ubaa8\ub4c8\uc778 'http'\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\/\/ Import 'http', a built-in module of Node.js.\nconst http = require(\"http\");\n\n\/\/ \uc11c\ubc84\uac00 \uc0ac\uc6a9\ud560 \ud3ec\ud2b8 \ubc88\ud638\ub97c \uc815\uc758\ud569\ub2c8\ub2e4. (Dockerfile\uc758 EXPOSE 3000\uacfc \uc77c\uce58)\nconst port = 3000;\n\n\/\/ \uc11c\ubc84 \uc694\uccad\uc5d0 \ub300\ud55c \uc751\ub2f5\uc744 \ucc98\ub9ac\ud560 \ud568\uc218\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.\n\/\/ Define the port number the server will use (matching EXPOSE 3000 in the Dockerfile)\nconst requestListener = function (req, res) {\n\n  \/\/ \uc751\ub2f5 \ud5e4\ub354 \uc124\uc815: \uc0c1\ud0dc \ucf54\ub4dc 200(\uc131\uacf5), \ucf58\ud150\uce20 \ud0c0\uc785\uc740 \uc77c\ubc18 \ud14d\uc2a4\ud2b8\n\/\/ Set response headers: status code 200 (success), content type plain text\n  res.writeHead(200, { \"Content-Type\": \"text\/plain\" });\n\n  \/\/ \uc751\ub2f5 \ubcf8\ubb38 \uc791\uc131\n  \/\/ Write response body\n  res.end(\n    \"Hello Docker World! The Node.js application is running inside a container.\",\n  );\n};\n\n\/\/ \uc11c\ubc84 \uac1d\uccb4\ub97c \uc0dd\uc131\ud558\uace0 \uc694\uccad \ub9ac\uc2a4\ub108 \ud568\uc218\ub97c \uc5f0\uacb0\ud569\ub2c8\ub2e4.\n\/\/ Create a server object and attach a request listener function to it.\nconst server = http.createServer(requestListener);\n\n\/\/ \uc9c0\uc815\ub41c \ud3ec\ud2b8\uc5d0\uc11c \uc11c\ubc84\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4.\n\/\/ Start the server on the specified port.\nserver.listen(port, () =&gt; {\n  console.log(`Server is running successfully on port ${port}`);\n  console.log(\n    \"You can access it via http:\/\/localhost:8080 (or your mapped port) on your host machine.\",\n  );\n});\n<\/code><\/pre>\n\n\n\n<p>&#8211;\ud130\ubbf8\ub110\uc5d0\uc11c Dockerfile\uc774 \uc788\ub294 \ub514\ub809\ud130\ub9ac\ub85c \uc774\ub3d9\ud55c \ud6c4, \ub2e4\uc74c \uba85\ub839\uc5b4\ub97c \uc2e4\ud589\ud558\uc5ec \uc774\ubbf8\uc9c0\ub97c \ub9cc\ub4ed\ub2c8\ub2e4.<br>In the terminal, navigate to the directory containing the Dockerfile and run the following command to create the image.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker build -t my-web-app .<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>-t<\/code> : \uc774\ubbf8\uc9c0\uc5d0 \ud0dc\uadf8(\uc774\ub984)\ub97c \uc9c0\uc815\ud569\ub2c8\ub2e4. \/ Tag (name) the image.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>.<\/code> : \ud604\uc7ac \ub514\ub809\ud130\ub9ac\uc5d0\uc11c Dockerfile\uc744 \ucc3e\uc73c\ub77c\ub294 \uc758\ubbf8\uc785\ub2c8\ub2e4 \/ This means find the Dockerfile in the current directory.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>&#8211;\ub9cc\ub4e0 \uc774\ubbf8\uc9c0\ub97c \uae30\ubc18\uc73c\ub85c \ucee8\ud14c\uc774\ub108\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4.<br>Run a container based on the created image.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -p 3000:3000 my-web-app<\/code><\/pre>\n\n\n\n<p>&#8212; \ud130\ubbf8\ub110\uc5d0\uc11c \uc2e4\ud589\uacb0\uacfc \/ Execution result in terminal<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> % docker build -t my-web-app .      \n&#91;+] Building 0.9s (10\/10) FINISHED                                                                                                                       docker:desktop-linux\n =&gt; &#91;internal] load build definition from Dockerfile                                                                                                                     0.0s\n =&gt; =&gt; transferring dockerfile: 647B                                                                                                                                     0.0s\n =&gt; &#91;internal] load metadata for docker.io\/library\/node:14                                                                                                               0.8s\n =&gt; &#91;internal] load .dockerignore                                                                                                                                        0.0s\n =&gt; =&gt; transferring context: 2B                                                                                                                                          0.0s\n =&gt; &#91;1\/5] FROM docker.io\/library\/node:14@sha256:a158d3b9b4e3fa813fa6c8c590b8f0a860e015ad4e59bbce5744d2f6fd8461aa                                                         0.0s\n =&gt; =&gt; resolve docker.io\/library\/node:14@sha256:a158d3b9b4e3fa813fa6c8c590b8f0a860e015ad4e59bbce5744d2f6fd8461aa                                                         0.0s\n =&gt; &#91;internal] load build context                                                                                                                                        0.0s\n =&gt; =&gt; transferring context: 1.06kB                                                                                                                                      0.0s\n =&gt; CACHED &#91;2\/5] WORKDIR \/app                                                                                                                                            0.0s\n =&gt; CACHED &#91;3\/5] COPY package*.json .\/                                                                                                                                   0.0s\n =&gt; CACHED &#91;4\/5] RUN npm install                                                                                                                                         0.0s\n =&gt; &#91;5\/5] COPY . .                                                                                                                                                       0.0s\n =&gt; exporting to image                                                                                                                                                   0.0s\n =&gt; =&gt; exporting layers                                                                                                                                                  0.0s\n =&gt; =&gt; exporting manifest sha256:85276568c119fe3721fa29d7102b10c2c06f68eac9c521830a3eebecba68b765                                                                        0.0s\n =&gt; =&gt; exporting config sha256:0dae21a620be9964866ab6d4472c820451023fc9b5023c344a93bf77b133a776                                                                          0.0s\n =&gt; =&gt; exporting attestation manifest sha256:c800ea2474841fafeaff46bee6b5904821ccd97e1c68891439d7323eaacdfd44                                                            0.0s\n =&gt; =&gt; exporting manifest list sha256:2ff4335b5ba49fc09c05ce34e644062d7e182792abe04e39e6012ce69f3147bd                                                                   0.0s\n =&gt; =&gt; naming to docker.io\/library\/my-web-app:latest                                                                                                                     0.0s\n =&gt; =&gt; unpacking to docker.io\/library\/my-web-app:latest                                                                                                                  0.0s\n\nView build details: docker-desktop:\/\/dashboard\/build\/desktop-linux\/desktop-linux\/xgm7aa3xjeuf4ts6nwyqmwdxr\ngimdaegyeong@gimdaegyeong-ui-MacBookAir docker % docker run -p 3000:3000 my-web-app\nServer is running successfully on port 3000\nYou can access it via http:\/\/localhost:8080 (or your mapped port) on your host machine.\n^C^C^C\ngot 3 SIGTERM\/SIGINTs, forcefully exiting\n\n\n% docker ps \nCONTAINER ID   IMAGE        COMMAND                   CREATED          STATUS          PORTS                                         NAMES\n9450cae56a9a   my-web-app   \"docker-entrypoint.s\u2026\"   47 seconds ago   Up 46 seconds   0.0.0.0:3000-&gt;3000\/tcp, &#91;::]:3000-&gt;3000\/tcp   hungry_turing\n\n% docker stop hungry_turing\nhungry_turing\n\n% docker run -p 3000:3000 my-web-app\nServer is running successfully on port 3000\nYou can access it via http:\/\/localhost:8080 (or your mapped port) on your host machine.\n<\/code><\/pre>\n\n\n\n<p>&#8212; \ube0c\ub77c\uc6b0\uc800 \uc2e4\ud589\uacb0\uacfc \/ Browser execution result<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"435\" src=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker5-1024x435.png\" alt=\"\" class=\"wp-image-2350\" srcset=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker5-1024x435.png 1024w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker5-300x127.png 300w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker5-768x326.png 768w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker5.png 1366w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>&#8212; \ub3c4\ucee4 \ub370\uc2a4\ud06c\ud0d1 \ucee8\ud14c\uc774\ub108  \/ docker desktop container<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"470\" src=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker6-containers-1024x470.png\" alt=\"\" class=\"wp-image-2353\" srcset=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker6-containers-1024x470.png 1024w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker6-containers-300x138.png 300w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker6-containers-768x352.png 768w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker6-containers-1536x704.png 1536w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker6-containers-2048x939.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>&#8212; \ub3c4\ucee4\ub370\uc2a4\ud06c\ud0d1 \uc774\ubbf8\uc9c0 \/ Docker Desktop Image<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"461\" src=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker7-images-1024x461.png\" alt=\"\" class=\"wp-image-2354\" srcset=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker7-images-1024x461.png 1024w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker7-images-300x135.png 300w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker7-images-768x345.png 768w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker7-images-1536x691.png 1536w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/docker7-images-2048x921.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\ud83d\udc49\ud83c\udffb \ub9e5\uc5d0\uc11c\ub294 \ub3c4\ucee4\ub370\uc2a4\ud06c\ud0d1\uc744 \uc2e4\ud589\ud574\uc57c \uba85\ub839\uc5b4\ub864 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc74c.(\ub9ac\ub205\uc2a4\ub294 \ub3c4\ucee4\ub370\uc2a4\ud06c\ud0d1\uc5c6\uc774 \ub3c4\ucee4\uc5d4\uc9c4\ub9cc\uc73c\ub85c \uc0ac\uc6a9\uac00\ub2a5 \ud568.)<br>On Mac, you need to run Docker Desktop to use the command. (Linux can be used with only Docker Engine without Docker Desktop.)<\/p>\n\n\n\n<p>\ud83d\udc49\ud83c\udffb \ub3c4\ucee4 \uc774\ubbf8\uc9c0 \uc555\ucd95\ud30c\uc77c \ub9cc\ub4e4\uae30(\uc774\ub3d9 \ubc0f \uc11c\ubc84 \uc5c5\ub85c\ub4dc)<br>Creating a Docker image archive (moving and uploading to a server)<\/p>\n\n\n\n<p>&#8212; \uc555\ucd95: \uc774\uacbd\uc6b0 \ub85c\uceec \uc800\uc7a5\uc18c\uc5d0 \uc774\ubbf8\uc9c0\uac00 \uc788\uc5b4\uc57c\ud568.<br>Compression: In this case, the image must be in local storage.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker save -o myapp.tar hello-world   \n<\/code><\/pre>\n\n\n\n<p>&#8212; \uc774\ubbf8\uc9c0\ub97c \uc11c\ubc84\uc758 \ub85c\uceec \uc800\uc7a5\uc18c\uc5d0 \ucd94\uac00\ud558\uae30<br>Adding an image to the server&#8217;s local storage<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker load -i myapp.tar<\/code><\/pre>\n\n\n\n<p>\ud83d\udc49\ud83c\udffb\ub3c4\ucee4 \uc774\ubbf8\uc9c0 \uc6a9\ub7c9 \ud655\uc778\ud558\uae30<br>Checking Docker Image Capacity<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker system df<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1.\ud575\uc2ec \uac1c\ub150 \/ key concepts 2.\uae30\ubcf8 \uba85\ub839\uc5b4 \/ basic commands \ud130\ubbf8\ub110(\ub610\ub294 \uba85\ub839 \ud504\ub86c\ud504\ud2b8)\uc5d0\uc11c \uc544\ub798 \uba85\ub839\uc5b4\ub4e4\uc744 \uc9c1\uc811 \uc2e4\ud589\ud574 \ubcf4\uc138\uc694.Try running the commands below directly in the terminal (or command prompt). 1. Docker \uc0c1\ud0dc \ud655\uc778 \/ Check Docker status 2. \uc774\ubbf8\uc9c0 \uad00\ub9ac \/ Image Management 3. \ucee8\ud14c\uc774\ub108 \uc2e4\ud589 \ubc0f \uad00\ub9ac \/ Running and managing containers docker run [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,18,1],"tags":[],"class_list":["post-2318","post","type-post","status-publish","format-standard","hentry","category-linux","category-serverapp","category-uncategorized","missing-thumbnail"],"_links":{"self":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/2318","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=2318"}],"version-history":[{"count":72,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/2318\/revisions"}],"predecessor-version":[{"id":3206,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/2318\/revisions\/3206"}],"wp:attachment":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=2318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=2318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=2318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}