{"id":3372,"date":"2019-09-09T23:36:44","date_gmt":"2019-09-09T14:36:44","guid":{"rendered":"https:\/\/column.prime-strategy.co.jp\/?p=3372"},"modified":"2024-10-11T16:29:19","modified_gmt":"2024-10-11T07:29:19","slug":"post-3372","status":"publish","type":"post","link":"https:\/\/kusanagi.tokyo\/column\/archives\/column_3372","title":{"rendered":"KUSANAGI RoD\u306e\u4f7f\u3044\u65b9(1)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">2019\u5e748\u6708\u3001KUSANAGI Rus on Docker(\u4ee5\u964dRoD)\u3092\u30ea\u30ea\u30fc\u30b9\u3057\u307e\u3057\u305f\u3002RoD\u306f\u3001KUSANAGI\u3068\u540c\u3058\u74b0\u5883\u3092\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30b3\u30f3\u30c6\u30caDocker\u4e0a\u3067\u52d5\u304b\u3059\u30c4\u30fc\u30eb\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"KUSANAGI_RoD%E3%81%AE%E6%A6%82%E8%A6%81\"><\/span>KUSANAGI RoD\u306e\u6982\u8981<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">RoD\u306f\u3001httpd(Apache\/nginx)\/PHP\/MariaDB\u3092\u6a5f\u80fd\u8981\u7d20\u3068\u3057\u3066\u3001 \u305d\u308c\u305e\u308c\u30b3\u30f3\u30c6\u30ca\u30a4\u30e1\u30fc\u30b8\u3068\u3057\u3066hubs.docker.com\u306b\u7528\u610f\u3057\u3066\u3044\u307e\u3059\u3002RoD\u3067\u306f\u8907\u6570\u30b3\u30f3\u30c6\u30ca\u3092docker-compose\u3067\u5236\u5fa1\u3059\u308b\u305f\u3081\u3001docker-compose.yml\u30d5\u30a1\u30a4\u30eb\u306e\u4f5c\u6210\u3092\u884c\u3044\u307e\u3059\u3002\u305d\u3057\u3066docker-compose\u3067KUSANAGI\u74b0\u5883\u3092\u7acb\u3061\u4e0a\u3052\u3001WordPress\u306a\u3069\u306e\u69cb\u7bc9\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0b\u8a18\u306e\u56f3\u306f\u3001RoD \u306e\u6982\u5ff5\u56f3\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/prime-strategy\/kusanagi-docker\/1.0.1\/doc\/RoD.png\" alt=\"KUSANAGI RoD\u6982\u5ff5\u56f3\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">docker-compose \u3067\u3001httpd\/php\/db \u3068\u3044\u3046\u30b3\u30f3\u30c6\u30ca\u304c\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">httpd\u3068php\u306f\u5185\u90e8\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u63a5\u7d9a\u3057\u3001\u5916\u90e8\u304b\u3089\u306e\u63a5\u7d9a\u306f\u884c\u308f\u308c\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DB\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306funix socket \u3092\u4f7f\u7528\u3057\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u901a\u4fe1\u3092\u884c\u3044\u307e\u305b\u3093\u3002DB\u60c5\u5831\u306fDocker\u30dc\u30ea\u30e5\u30fc\u30e0(Docker Host\u5185\u306e\u6052\u4e45\u7684\u306a\u30c7\u30a3\u30b9\u30af\u9818\u57df)\u3067\u3042\u308bdb\u306b\u914d\u7f6e\u3055\u308c\u3001PHP\u3068DB\u306f\u30dc\u30ea\u30e5\u30fc\u30e0db\u3092\u30de\u30a6\u30f3\u30c8\u3059\u308b\u3053\u3068\u3067\u3001socket\u901a\u4fe1\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">php\u306f\u3001httpd\u304b\u3089\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u304b\u3089PHP\u306e\u5b9f\u884c\u7d50\u679c\u3092\u8fd4\u3057\u307e\u3059\u3002php\u3068httpd\u306f\u3001DocumentRoot\u4ee5\u4e0b\u3092Docker\u30dc\u30ea\u30e5\u30fc\u30e0kusanagi\u306b\u914d\u7f6e\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">config\u306fDocker\u3068Docker\u5916\u306e\u3084\u308a\u53d6\u308a\u3092\u884c\u3046\u305f\u3081\u306eDocker\u3067\u3059\u3002WordPress\u306e\u5834\u5408\u306fwpcli\u3092\u3001\u305d\u308c\u4ee5\u5916\u306fkusanagi-config \u304c\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ftpd\u306f\u3001KUSANAGI\u540c\u69d8\u306bWordPress\u306e\u307f\u4f7f\u7528\u3057\u3001WordPress\u304b\u3089\u30d7\u30e9\u30b0\u30a4\u30f3\u30fb\u30c6\u30fc\u30de\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"KUSANAGI_RoD%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%96%B9%E6%B3%95\"><\/span>KUSANAGI RoD\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65b9\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"raw.githubusercontent.com\/prime-strategy\/kusanagi-docker\/1.0.1\/README.md\">README.md<\/a> \u306b\u3042\u308b\u901a\u308a\u3001kusanagi RoD\u306fkusanagi-docker \u30b3\u30de\u30f3\u30c9\u306b\u3088\u308a\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3055\u308c\u307e\u3059\u3002kusanagi-docker\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u305f\u3081\u306b\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl https:\/\/raw.githubusercontent.com\/prime-strategy\/kusanagi-docker\/master\/install.sh | bash<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u3068\u304d\u6ce8\u610f\u3057\u3066\u3044\u305f\u3060\u304d\u305f\u3044\u306e\u306f\u3001\u52d5\u4f5c\u8981\u4ef6\u3067\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>bash(4.x \u4ee5\u4e0a)<\/li><li>Git<\/li><li>sed<\/li><li>awk<\/li><li>grep<\/li><li>gettext(gettext.sh, envsubst)<\/li><li>curl<\/li><li>docker(over 18.0x)<\/li><li>docker-compose<\/li><li>docker-machine<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">docker-machine\u306f\u5fc5\u9808\u3067\u3042\u308a\u307e\u305b\u3093\u3002\u305f\u3060\u3057Docker Server \u304c\u7528\u610f\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u306a\u3069\u3067\u3001docker-machine\u306f\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u3002<br>\n\u305d\u308c\u4ee5\u5916\u3059\u3079\u3066\u306e\u30b3\u30de\u30f3\u30c9\u304c\u3001which\u30b3\u30de\u30f3\u30c9\u3067\u898b\u3064\u3051\u3089\u308c\u308b\u3053\u3068\u3092\u52d5\u4f5c\u8981\u4ef6\u3068\u3057\u3066\u3044\u307e\u3059\u3002macOS\u3067\u306fHomebrew\u306a\u3069\u3067bash\/gettext\u306a\u3069\u306e\u30b3\u30de\u30f3\u30c9\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u304c\u3001PATH\u3082\u8a2d\u5b9a\u3057\u3066\u304a\u3044\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"KUSANAGI_RoD%E3%81%A7WordPress%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B\"><\/span>KUSANAGI RoD\u3067WordPress\u3092\u4f5c\u6210\u3059\u308b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u5ff5\u306e\u70ba\u3001<code>docker version<\/code>\u3067\u3001Docker\u304c\u52d5\u4f5c\u3059\u308b\u72b6\u614b\u306b\u306a\u3063\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4ee5\u4e0b\u5b9f\u884c\u4f8b\u3067\u3059\u3002Server\u306b\u63a5\u7d9a\u3067\u304d\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ docker version\nClient: Docker Engine - Community\n Version:           19.03.1\n API version:       1.40\n Go version:        go1.12.5\n Git commit:        74b1e89\n Built:             Thu Jul 25 21:21:05 2019\n OS\/Arch:           linux\/amd64\n Experimental:      false\n\nServer: Docker Engine - Community\n Engine:\n  Version:          19.03.0-rc2\n  API version:      1.40 (minimum version 1.12)\n  Go version:       go1.12.5\n  Git commit:       f97efcc\n  Built:            Wed Jun  5 01:42:10 2019\n  OS\/Arch:          linux\/amd64\n  Experimental:     false\n containerd:\n  Version:          v1.2.6\n  GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb\n runc:\n  Version:          1.0.0-rc8\n  GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f\n docker-init:\n  Version:          0.18.0\n  GitCommit:        fec3683<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b21\u306b\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u30b3\u30de\u30f3\u30c9\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002FQDN\u3068\u3057\u3066wp.localhost\u3001\u30bf\u30fc\u30b2\u30c3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3068\u3057\u3066wordpress\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ kusanagi-docker provision --fqdn wp.localhost wordpress\nCreating network \"wordpress_default\" with driver \"bridge\"\nCreating volume \"wordpress_database\" with default driver\nCreating volume \"wordpress_kusanagi\" with default driver\nCreating wordpress_config ... \nCreating wordpress_httpd ... \nCreating wordpress_config\nCreating wordpress_httpd ... done\nCreating wordpress_php ... \nCreating wordpress_ftp ... \nCreating wordpress_certbot ... \nCreating wordpress_db ... \nCreating wordpress_php\nCreating wordpress_ftp\nCreating wordpress_certbot\nCreating wordpress_ftp ... done\n MYSQL\u306e\u521d\u671f\u5316\u3092\u5f85\u3063\u3066\u3044\u307e\u3059....\nWordPress\u3092\u914d\u7f6e\u3057\u307e\u3059\nDownloading WordPress 5.2.3 (en_US)...\nWarning: Failed to create directory '\/.wp-cli\/cache\/': mkdir(): Permission denied.\nmd5 hash verified: bde83b629bc7a833f7000bc522cde120\nSuccess: WordPress downloaded.\nSuccess: Generated 'wp-config.php' file.\nsendmail: can't connect to remote host (127.0.0.1): Connection refused\nSuccess: WordPress installed successfully.\nThe file will have its original line endings in your working directory.\nINFO: \u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3067\u3001.\/wordpress\u3068\u3044\u3046\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u4f5c\u6210\u3055\u308c\u3001\u305d\u3053\u3067WordPress\u304cDocker\u4e0a\u3067\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0b\u306f\u3001wordpress\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u79fb\u52d5\u3057\u3066\u884c\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ cd wordpress\/\n$ kusanagi-docker status\n      Name                     Command               State                       Ports                   \n---------------------------------------------------------------------------------------------------------\nwordpress_certbot   certbot --version                Exit 0                                              \nwordpress_config    docker-entrypoint.sh wp -- ...   Exit 0                                              \nwordpress_db        docker-entrypoint.sh mysqld      Up                                                  \nwordpress_ftp       \/bin\/sh -c \/docker-entrypo ...   Up                                                  \nwordpress_httpd     \/docker-entrypoint.sh \/usr ...   Up       0.0.0.0:80->8080\/tcp, 0.0.0.0:443->8443\/tcp\nwordpress_php       \/usr\/local\/bin\/docker-entr ...   Up    <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">kusanagi-docker status\u3067\u3001\u73fe\u5728\u306e\u30b3\u30f3\u30c6\u30ca\u306e\u72b6\u6cc1\u304c\u308f\u304b\u308a\u307e\u3059\u3002\u30b3\u30f3\u30c6\u30ca\u540d\u306f\u30bf\u30fc\u30b2\u30c3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u540d\u304c\u982d\u306b\u4ed8\u304d\u307e\u3059\u3002wordpress_httpd \u306f\u3001Docker\u30db\u30b9\u30c8\u304b\u308980\/443\u30dd\u30fc\u30c8\u304c\u30dd\u30fc\u30c8\u30d5\u30a9\u30ef\u30fc\u30c9\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u305d\u306e\u305f\u3081\u3001\/etc\/hosts\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a18\u8ff0\u3057\u3066\u30d6\u30e9\u30a6\u30b6\u3067\u78ba\u8a8d\u3059\u308b\u3068\u3001WordPress\u753b\u9762\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ cat \/etc\/hosts\n127.0.0.1       localhost wp.localhost<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/scontent-nrt1-1.xx.fbcdn.net\/v\/t1.15752-9\/70722950_2164667033833617_8109701168919216128_n.png?_nc_cat=101&amp;_nc_eui2=AeHTDyOka46UNqTmrLqaXur58WMqBz4VTpxcLhKzjymjYHX-OIba--SsP1CZMReFKJvWXpVq00qiUWtfnR2Wtce5JCCGctSYqi37Ki4PiSQVxg&amp;_nc_oc=AQntTYxCl1sZbbRrSHfeMYWtoKCj4NHtcS5RoQa8C5VUqnnWZOvCGZ-aeQYV1YLtVY8&amp;_nc_ht=scontent-nrt1-1.xx&amp;oh=56ad1c26fd5fd23840e56be170c58bf9&amp;oe=5E13EBE4\" alt=\"\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E7%B5%82%E3%82%8F%E3%82%8A%E3%81%AB\"><\/span>\u7d42\u308f\u308a\u306b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u4eca\u56de\u306f\u3001KUSANAGI RoD\u306b\u3088\u3063\u3066\u7c21\u5358\u306bDocker\u3067\u52d5\u4f5c\u3059\u308bWordPress\u3092\u4f5c\u6210\u3067\u304d\u307e\u3057\u305f\u3002\u6b21\u56de\u306f\u3001WordPress\u69cb\u7bc9\u306e\u8a73\u7d30\u306b\u3064\u3044\u3066\u8ff0\u3079\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002\u6b21\u56de\u3092\u304a\u697d\u3057\u307f\u306b\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>2019\u5e748\u6708\u3001KUSANAGI Rus on Docker(\u4ee5\u964dRoD)\u3092\u30ea\u30ea\u30fc\u30b9\u3057\u307e\u3057\u305f\u3002RoD\u306f\u3001KUSANAGI\u3068\u540c\u3058\u74b0\u5883\u3092\u30a2\u30d7\u30ea\u30b1 ... <a title=\"KUSANAGI RoD\u306e\u4f7f\u3044\u65b9(1)\" class=\"read-more\" href=\"https:\/\/kusanagi.tokyo\/column\/archives\/column_3372\" aria-label=\"KUSANAGI RoD\u306e\u4f7f\u3044\u65b9(1) \u306b\u3064\u3044\u3066\u3055\u3089\u306b\u8aad\u3080\">Read more<\/a><\/p>\n","protected":false},"author":4,"featured_media":2267,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[10,77],"tags":[],"series":[55],"journey":[],"product":[],"class_list":["post-3372","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kusanagi","category-kusanagi-rod","series-kusanagi-rod-miyazaki","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-33","no-featured-image-padding"],"_links":{"self":[{"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/posts\/3372","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/comments?post=3372"}],"version-history":[{"count":1,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/posts\/3372\/revisions"}],"predecessor-version":[{"id":5368,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/posts\/3372\/revisions\/5368"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/media\/2267"}],"wp:attachment":[{"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/media?parent=3372"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/categories?post=3372"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/tags?post=3372"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/series?post=3372"},{"taxonomy":"journey","embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/journey?post=3372"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/product?post=3372"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}