{"id":747,"date":"2025-06-21T12:17:55","date_gmt":"2025-06-21T03:17:55","guid":{"rendered":"https:\/\/blog.espresso.earth\/?p=747"},"modified":"2025-07-06T17:32:51","modified_gmt":"2025-07-06T08:32:51","slug":"docker-yaml","status":"publish","type":"post","link":"https:\/\/blog.espresso.earth\/index.php\/2025\/06\/21\/docker-yaml\/","title":{"rendered":"Docker\u306eYAML\u30d5\u30a1\u30a4\u30eb\u3068Compose V2\u306b\u3064\u3044\u3066"},"content":{"rendered":"\n<p>Docker\u306eYAML\u30d5\u30a1\u30a4\u30eb\uff08<code>docker-compose.yml<\/code>\uff09\u306f\u3001\u8907\u6570\u306e\u30b3\u30f3\u30c6\u30ca\u3092\u307e\u3068\u3081\u3066\u5b9a\u7fa9\u3057\u3001\u8d77\u52d5\u30fb\u7ba1\u7406\u3067\u304d\u308b\u4fbf\u5229\u306a\u4ed5\u7d44\u307f\u3067\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001\u305d\u306e\u66f8\u304d\u65b9\u3068\u5185\u5bb9\u3092\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u5f79\u5272\u3068\u3057\u3066\u306f\u3001\u30b3\u30f3\u30c6\u30ca\u3092\u69cb\u6210\u3059\u308b\u8a2d\u5b9a\u3092\u3001\u8a18\u8ff0\u3057\u3066\u3044\u308b\u3082\u306e\u3067\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u2705 \u524d\u63d0\u6761\u4ef6<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Docker \u304a\u3088\u3073 Docker Compose \u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6e08\u307f\u3067\u3042\u308b\u3053\u3068<\/li>\n\n\n\n<li>\u57fa\u672c\u7684\u306a\u30bf\u30fc\u30df\u30ca\u30eb\u64cd\u4f5c\u304c\u3067\u304d\u308b\u3053\u3068<\/li>\n\n\n\n<li>Docker \u30a4\u30e1\u30fc\u30b8\u3084\u30b3\u30f3\u30c6\u30ca\u306e\u6982\u5ff5\u3092\u7406\u89e3\u3057\u3066\u3044\u308b\u3053\u3068\uff08\u7c21\u5358\u306b\u8a00\u3048\u3070\u300c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5b9f\u884c\u74b0\u5883\u3092\u307e\u3068\u3081\u305f\u7bb1\u300d\uff09<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">YAML\u30d5\u30a1\u30a4\u30eb\u306e\u4e3b\u8981\u69cb\u6210<\/h2>\n\n\n\n<p>Docker Compose \u306e YAML \u30d5\u30a1\u30a4\u30eb\u306f\u3001\u4ee5\u4e0b\u306e4\u3064\u3092\u8ef8\u306b\u69cb\u6210\u3055\u308c\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>version<\/code>\uff1a\u5b9a\u7fa9\u30d5\u30a1\u30a4\u30eb\u306e\u30d0\u30fc\u30b8\u30e7\u30f3<\/li>\n\n\n\n<li><code>services<\/code>\uff1a\u30b3\u30f3\u30c6\u30ca\uff08\u30b5\u30fc\u30d3\u30b9\uff09\u306e\u5b9a\u7fa9<\/li>\n\n\n\n<li><code>networks<\/code>\uff1a\u30b5\u30fc\u30d3\u30b9\u9593\u306e\u901a\u4fe1\u8a2d\u5b9a<\/li>\n\n\n\n<li><code>volumes<\/code>\uff1a\u30c7\u30fc\u30bf\u6c38\u7d9a\u5316\u306e\u4ed5\u7d44\u307f<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">1. <code>version<\/code> \u306e\u6307\u5b9a<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>version: '3.8'\n<\/code><\/pre>\n\n\n\n<p>\u3053\u306e\u8a2d\u5b9a\u306f\u3001YAML\u30d5\u30a1\u30a4\u30eb\u306e\u8a18\u6cd5\u3084\u6a5f\u80fd\u306e\u4e92\u63db\u6027\u3092\u4fdd\u3064\u305f\u3081\u306b\u5fc5\u8981\u3067\u3059\u3002<code>3.8<\/code>\u306f\u4e00\u4f8b\u3067\u3001\u4f7f\u7528\u3059\u308bDocker Compose\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u5408\u308f\u305b\u3066\u5909\u66f4\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">2. <code>services<\/code>: \u30b3\u30f3\u30c6\u30ca\u306e\u69cb\u6210\u3068\u30dd\u30fc\u30c8\u30de\u30c3\u30d4\u30f3\u30b0<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>services:\n  web:\n    image: nginx:latest\n    ports:\n      - \"8080:80\"\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u5404\u8981\u7d20\u306e\u8aac\u660e\uff1a<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>services<\/code>: \u30b3\u30f3\u30c6\u30ca\u306e\u5f79\u5272\u3054\u3068\u306b\u307e\u3068\u3081\u308b\u5b9a\u7fa9\u30d6\u30ed\u30c3\u30af<\/li>\n\n\n\n<li><code>web<\/code>: \u30b5\u30fc\u30d3\u30b9\u540d\uff08\u4efb\u610f\uff09<\/li>\n\n\n\n<li><code>image<\/code>: \u5229\u7528\u3059\u308bDocker\u30a4\u30e1\u30fc\u30b8\uff08\u3053\u3053\u3067\u306f\u516c\u5f0f\u306e <code>nginx<\/code> \u30a4\u30e1\u30fc\u30b8\uff09<\/li>\n\n\n\n<li><code>ports<\/code>: \u30dd\u30fc\u30c8\u30de\u30c3\u30d4\u30f3\u30b0\uff08<strong>\u30db\u30b9\u30c8:\u30b3\u30f3\u30c6\u30ca<\/strong>\uff09<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">\ud83d\udd0d \u30dd\u30fc\u30c8\u30de\u30c3\u30d4\u30f3\u30b0\u3068\u306f\uff1f<\/h4>\n\n\n\n<p>\u30dd\u30fc\u30c8\u30de\u30c3\u30d4\u30f3\u30b0\u306f\u3001<strong>\u30db\u30b9\u30c8OS\u306e\u30dd\u30fc\u30c8\u3068\u30b3\u30f3\u30c6\u30ca\u5185\u306e\u30dd\u30fc\u30c8\u3092\u7e4b\u3050\u8a2d\u5b9a<\/strong>\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ports:\n  - \"8080:80\"\n<\/code><\/pre>\n\n\n\n<p>\u3053\u306e\u8a2d\u5b9a\u306f\u6b21\u306e\u3088\u3046\u306a\u610f\u5473\u306b\u306a\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u9805\u76ee<\/th><th>\u610f\u5473<\/th><\/tr><\/thead><tbody><tr><td><code>8080<\/code>\uff08\u5de6\u5074\uff09<\/td><td>\u30db\u30b9\u30c8\u5074\u306e\u30dd\u30fc\u30c8\u3002\u30d6\u30e9\u30a6\u30b6\u3067\u30a2\u30af\u30bb\u30b9\u3059\u308b\u6642\u306b\u4f7f\u3046\uff08\u4f8b\uff1a<code>http:\/\/localhost:8080<\/code>\uff09<\/td><\/tr><tr><td><code>80<\/code>\uff08\u53f3\u5074\uff09<\/td><td>\u30b3\u30f3\u30c6\u30ca\u5074\u306e\u30dd\u30fc\u30c8\u3002Nginx\u304c\u5185\u90e8\u3067\u5f85\u3061\u53d7\u3051\u3066\u3044\u308b\u30dd\u30fc\u30c8\u756a\u53f7<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u3064\u307e\u308a\u3001\u300c<strong>\u30db\u30b9\u30c8\u306e8080\u756a\u30dd\u30fc\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3055\u308c\u305f\u3089\u3001\u305d\u308c\u3092\u30b3\u30f3\u30c6\u30ca\u5185\u306e80\u756a\u30dd\u30fc\u30c8\u3078\u8ee2\u9001\u3059\u308b<\/strong>\u300d\u3068\u3044\u3046\u8a2d\u5b9a\u3067\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">\u3088\u304f\u3042\u308b\u30dd\u30fc\u30c8\u306e\u4f8b\uff1a<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u30b5\u30fc\u30d3\u30b9\u540d<\/th><th>\u30b3\u30f3\u30c6\u30ca\u5185\u306e\u30dd\u30fc\u30c8<\/th><th>\u30db\u30b9\u30c8\u3067\u4f7f\u3046\u3053\u3068\u304c\u591a\u3044\u30dd\u30fc\u30c8<\/th><th>\u7528\u9014\u4f8b<\/th><\/tr><\/thead><tbody><tr><td>Nginx<\/td><td>80<\/td><td>8080, 8000, 80<\/td><td>HTTP\uff08Web\u30b5\u30fc\u30d0\u30fc\uff09<\/td><\/tr><tr><td>MySQL<\/td><td>3306<\/td><td>3306, 3307<\/td><td>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a<\/td><\/tr><tr><td>Redis<\/td><td>6379<\/td><td>6379<\/td><td>\u30ad\u30e3\u30c3\u30b7\u30e5\u30b9\u30c8\u30a2<\/td><\/tr><tr><td>PostgreSQL<\/td><td>5432<\/td><td>5432, 5433<\/td><td>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u26a0 \u30dd\u30fc\u30c8\u304c\u7af6\u5408\u3057\u306a\u3044\u3088\u3046\u306b\u3001\u30db\u30b9\u30c8\u5074\u306e\u30dd\u30fc\u30c8\u756a\u53f7\u306f\u4ed6\u30a2\u30d7\u30ea\u3068\u88ab\u3089\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u306e\u304c\u30dd\u30a4\u30f3\u30c8\u3067\u3059\u3002<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">\u8907\u6570\u30b5\u30fc\u30d3\u30b9\u3092\u5b9a\u7fa9\u3059\u308b\u4f8b\uff1a<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>services:\n  web:\n    image: nginx:latest\n    ports:\n      - \"8080:80\"\n\n  db:\n    image: mysql:5.7\n    environment:\n      MYSQL_ROOT_PASSWORD: mypassword\n    ports:\n      - \"3307:3306\"\n<\/code><\/pre>\n\n\n\n<p>\u3053\u3053\u3067\u306f\u3001<code>web<\/code>\uff08Nginx\uff09\u3068 <code>db<\/code>\uff08MySQL\uff09\u3092\u540c\u6642\u306b\u7acb\u3061\u4e0a\u3052\u3001\u30db\u30b9\u30c8\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u30dd\u30fc\u30c8\u3092\u516c\u958b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>http:\/\/localhost:8080<\/code> \u2192 Nginx\u306eWeb\u753b\u9762<\/li>\n\n\n\n<li>MySQL\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304b\u3089<code>localhost:3307<\/code> \u2192 MySQL\u306b\u63a5\u7d9a<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">3. <code>networks<\/code>: \u30b3\u30f3\u30c6\u30ca\u9593\u901a\u4fe1\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8a2d\u5b9a<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>services:\n  web:\n    networks:\n      - app-net\n  db:\n    networks:\n      - app-net\n\nnetworks:\n  app-net:\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u8a2d\u5b9a\u306b\u3088\u308a\u3001<code>web<\/code>\u3068<code>db<\/code>\u304c\u540c\u3058\u4eee\u60f3\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u5c5e\u3059\u308b\u305f\u3081\u3001<strong>\u30b3\u30f3\u30c6\u30ca\u540d\uff08web\/db\uff09\u3067\u76f8\u4e92\u901a\u4fe1\u53ef\u80fd<\/strong>\u306b\u306a\u308a\u307e\u3059\u3002DNS\u8a2d\u5b9a\u306a\u3069\u4e0d\u8981\u3067\u3001<code>db:3306<\/code>\u3068\u66f8\u3051\u3070\u63a5\u7d9a\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">4. <code>volumes<\/code>: \u30c7\u30fc\u30bf\u306e\u6c38\u7d9a\u5316<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>services:\n  db:\n    image: mysql:5.7\n    volumes:\n      - db-store:\/var\/lib\/mysql\n\nvolumes:\n  db-store:\n<\/code><\/pre>\n\n\n\n<p>\u30dc\u30ea\u30e5\u30fc\u30e0\u306f\u3001\u30b3\u30f3\u30c6\u30ca\u3092\u524a\u9664\u3057\u3066\u3082\u30c7\u30fc\u30bf\u3092\u4fdd\u6301\u3059\u308b\u4ed5\u7d44\u307f\u3067\u3059\u3002MySQL\u306e\u30c7\u30fc\u30bf\u304c <code>\/var\/lib\/mysql<\/code> \u306b\u4fdd\u5b58\u3055\u308c\u3066\u3044\u308b\u305f\u3081\u3001\u3053\u308c\u3092\u30db\u30b9\u30c8\u5074\u306e\u6c38\u7d9a\u30dc\u30ea\u30e5\u30fc\u30e0 <code>db-store<\/code> \u306b\u30de\u30a6\u30f3\u30c8\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u26a0 YAML\u306e\u30a4\u30f3\u30c7\u30f3\u30c8\u306b\u6ce8\u610f\uff01<\/h3>\n\n\n\n<p>YAML\u30d5\u30a1\u30a4\u30eb\u3067\u306f<strong>\u30b9\u30da\u30fc\u30b9\u306e\u6570\u304c\u6587\u6cd5\u306e\u4e00\u90e8<\/strong>\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u274c \u9593\u9055\u3044\u4f8b\uff08\u30a4\u30f3\u30c7\u30f3\u30c8\u4e0d\u8db3\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>services:\n  web:\n  image: nginx:latest\n<\/code><\/pre>\n\n\n\n<p>\u2705 \u6b63\u3057\u3044\u4f8b\uff082\u30b9\u30da\u30fc\u30b9\u4ee5\u4e0a\u306e\u30a4\u30f3\u30c7\u30f3\u30c8\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>services:\n  web:\n    image: nginx:latest\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddfe \u307e\u3068\u3081<\/h2>\n\n\n\n<p>Docker Compose \u306e YAML \u30d5\u30a1\u30a4\u30eb\u306f\u3001\u8907\u6570\u306e\u30b3\u30f3\u30c6\u30ca\u3092\u6574\u7406\u3057\u3066\u7ba1\u7406\u3059\u308b\u3046\u3048\u3067\u4e0d\u53ef\u6b20\u306a\u30c4\u30fc\u30eb\u3067\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>version<\/code>\uff1a\u69cb\u6587\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u5236\u5fa1<\/li>\n\n\n\n<li><code>services<\/code>\uff1a\u5404\u30b5\u30fc\u30d3\u30b9\u306e\u8a2d\u5b9a\uff08\u30dd\u30fc\u30c8\u30de\u30c3\u30d4\u30f3\u30b0\u304c\u91cd\u8981\uff09<\/li>\n\n\n\n<li><code>networks<\/code>\uff1a\u30b5\u30fc\u30d3\u30b9\u9593\u901a\u4fe1\u306e\u5b9a\u7fa9<\/li>\n\n\n\n<li><code>volumes<\/code>\uff1a\u30c7\u30fc\u30bf\u6c38\u7d9a\u5316\u306e\u8a2d\u5b9a<\/li>\n<\/ul>\n\n\n\n<p>\u7279\u306b\u30dd\u30fc\u30c8\u30de\u30c3\u30d4\u30f3\u30b0\u306e\u610f\u5473\u3092\u7406\u89e3\u3059\u308b\u3053\u3068\u3067\u3001<strong>\u30db\u30b9\u30c8\u304b\u3089\u3069\u306e\u3088\u3046\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u306e\u304b<\/strong>\u3001<strong>\u30b3\u30f3\u30c6\u30ca\u304c\u3069\u306e\u30dd\u30fc\u30c8\u3067\u52d5\u3044\u3066\u3044\u308b\u306e\u304b<\/strong>\u304c\u660e\u78ba\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u4e86\u89e3\u3057\u307e\u3057\u305f\u3002\u4ee5\u4e0b\u3067\u306f <strong>Docker Compose V2 \u306e\u30b3\u30de\u30f3\u30c9\u4f53\u7cfb<\/strong>\u306b\u3064\u3044\u3066\u3001V1\u3068\u306e\u9055\u3044\u3084\u3088\u304f\u4f7f\u3046\u30b3\u30de\u30f3\u30c9\u3092\u4e2d\u5fc3\u306b\u3001<strong>\u521d\u5fc3\u8005\u3067\u3082\u7406\u89e3\u3057\u3084\u3059\u3044\u3088\u3046\u306b\u4f53\u7cfb\u7684\u306b<\/strong>\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udc33 Docker Compose V2 \u3068\u306f\uff1f<\/h2>\n\n\n\n<p>Docker Compose V2 \u306f\u3001\u5f93\u6765\u306e <code>docker-compose<\/code> \u30b3\u30de\u30f3\u30c9\u306b\u4ee3\u308f\u3063\u3066 <strong><code>docker compose<\/code>\uff08\u30b9\u30da\u30fc\u30b9\u3042\u308a\uff09<\/strong> \u3092\u4f7f\u3046\u65b0\u3057\u3044\u5f62\u5f0f\u3067\u3059\u3002<br>\u3053\u308c\u306f Docker CLI \u306b\u7d71\u5408\u3055\u308c\u3066\u304a\u308a\u3001<strong>\u8ffd\u52a0\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u4e0d\u8981<\/strong>\u3067\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 V1 \u304b\u3089 V2 \u3078\u306e\u4e3b\u306a\u5909\u66f4\u70b9<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u9805\u76ee<\/th><th>V1\uff08\u65e7\uff09<\/th><th>V2\uff08\u65b0\uff09<\/th><\/tr><\/thead><tbody><tr><td>\u5b9f\u884c\u5f62\u5f0f<\/td><td><code>docker-compose<\/code><\/td><td><code>docker compose<\/code><\/td><\/tr><tr><td>\u30d0\u30a4\u30ca\u30ea<\/td><td>\u72ec\u7acb\u3057\u305f\u30d0\u30a4\u30ca\u30ea<\/td><td>Docker CLI\u306b\u7d71\u5408\uff08<code>docker<\/code>\u30b3\u30de\u30f3\u30c9\u306e\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\uff09<\/td><\/tr><tr><td>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/td><td>\u5225\u9014\u5fc5\u8981<\/td><td>Docker Desktop \u306b\u542b\u307e\u308c\u308b\uff08v20.10.13\u4ee5\u964d\uff09<\/td><\/tr><tr><td>\u5229\u70b9<\/td><td>\u5f93\u6765\u306e\u4e92\u63db\u6027\u91cd\u8996<\/td><td>\u7d71\u4e00\u3055\u308c\u305fCLI\u3001Kubernetes\u5bfe\u5fdc\u306a\u3069<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd27 \u3088\u304f\u4f7f\u3046 Docker Compose V2 \u30b3\u30de\u30f3\u30c9\u4e00\u89a7<\/h2>\n\n\n\n<p>\u4ee5\u4e0b\u3001\u3088\u304f\u4f7f\u3046 <code>docker compose<\/code> \u30b3\u30de\u30f3\u30c9\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u25b6 \u8d77\u52d5\uff08\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u3067\uff09<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose up -d\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>-d<\/code>\uff1a\u30c7\u30bf\u30c3\u30c1\u30e2\u30fc\u30c9\uff08\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u8d77\u52d5\uff09<\/li>\n\n\n\n<li>YAML\u30d5\u30a1\u30a4\u30eb\u5185\u306e\u3059\u3079\u3066\u306e\u30b5\u30fc\u30d3\u30b9\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u23f9 \u505c\u6b62\u3068\u524a\u9664<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose down\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u505c\u6b62\u3057\u3066\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30fb\u30dc\u30ea\u30e5\u30fc\u30e0\u306a\u3069\u3082\u524a\u9664\u3057\u307e\u3059\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd01 \u518d\u8d77\u52d5\uff08\u5909\u66f4\u53cd\u6620\u3057\u305f\u3044\u3068\u304d\uff09<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose up -d --build\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>--build<\/code>\uff1aDockerfile\u306e\u5909\u66f4\u3092\u53cd\u6620\u3057\u3066\u30d3\u30eb\u30c9\u3057\u306a\u304a\u3059<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udce6 \u30d3\u30eb\u30c9\u3060\u3051<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose build\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30a4\u30e1\u30fc\u30b8\u3060\u3051\u3092\u5148\u306b\u30d3\u30eb\u30c9\u3057\u305f\u3044\u3068\u304d\u306b\u4f7f\u7528\u3057\u307e\u3059\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udcdc \u30ed\u30b0\u306e\u78ba\u8a8d<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose logs\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5168\u30b5\u30fc\u30d3\u30b9\u306e\u30ed\u30b0\u3092\u8868\u793a\u3057\u307e\u3059<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose logs -f web\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7279\u5b9a\u306e\u30b5\u30fc\u30d3\u30b9\uff08\u4f8b\uff1a<code>web<\/code>\uff09\u306e\u30ed\u30b0\u3092\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u8868\u793a<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udcc2 \u5b9f\u884c\u4e2d\u306e\u30b5\u30fc\u30d3\u30b9\u78ba\u8a8d<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose ps\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u73fe\u5728\u7a3c\u50cd\u4e2d\u306e\u30b3\u30f3\u30c6\u30ca\u72b6\u614b\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\uddea \u30b5\u30fc\u30d3\u30b9\u5185\u3067\u30b3\u30de\u30f3\u30c9\u5b9f\u884c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose exec db bash\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>db<\/code> \u30b5\u30fc\u30d3\u30b9\u306e\u4e2d\u306b\u5165\u3063\u3066\u3001<code>bash<\/code> \u3092\u8d77\u52d5\u3057\u307e\u3059\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose exec web ls -la\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>web<\/code> \u30b5\u30fc\u30d3\u30b9\u306e\u4e2d\u3067 <code>ls -la<\/code> \u3092\u5b9f\u884c<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\uddfc \u30a4\u30e1\u30fc\u30b8\u306e\u524a\u9664\u3092\u542b\u3080\u5b8c\u5168\u306a\u30af\u30ea\u30fc\u30f3\u30a2\u30c3\u30d7<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose down --volumes --rmi all\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>--volumes<\/code>\uff1a\u30dc\u30ea\u30e5\u30fc\u30e0\u524a\u9664<\/li>\n\n\n\n<li><code>--rmi all<\/code>\uff1a\u3059\u3079\u3066\u306e\u30d3\u30eb\u30c9\u6e08\u307f\u30a4\u30e1\u30fc\u30b8\u3092\u524a\u9664<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd0d \u74b0\u5883\u5909\u6570\u30d5\u30a1\u30a4\u30eb\u306e\u6307\u5b9a<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose --env-file myenv.env up -d\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>.env<\/code> \u4ee5\u5916\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u4f7f\u3044\u305f\u3044\u5834\u5408\u306b\u4fbf\u5229<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udfaf \u88dc\u8db3\uff1aV1\u3068\u306e\u4e92\u63db\u6027<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u307b\u3068\u3093\u3069\u306eV1\u30b3\u30de\u30f3\u30c9\u3068\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u3001V2\u3067\u3082\u540c\u3058\u611f\u899a\u3067\u4f7f\u3048\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u305f\u3060\u3057\u3001<strong>\u30b9\u30da\u30fc\u30b9\u306e\u6709\u7121\u306b\u6ce8\u610f\uff01<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u2705 <code>docker compose up<\/code>\uff08\u6b63\u3057\u3044\uff09<\/li>\n\n\n\n<li>\u274c <code>docker-compose up<\/code>\uff08\u53e4\u3044\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\ude80 Docker Compose V2 \u3092\u78ba\u8a8d\u3059\u308b\u65b9\u6cd5<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose version\n<\/code><\/pre>\n\n\n\n<p>\u51fa\u529b\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Docker Compose version v2.27.0\n<\/code><\/pre>\n\n\n\n<p>\u307e\u305f\u306f\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u3082\u30d0\u30fc\u30b8\u30e7\u30f3\u30c1\u30a7\u30c3\u30af\u304c\u3067\u304d\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker version\n<\/code><\/pre>\n\n\n\n<p>\u51fa\u529b\u306e\u4e2d\u306b\u300c<code>compose<\/code>\u300d\u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831\u304c\u542b\u307e\u308c\u3066\u3044\u308c\u3070 V2 \u3067\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd1a \u307e\u3068\u3081<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u3084\u308a\u305f\u3044\u3053\u3068<\/th><th>V2\u30b3\u30de\u30f3\u30c9<\/th><\/tr><\/thead><tbody><tr><td>\u8d77\u52d5<\/td><td><code>docker compose up -d<\/code><\/td><\/tr><tr><td>\u505c\u6b62\uff0b\u524a\u9664<\/td><td><code>docker compose down<\/code><\/td><\/tr><tr><td>\u518d\u30d3\u30eb\u30c9\uff0b\u8d77\u52d5<\/td><td><code>docker compose up -d --build<\/code><\/td><\/tr><tr><td>\u30ed\u30b0\u306e\u78ba\u8a8d<\/td><td><code>docker compose logs -f<\/code><\/td><\/tr><tr><td>\u30b3\u30f3\u30c6\u30ca\u5185\u3067\u5b9f\u884c<\/td><td><code>docker compose exec [\u30b5\u30fc\u30d3\u30b9]<\/code><\/td><\/tr><tr><td>\u30b5\u30fc\u30d3\u30b9\u306e\u72b6\u614b\u78ba\u8a8d<\/td><td><code>docker compose ps<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker\u306eYAML\u30d5\u30a1\u30a4\u30eb\uff08dock [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37,8,14],"tags":[54,82],"class_list":["post-747","post","type-post","status-publish","format-standard","hentry","category-docker","category-it","category-infrastructure","tag-docker","tag-yaml"],"_links":{"self":[{"href":"https:\/\/blog.espresso.earth\/index.php\/wp-json\/wp\/v2\/posts\/747","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espresso.earth\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espresso.earth\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espresso.earth\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espresso.earth\/index.php\/wp-json\/wp\/v2\/comments?post=747"}],"version-history":[{"count":5,"href":"https:\/\/blog.espresso.earth\/index.php\/wp-json\/wp\/v2\/posts\/747\/revisions"}],"predecessor-version":[{"id":1198,"href":"https:\/\/blog.espresso.earth\/index.php\/wp-json\/wp\/v2\/posts\/747\/revisions\/1198"}],"wp:attachment":[{"href":"https:\/\/blog.espresso.earth\/index.php\/wp-json\/wp\/v2\/media?parent=747"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espresso.earth\/index.php\/wp-json\/wp\/v2\/categories?post=747"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espresso.earth\/index.php\/wp-json\/wp\/v2\/tags?post=747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}