{"id":5432,"date":"2014-07-17T16:45:36","date_gmt":"2014-07-17T07:45:36","guid":{"rendered":"http:\/\/www.creationline.com\/?p=5432"},"modified":"2023-08-29T12:58:08","modified_gmt":"2023-08-29T03:58:08","slug":"chef-container-0-2-0-beta-%e3%81%a7-docker-%e3%82%b3%e3%83%b3%e3%83%86%e3%83%8a%e3%82%92%e4%bd%9c%e6%88%90%e3%81%99%e3%82%8b-opschef_ja-getchef_ja-dockerjp","status":"publish","type":"post","link":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/5432","title":{"rendered":"Chef Container 0.2.0 (beta) \u3067 Docker \u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3059\u308b #opschef_ja #getchef_ja #dockerjp"},"content":{"rendered":"<p><strong>\u6ce8\u610f<\/strong>: Chef Provisioning \u3068 Docker \u306e\u7d44\u307f\u5408\u308f\u305b\u3068\u3057\u3066 <a href=\"https:\/\/github.com\/chef\/knife-container\">knife-container<\/a> \u304c\u3042\u308a\u307e\u3057\u305f\u304c\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u7d42\u4e86\u3057\u3066\u304a\u308a\u3001\u73fe\u5728\u306f <a href=\"https:\/\/github.com\/chef\/chef-provisioning-docker\">chef-provisioning-docker<\/a> \u306e\u5229\u7528\u304c\u63a8\u5968\u3055\u308c\u3066\u3044\u307e\u3059\u3002Chef Provisioning Docker \u306b\u3064\u3044\u3066\u306f <a href=\"\/lab\/10423\">Chef Provisioning\u3068Docker\u3067Serf\u30af\u30e9\u30b9\u30bf\u74b0\u5883\u3092\u4f5c\u6210\u3059\u308b<\/a> \u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044(2015\/07\/08 \u8ffd\u8a18)\u3002<\/p>\n<p><a href=\"\/lab\/5346\">\u65e2\u5831<\/a>\u306e\u901a\u308a\u3001Chef Container 0.2.0 (beta) \u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\u3002\u672c\u8a18\u4e8b\u3067\u306f\u3001\u5b9f\u969b\u306b Chef Container \u3092\u7528\u3044\u3066 Docker \u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3057\u3066\u307f\u307e\u3059\u3002\u306a\u304a\u3001\u9014\u4e2d\u3067\u3064\u307e\u305a\u3044\u305f\u90e8\u5206\u3082\u3059\u3079\u3066\u8a18\u8f09\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u691c\u8a3c\u306f\u307e\u3063\u305f\u304f\u30d7\u30ec\u30fc\u30f3\u306a Ubuntu 12.04 LTS \u306e\u4eee\u60f3\u74b0\u5883\u3092\u7528\u610f\u3057\u3001\u305d\u306e\u4e0a\u3067\u884c\u3044\u307e\u3057\u305f\u3002<\/p>\n<h2>Ubuntu 12.04 LTS \u306b Docker \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<p><a href=\"https:\/\/docs.docker.com\/installation\/ubuntulinux\/#ubuntu-precise-1204-lts-64-bit\">Docker installation<\/a> \u306b\u5f93\u3044\u3001Ubuntu 12.04 LTS \u306b Docker \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~$ sudo apt-get update<br \/>\n:<br \/>\nubuntu@ubuntu:~$<br \/>\n<\/code><\/p>\n<p>Ubuntu 12.04 LTS \u306e Linux Kernel \u306f 3.2 \u7cfb\u3067\u3042\u308b\u305f\u3081\u30013.8 \u7cfb\u306b\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~$ sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring<br \/>\n:<br \/>\nlinux-headers-3.8.0-44 (3.8.0-44.66~precise1) \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 ...<br \/>\nlinux-headers-3.8.0-44-generic (3.8.0-44.66~precise1) \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 ...<br \/>\nlinux-headers-generic-lts-raring (3.8.0.44.44) \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 ...<br \/>\nlinux-image-generic-lts-raring (3.8.0.44.44) \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 ...<br \/>\nubuntu@ubuntu:~$<br \/>\n<\/code><\/p>\n<p>\u518d\u8d77\u52d5\u3057\u3066\u65b0\u3057\u3044 Linux Kernel \u3067\u8d77\u52d5\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~$ sudo reboot<br \/>\n<\/code><\/p>\n<p>Docker \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u7c21\u5358\u5316\u3059\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~$ curl -s https:\/\/get.docker.io\/ubuntu\/ | sudo sh<br \/>\nExecuting: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring \/tmp\/tmp.xxLcCx6yp1 --trustdb-name \/etc\/apt\/trustdb.gpg --keyring \/etc\/apt\/trusted.gpg --primary-keyring \/etc\/apt\/trusted.gpg --keyserver hkp:\/\/keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9<br \/>\ngpg: \u9375A88D21E9\u3092hkp\u304b\u3089\u30b5\u30fc\u30d0\u30fckeyserver.ubuntu.com\u306b\u8981\u6c42<br \/>\ngpg: \u9375A88D21E9:\u201cDocker Release Tool (releasedocker) &lt;docker@dotcloud.com&gt;\u201d\u5909\u66f4\u306a\u3057<br \/>\ngpg: \u51e6\u7406\u6570\u306e\u5408\u8a08: 1<br \/>\ngpg:              \u5909\u66f4\u306a\u3057: 1<br \/>\n:<br \/>\n:<br \/>\n:<br \/>\naufs-tools (1:3.0+20111101-1ubuntu1) \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 ...<br \/>\nliberror-perl (0.17-1) \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 ...<br \/>\ngit-man (1:1.7.9.5-1) \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 ...<br \/>\ngit (1:1.7.9.5-1) \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 ...<br \/>\ncgroup-lite (1.1.5) \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 ...<br \/>\ncgroup-lite start\/running<br \/>\nlxc-docker-1.1.1 (1.1.1) \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 ...<br \/>\ndocker start\/running, process 2664<br \/>\nlxc-docker (1.1.1) \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 ...<br \/>\nlibc-bin \u306e\u30c8\u30ea\u30ac\u3092\u51e6\u7406\u3057\u3066\u3044\u307e\u3059 ...<br \/>\nldconfig deferred processing now taking place<br \/>\nubuntu@ubuntu:~$<br \/>\n&lt;\/docker@dotcloud.com&gt;<\/code><\/p>\n<p>Docker \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u5b8c\u4e86\u3057\u305f\u306e\u3067\u3001\u30a4\u30e1\u30fc\u30b8\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304c\u3066\u3089 Docker \u306e\u52d5\u4f5c\u30c6\u30b9\u30c8\u3092\u884c\u3044\u307e\u3059\u3002<br \/>\n\u30b3\u30de\u30f3\u30c9\u30d7\u30ed\u30f3\u30d7\u30c8\u304c\u8868\u793a\u3055\u308c\u305f\u3089\u3001Docker \u30b3\u30f3\u30c6\u30ca\u5185\u3067 bash \u304c\u52d5\u4f5c\u3059\u308b\u72b6\u614b\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~$ sudo docker run -i -t ubuntu \/bin\/bash<br \/>\nUnable to find image 'ubuntu' locally<br \/>\nPulling repository ubuntu<br \/>\ne54ca5efa2e9: Download complete<br \/>\n511136ea3c5a: Download complete<br \/>\nd7ac5e4f1812: Download complete<br \/>\n2f4b4d6a4a06: Download complete<br \/>\n83ff768040a0: Download complete<br \/>\n6c37f792ddac: Download complete<br \/>\nroot@7d82acb173ea:\/#<br \/>\n<\/code><\/p>\n<p>exit \u3067 Docker \u30b3\u30f3\u30c6\u30ca\u304b\u3089\u629c\u3051\u3066\u3001\u6b21\u306e\u624b\u9806\u306b\u79fb\u308a\u307e\u3059\u3002<\/p>\n<h2>Ubuntu 12.04 LTS \u306b Chef DK \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<p><a href=\"http:\/\/downloads.getchef.com\/chef-dk\/ubuntu\">Chef Development Kit<\/a> \u304b\u3089 Ubuntu 12.04 \u7528\u306e Chef DK \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~$ wget https:\/\/opscode-omnibus-packages.s3.amazonaws.com\/ubuntu\/12.04\/x86_64\/chefdk_0.2.0-2_amd64.deb<br \/>\n:<br \/>\nubuntu@ubuntu:~$<br \/>\n<\/code><\/p>\n<p>\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f Chef DK \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~$ sudo dpkg -i chefdk_0.2.0-2_amd64.deb<br \/>\n\u4ee5\u524d\u306b\u672a\u9078\u629e\u306e\u30d1\u30c3\u30b1\u30fc\u30b8 chefdk \u3092\u9078\u629e\u3057\u3066\u3044\u307e\u3059\u3002<br \/>\n(\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u8aad\u307f\u8fbc\u3093\u3067\u3044\u307e\u3059 ... \u73fe\u5728 82220 \u500b\u306e\u30d5\u30a1\u30a4\u30eb\u3068\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u307e\u3059\u3002)<br \/>\n(chefdk_0.2.0-2_amd64.deb \u304b\u3089) chefdk \u3092\u5c55\u958b\u3057\u3066\u3044\u307e\u3059...<br \/>\nchefdk (0.2.0-2) \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 ...<br \/>\nThank you for installing Chef Development Kit!<br \/>\nubuntu@ubuntu:~$<br \/>\n<\/code><\/p>\n<h2>knife-container \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<p><strong>chef gem<\/strong> \u30b3\u30de\u30f3\u30c9\u3092\u7528\u3044\u3066\u3001knife-container \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~$ chef gem install knife-container --no-rdoc --no-ri<br \/>\nFetching: knife-container-0.2.0.gem (100%)<br \/>\nWARNING:  You don't have \/home\/ubuntu\/.chefdk\/gem\/ruby\/2.1.0\/bin in your PATH,<br \/>\ngem executables will not run.<br \/>\nSuccessfully installed knife-container-0.2.0<br \/>\n1 gem installed<br \/>\nubuntu@ubuntu:~$<br \/>\n<\/code><\/p>\n<h2>chef-repo \u306e\u6e96\u5099<\/h2>\n<p>\u5fc5\u9808\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u304c chef-repo \u3092\u6e96\u5099\u3057\u3066\u304a\u304d\u307e\u3059\u3002\u4ee5\u964d\u3001chef-repo \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u3067\u4f5c\u696d\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~$ git clone https:\/\/github.com\/opscode\/chef-repo<br \/>\nCloning into 'chef-repo'...<br \/>\nremote: Reusing existing pack: 225, done.<br \/>\nremote: Total 225 (delta 0), reused 0 (delta 0)<br \/>\nReceiving objects: 100% (225\/225), 46.44 KiB, done.<br \/>\nResolving deltas: 100% (57\/57), done.<br \/>\nubuntu@ubuntu:~$<br \/>\n<\/code><\/p>\n<h2>knife-container \u306e\u5b9f\u884c<\/h2>\n<h3>Docker \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u521d\u671f\u5316<\/h3>\n<p><strong>knife container docker init<\/strong> \u3067 Docker \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\u8a2d\u5b9a\u9805\u76ee\u306f\u3001<\/p>\n<ul>\n<li>\u30a4\u30e1\u30fc\u30b8\u540d: demo\/apache2<\/li>\n<li>run-list: recipe[apache2]<\/li>\n<li>-z: \u30ed\u30fc\u30ab\u30eb\u30e2\u30fc\u30c9\u3067\u5b9f\u884c<\/li>\n<li>-b: Berkshelf \u3092\u5229\u7528<\/li>\n<\/ul>\n<p>\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~$ cd chef-repo\/<br \/>\nubuntu@ubuntu:~\/chef-repo$ knife container docker init demo\/apache2 -r 'recipe[apache2]' -z -b<br \/>\nWARNING: No knife configuration file found<br \/>\nCompiling Cookbooks...<br \/>\nRecipe: knife_container::docker_init<br \/>\n* directory[\/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2] action create<br \/>\n- create new directory \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2<br \/>\n* template[\/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/Dockerfile] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/Dockerfile<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/Dockerfile from none to 4c70a7<br \/>\n(diff output suppressed by config)<br \/>\n* template[\/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/.dockerignore] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/.dockerignore<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/.dockerignore from none to e3b0c4<br \/>\n(diff output suppressed by config)<br \/>\n* directory[\/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef] action create<br \/>\n- create new directory \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef<br \/>\n* template[\/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/zero.rb] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/zero.rb<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/zero.rb from none to cde131<br \/>\n(diff output suppressed by config)<br \/>\n* file[\/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/first-boot.json] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/first-boot.json<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/first-boot.json from none to 1b9651<br \/>\n(diff output suppressed by config)<br \/>\n* template[\/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/.node_name] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/.node_name<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/.node_name from none to fa2107<br \/>\n(diff output suppressed by config)<br \/>\n* template[\/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/Berksfile] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/Berksfile<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/Berksfile from none to 6a02b1<br \/>\n(diff output suppressed by config)<br \/>\n* execute[cp -r \/home\/ubuntu\/chef-repo\/roles\/ \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/roles\/] action run<br \/>\n- execute cp -r \/home\/ubuntu\/chef-repo\/roles\/ \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/roles\/<br \/>\n* execute[cp -r \/home\/ubuntu\/chef-repo\/environments\/ \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/environments\/] action run<br \/>\n- execute cp -r \/home\/ubuntu\/chef-repo\/environments\/ \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/environments\/<br \/>\n* execute[cp -r \/home\/ubuntu\/chef-repo\/nodes\/ \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/nodes\/] action run (skipped due to not_if)<br \/>\nDownloading base image: chef\/ubuntu-12.04:latest. This process may take awhile...<br \/>\nTagging base image chef\/ubuntu-12.04 as demo\/apache2<\/code><\/p>\n<p><code><br \/>\n<\/code><\/p>\n<p><code>Context Created: \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>\u30ab\u30ec\u30f3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b dockerfiles \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3068\u3001Docker \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\u3002tree \u30b3\u30de\u30f3\u30c9\u3067\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ tree -aF dockerfiles\/<br \/>\ndockerfiles\/<br \/>\n\u2514\u2500\u2500 demo\/<br \/>\n\u2514\u2500\u2500 apache2\/<br \/>\n\u251c\u2500\u2500 .dockerignore<br \/>\n\u251c\u2500\u2500 Berksfile<br \/>\n\u251c\u2500\u2500 Dockerfile<br \/>\n\u2514\u2500\u2500 chef\/<br \/>\n\u251c\u2500\u2500 .node_name<br \/>\n\u251c\u2500\u2500 environments\/<br \/>\n\u2502   \u2514\u2500\u2500 README.md<br \/>\n\u251c\u2500\u2500 first-boot.json<br \/>\n\u251c\u2500\u2500 roles\/<br \/>\n\u2502   \u2514\u2500\u2500 README.md<br \/>\n\u2514\u2500\u2500 zero.rb<\/code><\/p>\n<p><code><br \/>\n<\/code><\/p>\n<p><code>5 directories, 8 files<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<h3>dockerfiles\/demo\/apache2\/.dockerignore<\/h3>\n<p>\u7a7a\u3067\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ cat dockerfiles\/demo\/apache2\/.dockerignore<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<h3>dockerfiles\/demo\/apache2\/Berksfile<\/h3>\n<p>Berkshelf \u3092\u7528\u3044\u3066 apache2 Cookbook \u3092\u53d6\u5f97\u3059\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\nsource \"https:\/\/api.berkshelf.com\"<\/code><\/p>\n<p><code lang=\"ruby\"><br \/>\n<\/code><\/p>\n<p><code lang=\"ruby\">cookbook \"apache2\"<br \/>\n<\/code><\/p>\n<h3>dockerfiles\/demo\/apache2\/Dockerfile<\/h3>\n<p>Docker \u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3059\u308b\u969b\u306b\u7528\u3044\u308b Dockerfile \u3067\u3059\u3002<br \/>\n\u3053\u306e Dockerfile \u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306f <a href=\"https:\/\/github.com\/opscode\/knife-container\/blob\/0.2.0\/lib\/knife-container\/skeletons\/knife_container\/templates\/default\/dockerfile.erb\">dockerfile.erb<\/a> \u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\n# BASE chef\/ubuntu-12.04:latest<br \/>\nFROM demo\/apache2<br \/>\nADD chef\/ \/etc\/chef\/<br \/>\nRUN chef-init --bootstrap<br \/>\nRUN rm -rf \/etc\/chef\/secure\/*<br \/>\nENTRYPOINT [\"chef-init\"]<br \/>\nCMD [\"--onboot\"]<br \/>\n<\/code><\/p>\n<h3>dockerfiles\/demo\/apache2\/chef\/.node_name<\/h3>\n<p>Node \u540d\u306e\u3088\u3046\u3067\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\ndemo-apache2-build<br \/>\n<\/code><\/p>\n<h3>dockerfiles\/demo\/apache2\/chef\/first-boot.json<\/h3>\n<p>Docker \u30b3\u30f3\u30c6\u30ca\u5185\u306e\u521d\u671f\u5316\u30d7\u30ed\u30bb\u30b9\u3067\u5229\u7528\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\n{<br \/>\n\"run_list\": [<br \/>\n\"recipe[apache2]\"<br \/>\n]<br \/>\n}<br \/>\n<\/code><\/p>\n<h3>dockerfiles\/demo\/apache2\/chef\/zero.rb<\/h3>\n<p>Docker \u30b3\u30f3\u30c6\u30ca\u5185\u306e\u521d\u671f\u5316\u30d7\u30ed\u30bb\u30b9\u3067\u5229\u7528\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\nrequire 'chef-init'<\/code><\/p>\n<p><code lang=\"ruby\"><br \/>\n<\/code><\/p>\n<p><code lang=\"ruby\">node_name                   ChefInit.node_name<br \/>\ncookbook_path               [\"\/etc\/chef\/cookbooks\"]<br \/>\nssl_verify_mode             :verify_peer<br \/>\n<\/code><\/p>\n<h3>dockerfiles\/demo\/apache2\/chef\/first-boot.json \u306e\u4fee\u6b63<\/h3>\n<p>\u624b\u9806\u306e\u901a\u308a\u3001<strong>container_service<\/strong> \u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<br \/>\n\u306a\u304a\u30011\u884c\u524d\u306e <strong>,<\/strong> \u3092\u5fd8\u308c\u306a\u3044\u3088\u3046\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\n{<br \/>\n\"run_list\": [<br \/>\n\"recipe[apache2]\"<br \/>\n],<br \/>\n\"container_service\": {<br \/>\n\"apache2\": {<br \/>\n\"command\": \"\/usr\/sbin\/apache2 -k start\"<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\n<\/code><\/p>\n<h3>Docker \u30a4\u30e1\u30fc\u30b8\u306e\u30d3\u30eb\u30c9<\/h3>\n<p><strong>knife container docker build<\/strong> \u3067 Docker \u30a4\u30e1\u30fc\u30b8\u306e\u30d3\u30eb\u30c9\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ knife container docker build demo\/apache2<br \/>\nWARNING: No knife configuration file found<br \/>\nUSAGE: knife container docker build REPO\/NAME [options]<br \/>\n:<br \/>\n:<br \/>\n:<br \/>\nFATAL: Can not find a Chef configuration file in \/home\/ubuntu\/.chef\/dockerfiles\/demo\/apache2\/chef<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>\u624b\u9806\u901a\u308a\u306b\u884c\u3044\u307e\u3057\u305f\u304c\u3001\u5931\u6557\u3057\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002<br \/>\n\u3053\u308c\u306f\u5148\u306e Docker \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u521d\u671f\u5316\u306e\u969b\u306b\u30ed\u30fc\u30ab\u30eb\u30e2\u30fc\u30c9\u3067\u5b9f\u65bd\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u3053\u3061\u3089\u3082\u30ed\u30fc\u30ab\u30eb\u30e2\u30fc\u30c9\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093(\u53c2\u8003: <a href=\"https:\/\/twitter.com\/wenbose\/status\/489310366950625280\">wenbose\u3055\u3093\u306e\u30c4\u30a4\u30fc\u30c8<\/a>)\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ knife container docker build demo\/apache2 -z<br \/>\nWARNING: No knife configuration file found<br \/>\nResolving cookbook dependencies...<br \/>\nFetching cookbook index from https:\/\/api.berkshelf.com...<br \/>\nInstalling apache2 (1.10.4) from https:\/\/api.berkshelf.com ([opscode] https:\/\/supermarket.getchef.com\/api\/v1)<br \/>\nInstalling iptables (0.13.2) from https:\/\/api.berkshelf.com ([opscode] https:\/\/supermarket.getchef.com\/api\/v1)<br \/>\nInstalling logrotate (1.6.0) from https:\/\/api.berkshelf.com ([opscode] https:\/\/supermarket.getchef.com\/api\/v1)<br \/>\nInstalling pacman (1.1.1) from https:\/\/api.berkshelf.com ([opscode] https:\/\/supermarket.getchef.com\/api\/v1)<br \/>\nResolving cookbook dependencies...<br \/>\nUsing apache2 (1.10.4)<br \/>\nUsing iptables (0.13.2)<br \/>\nUsing pacman (1.1.1)<br \/>\nUsing logrotate (1.6.0)<br \/>\nVendoring apache2 (1.10.4) to \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/cookbooks\/apache2<br \/>\nVendoring iptables (0.13.2) to \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/cookbooks\/iptables<br \/>\nVendoring logrotate (1.6.0) to \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/cookbooks\/logrotate<br \/>\nVendoring pacman (1.1.1) to \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/cookbooks\/pacman<br \/>\n2014\/07\/17 11:42:14 Post http:\/\/\/var\/run\/docker.sock\/build?rm=1&amp;t=demo%2Fapache2: dial unix \/var\/run\/docker.sock: permission denied<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ ls -l \/var\/run\/docker.*<br \/>\n-rw-r--r-- 1 root root   4  7\u6708 17 11:27 \/var\/run\/docker.pid<br \/>\nsrw-rw---- 1 root docker 0  7\u6708 17 11:27 \/var\/run\/docker.sock<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>\u30e6\u30fc\u30b6\u3092 docker \u30b0\u30eb\u30fc\u30d7\u306b\u6240\u5c5e\u3055\u305b\u3066\u304a\u304f\u306e\u3092\u5fd8\u308c\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ groups<br \/>\nubuntu adm cdrom sudo dip plugdev lpadmin sambashare<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>\u30e6\u30fc\u30b6\u3092 docker \u30b0\u30eb\u30fc\u30d7\u306b\u6240\u5c5e\u3055\u305b\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ groups<br \/>\nubuntu adm cdrom sudo dip plugdev lpadmin sambashare docker<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>\u518d\u5ea6\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ knife container docker build demo\/apache2 -z<br \/>\nWARNING: No knife configuration file found<br \/>\nUSAGE: knife container docker build REPO\/NAME [options]<br \/>\n:<br \/>\n:<br \/>\n:<br \/>\nFATAL: A `cookbooks` directory already exists. You must either remove this directory from your dockerfile directory or use the `force` flag<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>cookbooks \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u65e2\u306b\u5b58\u5728\u3057\u3066\u3044\u308b\u3068\u3044\u3046\u30a8\u30e9\u30fc\u3067\u3059\u3002<br \/>\n\u3069\u3053\u306b\u4f5c\u6210\u3055\u308c\u3066\u3044\u308b\u306e\u304b\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ tree dockerfiles\/<br \/>\ndockerfiles\/<br \/>\n\u2514\u2500\u2500 demo<br \/>\n\u2514\u2500\u2500 apache2<br \/>\n\u251c\u2500\u2500 Berksfile<br \/>\n\u251c\u2500\u2500 Berksfile.lock<br \/>\n\u251c\u2500\u2500 Dockerfile<br \/>\n\u2514\u2500\u2500 chef<br \/>\n\u251c\u2500\u2500 cookbooks<br \/>\n\u2502   \u251c\u2500\u2500 Berksfile.lock<br \/>\n\u2502   \u251c\u2500\u2500 apache2<br \/>\n(\u4e2d\u7565)<br \/>\n\u2502   \u251c\u2500\u2500 iptables<br \/>\n(\u4e2d\u7565)<br \/>\n\u2502   \u251c\u2500\u2500 logrotate<br \/>\n(\u4e2d\u7565)<br \/>\n\u2502   \u2514\u2500\u2500 pacman<br \/>\n(\u4e2d\u7565)<br \/>\n\u251c\u2500\u2500 environments<br \/>\n\u2502   \u2514\u2500\u2500 README.md<br \/>\n\u251c\u2500\u2500 first-boot.json<br \/>\n\u251c\u2500\u2500 roles<br \/>\n\u2502   \u2514\u2500\u2500 README.md<br \/>\n\u2514\u2500\u2500 zero.rb<\/code><\/p>\n<p><code><br \/>\n<\/code><\/p>\n<p><code>35 directories, 165 files<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>\u4e00\u65e6\u524a\u9664\u3057\u3066\u3057\u307e\u3044\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ \/bin\/rm -rf dockerfiles\/demo\/apache2\/chef\/cookbooks\/<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>\u518d\u5ea6\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ knife container docker build demo\/apache2 -z<br \/>\nWARNING: No knife configuration file found<br \/>\nResolving cookbook dependencies...<br \/>\nUsing apache2 (1.10.4)<br \/>\nUsing iptables (0.13.2)<br \/>\nUsing pacman (1.1.1)<br \/>\nUsing logrotate (1.6.0)<br \/>\nResolving cookbook dependencies...<br \/>\nUsing apache2 (1.10.4)<br \/>\nUsing iptables (0.13.2)<br \/>\nUsing pacman (1.1.1)<br \/>\nUsing logrotate (1.6.0)<br \/>\nVendoring apache2 (1.10.4) to \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/cookbooks\/apache2<br \/>\nVendoring iptables (0.13.2) to \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/cookbooks\/iptables<br \/>\nVendoring logrotate (1.6.0) to \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/cookbooks\/logrotate<br \/>\nVendoring pacman (1.1.1) to \/home\/ubuntu\/chef-repo\/dockerfiles\/demo\/apache2\/chef\/cookbooks\/pacman<br \/>\nSending build context to Docker daemon 449.5 kB<br \/>\nSending build context to Docker daemon<br \/>\nStep 0 : FROM demo\/apache2<br \/>\nPulling repository demo\/apache2<br \/>\n2014\/07\/17 11:45:01 HTTP code: 404<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p><strong>demo\/apache2<\/strong> \u30a4\u30e1\u30fc\u30b8\u304c\u5b58\u5728\u3057\u306a\u3044\u3001\u3068\u306e\u3053\u3068\u3067\u3059\u3002\u305d\u3046\u3044\u3048\u3070\u5148\u306e Dockerfile \u5185\u3067\u6b21\u306e\u3088\u3046\u306a\u8a18\u8f09\u304c\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\n# BASE chef\/ubuntu-12.04:latest<br \/>\nFROM demo\/apache2<br \/>\n<\/code><\/p>\n<p><strong>chef\/ubuntu-12.04<\/strong> \u30a4\u30e1\u30fc\u30b8\u3068\u306f\u3001<a href=\"https:\/\/registry.hub.docker.com\/u\/chef\/ubuntu-12.04\/\">DockerHub \u306e chef\/ubuntu-12.04<\/a> \u306e\u3088\u3046\u3067\u3059\u3002<br \/>\n\u73fe\u72b6\u3067\u306f\u3069\u3093\u306a\u30a4\u30e1\u30fc\u30b8\u306b\u5bfe\u3057\u3066\u3082\u5b9f\u884c\u3067\u304d\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u65e2\u5b9a\u306e\u3053\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u4f7f\u308f\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\u3088\u3046\u3067\u3059(\u53c2\u8003: <a href=\"https:\/\/twitter.com\/wenbose\/status\/489324839841173506\">wenbose\u3055\u3093\u306e\u30c4\u30a4\u30fc\u30c8<\/a>, <a href=\"http:\/\/jedipunkz.github.io\/blog\/2014\/07\/16\/chef-container\/\">Chef-Container Beta \u3092\u4f7f\u3063\u3066\u307f\u308b<\/a>)\u3002<\/p>\n<p>\u4e00\u65e6\u3053\u306e Docker \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306f\u7834\u68c4\u3057\u3001<strong>chef\/ubuntu-12.04<\/strong> \u3092\u7528\u3044\u308b\u3088\u3046\u306b\u3084\u308a\u76f4\u3057\u307e\u3059\u3002<\/p>\n<h2>knife-container \u306e\u518d\u5b9f\u884c<\/h2>\n<h3>Docker \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u521d\u671f\u5316<\/h3>\n<p>\u5148\u7a0b\u5931\u6557\u3057\u305f Docker \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3092\u524a\u9664\u3057\u307e\u3059\u3002\u540d\u524d\u3092\u5909\u3048\u308b\u306e\u3067\u5fc5\u8981\u306a\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3001\u5ff5\u306e\u305f\u3081\u3067\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ \/bin\/rm -rf dockerfiles\/demo<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>Docker \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u521d\u671f\u5316\u9805\u76ee\u306f\u3001<\/p>\n<ul>\n<li>\u30a4\u30e1\u30fc\u30b8\u540d: <strong>chef\/ubuntu-12.04<\/strong><\/li>\n<li>run-list: recipe[apache2]<\/li>\n<li>-z: \u30ed\u30fc\u30ab\u30eb\u30e2\u30fc\u30c9\u3067\u5b9f\u884c<\/li>\n<li>-b: Berkshelf \u3092\u5229\u7528<\/li>\n<\/ul>\n<p>\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u30a4\u30e1\u30fc\u30b8\u540d\u3092\u5909\u66f4\u3057\u307e\u3057\u305f\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ knife container docker init chef\/ubuntu-12.04 -r 'recipe[apache2]' -z -b<br \/>\nWARNING: No knife configuration file found<br \/>\nCompiling Cookbooks...<br \/>\nRecipe: knife_container::docker_init<br \/>\n* directory[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04] action create<br \/>\n- create new directory \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04<br \/>\n* template[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/Dockerfile] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/Dockerfile<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/Dockerfile from none to 57c377<br \/>\n(diff output suppressed by config)<br \/>\n* template[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/.dockerignore] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/.dockerignore<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/.dockerignore from none to e3b0c4<br \/>\n(diff output suppressed by config)<br \/>\n* directory[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef] action create<br \/>\n- create new directory \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef<br \/>\n* template[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/zero.rb] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/zero.rb<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/zero.rb from none to cde131<br \/>\n(diff output suppressed by config)<br \/>\n* file[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/first-boot.json] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/first-boot.json<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/first-boot.json from none to 1b9651<br \/>\n(diff output suppressed by config)<br \/>\n* template[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/.node_name] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/.node_name<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/.node_name from none to 26ac58<br \/>\n(diff output suppressed by config)<br \/>\n* template[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/Berksfile] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/Berksfile<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/Berksfile from none to 6a02b1<br \/>\n(diff output suppressed by config)<br \/>\n* execute[cp -r \/home\/ubuntu\/chef-repo\/roles\/ \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/roles\/] action run<br \/>\n- execute cp -r \/home\/ubuntu\/chef-repo\/roles\/ \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/roles\/<br \/>\n* execute[cp -r \/home\/ubuntu\/chef-repo\/environments\/ \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/environments\/] action run<br \/>\n- execute cp -r \/home\/ubuntu\/chef-repo\/environments\/ \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/environments\/<br \/>\n* execute[cp -r \/home\/ubuntu\/chef-repo\/nodes\/ \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/nodes\/] action run (skipped due to not_if)<br \/>\nDownloading base image: chef\/ubuntu-12.04:latest. This process may take awhile...<br \/>\nTagging base image chef\/ubuntu-12.04 as chef\/ubuntu-12.04<\/code><\/p>\n<p><code><br \/>\n<\/code><\/p>\n<p><code>Context Created: \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<h3>dockerfiles\/chef\/ubuntu-12.04\/Dockerfile<\/h3>\n<p>FROM \u304c <strong>chef\/ubuntu-12.04<\/strong> \u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\n# BASE chef\/ubuntu-12.04:latest<br \/>\nFROM chef\/ubuntu-12.04<br \/>\nADD chef\/ \/etc\/chef\/<br \/>\nRUN chef-init --bootstrap<br \/>\nRUN rm -rf \/etc\/chef\/secure\/*<br \/>\nENTRYPOINT [\"chef-init\"]<br \/>\nCMD [\"--onboot\"]<br \/>\n<\/code><\/p>\n<h3>dockerfiles\/chef\/ubuntu-12.04\/chef\/first-boot.json<\/h3>\n<p>\u540c\u69d8\u306b\u7de8\u96c6\u3057\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\n{<br \/>\n\"run_list\": [<br \/>\n\"recipe[apache2]\"<br \/>\n],<br \/>\n\"container_service\": {<br \/>\n\"apache2\": {<br \/>\n\"command\": \"\/usr\/sbin\/apache2 -k start\"<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\n<\/code><\/p>\n<h3>Docker \u30a4\u30e1\u30fc\u30b8\u306e\u30d3\u30eb\u30c9<\/h3>\n<p>Docker \u30a4\u30e1\u30fc\u30b8\u306e\u30d3\u30eb\u30c9\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ knife container docker build chef\/ubuntu-12.04 -z<br \/>\nWARNING: No knife configuration file found<br \/>\nResolving cookbook dependencies...<br \/>\nFetching cookbook index from https:\/\/api.berkshelf.com...<br \/>\nUsing apache2 (1.10.4)<br \/>\nUsing iptables (0.13.2)<br \/>\nUsing pacman (1.1.1)<br \/>\nUsing logrotate (1.6.0)<br \/>\nResolving cookbook dependencies...<br \/>\nUsing apache2 (1.10.4)<br \/>\nUsing iptables (0.13.2)<br \/>\nUsing pacman (1.1.1)<br \/>\nUsing logrotate (1.6.0)<br \/>\nVendoring apache2 (1.10.4) to \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/cookbooks\/apache2<br \/>\nVendoring iptables (0.13.2) to \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/cookbooks\/iptables<br \/>\nVendoring logrotate (1.6.0) to \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/cookbooks\/logrotate<br \/>\nVendoring pacman (1.1.1) to \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/cookbooks\/pacman<br \/>\nSending build context to Docker daemon 449.5 kB<br \/>\nSending build context to Docker daemon<br \/>\nStep 0 : FROM chef\/ubuntu-12.04<br \/>\n---&gt; 03fd2357596f<br \/>\nStep 1 : ADD chef\/ \/etc\/chef\/<br \/>\n---&gt; a5143667c17c<br \/>\nRemoving intermediate container 92b86799983b<br \/>\nStep 2 : RUN chef-init --bootstrap<br \/>\n---&gt; Running in d6be9bcc5364<\/code><\/p>\n<p><code><code><\/code><\/code><\/p>\n<p>#################################<br \/>\n# Welcome to Chef Container<br \/>\n#################################<\/p>\n<p><code><code><\/code><\/code><\/p>\n<p>[2014-07-17T03:12:05+00:00] INFO: Starting Supervisor...<br \/>\n[2014-07-17T03:12:05+00:00] INFO: Supervisor pid: 13<br \/>\n[2014-07-17T03:12:05+00:00] INFO: Waiting for Supervisor to start...<br \/>\n[2014-07-17T03:12:06+00:00] INFO: Starting chef-client run...<br \/>\n[2014-07-17T03:12:08+00:00] INFO: Starting chef-zero on port 8889 with repository at repository at \/etc\/chef<br \/>\nOne version per cookbook<\/p>\n<p><code><br \/>\n<\/code><\/p>\n<p><code>[2014-07-17T03:12:08+00:00] INFO: Forking chef instance to converge...<br \/>\n[2014-07-17T03:12:08+00:00] INFO: *** Chef 11.12.8 ***<br \/>\n:<br \/>\n:<br \/>\n:<br \/>\n================================================================================<br \/>\nError executing action `install` on resource 'package[apache2]'<br \/>\n================================================================================<br \/>\n:<br \/>\n:<br \/>\n:<br \/>\n---- End output of apt-get -q -y install apache2=2.2.22-1ubuntu1.6 ----<br \/>\nRan apt-get -q -y install apache2=2.2.22-1ubuntu1.6 returned 100<br \/>\n[2014-07-17T03:12:25+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)<br \/>\n[2014-07-17T03:12:25+00:00] INFO: Deleting client key...<br \/>\n---&gt; e748dce73519<br \/>\nRemoving intermediate container d6be9bcc5364<br \/>\nStep 3 : RUN rm -rf \/etc\/chef\/secure\/*<br \/>\n---&gt; Running in 864662da516b<br \/>\n---&gt; 2390dc2e7d05<br \/>\nRemoving intermediate container 864662da516b<br \/>\nStep 4 : ENTRYPOINT [\"chef-init\"]<br \/>\n---&gt; Running in 839b86e3225e<br \/>\n---&gt; 42c8badde9fe<br \/>\nRemoving intermediate container 839b86e3225e<br \/>\nStep 5 : CMD [\"--onboot\"]<br \/>\n---&gt; Running in 0df948bd156d<br \/>\n---&gt; 6ddbd9003b5d<br \/>\nRemoving intermediate container 0df948bd156d<br \/>\nSuccessfully built 6ddbd9003b5d<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>\u5931\u6557\u3057\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002\u3053\u308c\u306f\u304a\u305d\u3089\u304f <strong>apt-get update<\/strong> \u3057\u306a\u3044\u3068\u3044\u3051\u306a\u3044\u3068\u3044\u3046\u304a\u306a\u3058\u307f\u306e\u30d1\u30bf\u30fc\u30f3\u306e\u3088\u3046\u306b\u898b\u3048\u307e\u3059\u3002<strong>apt<\/strong> Cookbook \u3092\u8ffd\u52a0\u3057\u3066\u3084\u308a\u76f4\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<h2>knife-container \u306e\u518d\u3005\u5b9f\u884c<\/h2>\n<h3>Docker \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u521d\u671f\u5316<\/h3>\n<p>\u5148\u7a0b\u5931\u6557\u3057\u305f Docker \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3092\u524a\u9664\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ \/bin\/rm -rf dockerfiles\/chef<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>Docker \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u521d\u671f\u5316\u9805\u76ee\u306f\u3001<\/p>\n<ul>\n<li>\u30a4\u30e1\u30fc\u30b8\u540d: chef\/ubuntu-12.04<\/li>\n<li>run-list: <strong>recipe[apt]<\/strong>,recipe[apache2]<\/li>\n<li>-z: \u30ed\u30fc\u30ab\u30eb\u30e2\u30fc\u30c9\u3067\u5b9f\u884c<\/li>\n<li>-b: Berkshelf \u3092\u5229\u7528<\/li>\n<\/ul>\n<p>\u3068\u3057\u307e\u3059\u3002run-list \u306b <strong>recipe[apt]<\/strong> \u3092\u52a0\u3048\u307e\u3057\u305f\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ knife container docker init chef\/ubuntu-12.04 -r 'recipe[apt],recipe[apache2]' -z -b<br \/>\nWARNING: No knife configuration file found<br \/>\nCompiling Cookbooks...<br \/>\nRecipe: knife_container::docker_init<br \/>\n* directory[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04] action create<br \/>\n- create new directory \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04<br \/>\n* template[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/Dockerfile] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/Dockerfile<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/Dockerfile from none to 57c377<br \/>\n(diff output suppressed by config)<br \/>\n* template[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/.dockerignore] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/.dockerignore<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/.dockerignore from none to e3b0c4<br \/>\n(diff output suppressed by config)<br \/>\n* directory[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef] action create<br \/>\n- create new directory \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef<br \/>\n* template[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/zero.rb] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/zero.rb<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/zero.rb from none to cde131<br \/>\n(diff output suppressed by config)<br \/>\n* file[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/first-boot.json] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/first-boot.json<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/first-boot.json from none to 1729a3<br \/>\n(diff output suppressed by config)<br \/>\n* template[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/.node_name] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/.node_name<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/.node_name from none to 26ac58<br \/>\n(diff output suppressed by config)<br \/>\n* template[\/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/Berksfile] action create<br \/>\n- create new file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/Berksfile<br \/>\n- update content in file \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/Berksfile from none to a21c1e<br \/>\n(diff output suppressed by config)<br \/>\n* execute[cp -r \/home\/ubuntu\/chef-repo\/roles\/ \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/roles\/] action run<br \/>\n- execute cp -r \/home\/ubuntu\/chef-repo\/roles\/ \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/roles\/<br \/>\n* execute[cp -r \/home\/ubuntu\/chef-repo\/environments\/ \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/environments\/] action run<br \/>\n- execute cp -r \/home\/ubuntu\/chef-repo\/environments\/ \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/environments\/<br \/>\n* execute[cp -r \/home\/ubuntu\/chef-repo\/nodes\/ \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/nodes\/] action run (skipped due to not_if)<br \/>\nDownloading base image: chef\/ubuntu-12.04:latest. This process may take awhile...<br \/>\nTagging base image chef\/ubuntu-12.04 as chef\/ubuntu-12.04<\/code><\/p>\n<p><code><br \/>\n<\/code><\/p>\n<p><code>Context Created: \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<h3>dockerfiles\/chef\/ubuntu-12.04\/chef\/first-boot.json<\/h3>\n<p>\u540c\u69d8\u306b\u7de8\u96c6\u3057\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\n{<br \/>\n\"run_list\": [<br \/>\n\"recipe[apt]\",<br \/>\n\"recipe[apache2]\"<br \/>\n],<br \/>\n\"container_service\": {<br \/>\n\"apache2\": {<br \/>\n\"command\": \"\/usr\/sbin\/apache2 -k start\"<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\n<\/code><\/p>\n<h3>Docker \u30a4\u30e1\u30fc\u30b8\u306e\u30d3\u30eb\u30c9<\/h3>\n<p>Docker \u30a4\u30e1\u30fc\u30b8\u306e\u30d3\u30eb\u30c9\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ knife container docker build chef\/ubuntu-12.04 -z<br \/>\nWARNING: No knife configuration file found<br \/>\nResolving cookbook dependencies...<br \/>\nFetching cookbook index from https:\/\/api.berkshelf.com...<br \/>\nUsing apache2 (1.10.4)<br \/>\nInstalling apt (2.4.0) from https:\/\/api.berkshelf.com ([opscode] https:\/\/supermarket.getchef.com\/api\/v1)<br \/>\nUsing iptables (0.13.2)<br \/>\nUsing logrotate (1.6.0)<br \/>\nUsing pacman (1.1.1)<br \/>\nResolving cookbook dependencies...<br \/>\nUsing apache2 (1.10.4)<br \/>\nUsing apt (2.4.0)<br \/>\nUsing iptables (0.13.2)<br \/>\nUsing logrotate (1.6.0)<br \/>\nUsing pacman (1.1.1)<br \/>\nVendoring apache2 (1.10.4) to \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/cookbooks\/apache2<br \/>\nVendoring apt (2.4.0) to \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/cookbooks\/apt<br \/>\nVendoring iptables (0.13.2) to \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/cookbooks\/iptables<br \/>\nVendoring logrotate (1.6.0) to \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/cookbooks\/logrotate<br \/>\nVendoring pacman (1.1.1) to \/home\/ubuntu\/chef-repo\/dockerfiles\/chef\/ubuntu-12.04\/chef\/cookbooks\/pacman<br \/>\nSending build context to Docker daemon   553 kB<br \/>\nSending build context to Docker daemon<br \/>\nStep 0 : FROM chef\/ubuntu-12.04<br \/>\n---&gt; 03fd2357596f<br \/>\nStep 1 : ADD chef\/ \/etc\/chef\/<br \/>\n---&gt; 41c9853b7993<br \/>\nRemoving intermediate container 7db0f558d525<br \/>\nStep 2 : RUN chef-init --bootstrap<br \/>\n---&gt; Running in f83cde623020<\/code><\/p>\n<p><code><code><\/code><\/code><\/p>\n<p>#################################<br \/>\n# Welcome to Chef Container<br \/>\n#################################<\/p>\n<p><code><code><\/code><\/code><\/p>\n<p>[2014-07-17T03:16:57+00:00] INFO: Starting Supervisor...<br \/>\n[2014-07-17T03:16:57+00:00] INFO: Supervisor pid: 13<br \/>\n[2014-07-17T03:16:57+00:00] INFO: Waiting for Supervisor to start...<br \/>\n[2014-07-17T03:16:58+00:00] INFO: Starting chef-client run...<br \/>\n[2014-07-17T03:17:00+00:00] INFO: Starting chef-zero on port 8889 with repository at repository at \/etc\/chef<br \/>\nOne version per cookbook<\/p>\n<p><code><br \/>\n<\/code><\/p>\n<p><code>[2014-07-17T03:17:00+00:00] INFO: Forking chef instance to converge...<br \/>\n[2014-07-17T03:17:00+00:00] INFO: *** Chef 11.12.8 ***<br \/>\n:<br \/>\n:<br \/>\n:<br \/>\n[2014-07-17T03:18:25+00:00] INFO: service[apache2] reloaded<br \/>\n[2014-07-17T03:18:25+00:00] INFO: Chef Run complete in 83.665531937 seconds<br \/>\n[2014-07-17T03:18:25+00:00] INFO: Running report handlers<br \/>\n[2014-07-17T03:18:25+00:00] INFO: Report handlers complete<br \/>\n[2014-07-17T03:18:27+00:00] INFO: Deleting client key...<br \/>\n---&gt; 74b008b52971<br \/>\nRemoving intermediate container f83cde623020<br \/>\nStep 3 : RUN rm -rf \/etc\/chef\/secure\/*<br \/>\n---&gt; Running in 98cfdb6c473e<br \/>\n---&gt; 8e9fa8896021<br \/>\nRemoving intermediate container 98cfdb6c473e<br \/>\nStep 4 : ENTRYPOINT [\"chef-init\"]<br \/>\n---&gt; Running in 50b09990baf3<br \/>\n---&gt; 09a86e1b033e<br \/>\nRemoving intermediate container 50b09990baf3<br \/>\nStep 5 : CMD [\"--onboot\"]<br \/>\n---&gt; Running in c248f5dc9acf<br \/>\n---&gt; 1d31ef4b443c<br \/>\nRemoving intermediate container c248f5dc9acf<br \/>\nSuccessfully built 1d31ef4b443c<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>\u3088\u3046\u3084\u304f Docker \u30a4\u30e1\u30fc\u30b8\u306e\u30d3\u30eb\u30c9\u306b\u6210\u529f\u3057\u307e\u3057\u305f\u3002<\/p>\n<h2>Docker \u30a4\u30e1\u30fc\u30b8\u306e\u78ba\u8a8d<\/h2>\n<p>\u4eca\u4f5c\u6210\u3057\u305f <strong>chef\/ubuntu-12.04<\/strong> \u306e <strong>1d31ef4b443c<\/strong> \u304c\u5b58\u5728\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ docker images<br \/>\nREPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE<br \/>\nchef\/ubuntu-12.04   latest              1d31ef4b443c        24 seconds ago      505.8 MB<br \/>\n6ddbd9003b5d        6 minutes ago       411.6 MB<br \/>\nubuntu              latest              e54ca5efa2e9        4 weeks ago         276.5 MB<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<h2>Docker \u30b3\u30f3\u30c6\u30ca\u306e\u30ed\u30fc\u30f3\u30c1<\/h2>\n<p>Docker \u30b3\u30f3\u30c6\u30ca\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ docker run -d chef\/ubuntu-12.04<br \/>\n8a2fec9583be3ffd3159549647033a986ea9a1fa00b7958a21e9f50f91e7dc9b<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>\u30b3\u30f3\u30c6\u30ca\u304c\u52d5\u4f5c\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ docker ps<br \/>\nCONTAINER ID        IMAGE                      COMMAND              CREATED             STATUS              PORTS               NAMES<br \/>\n8a2fec9583be        chef\/ubuntu-12.04:latest   chef-init --onboot   8 seconds ago       Up 8 seconds                            trusting_sammet<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>\u30b3\u30f3\u30c6\u30ca\u5185\u306e\u30d7\u30ed\u30bb\u30b9\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ docker top 8a2fec9583be<br \/>\nUID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD<br \/>\nroot                6742                2664                0                   12:19               ?                   00:00:00            \/opt\/chef\/embedded\/bin\/ruby \/usr\/bin\/chef-init --onboot<br \/>\nroot                6763                6742                0                   12:19               ?                   00:00:00            sh -c \/opt\/chef\/embedded\/bin\/runsvdir -P \/opt\/chef\/service 'log: ...........................................................................................................................................................................................................................................................................................................................................................................................................'<br \/>\nroot                6765                6763                0                   12:19               ?                   00:00:00            \/opt\/chef\/embedded\/bin\/runsvdir -P \/opt\/chef\/service log: ...........................................................................................................................................................................................................................................................................................................................................................................................................<br \/>\nroot                6966                6742                0                   12:19               ?                   00:00:00            \/usr\/sbin\/apache2 -k start<br \/>\nwww-data            6970                6966                0                   12:19               ?                   00:00:00            \/usr\/sbin\/apache2 -k start<br \/>\nwww-data            6972                6966                0                   12:19               ?                   00:00:00            \/usr\/sbin\/apache2 -k start<br \/>\nwww-data            6973                6966                0                   12:19               ?                   00:00:00            \/usr\/sbin\/apache2 -k start<br \/>\nwww-data            6974                6966                0                   12:19               ?                   00:00:00            \/usr\/sbin\/apache2 -k start<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>\u30b3\u30f3\u30c6\u30ca\u306e IP \u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ docker inspect -format=\"{{ .NetworkSettings.IPAddress }}\" 8a2fec9583be<br \/>\nWarning: '-format' is deprecated, it will be replaced by '--format' soon. See usage.<br \/>\n172.17.0.8<br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>\u30b3\u30f3\u30c6\u30ca\u306e apache2 \u306b\u30a2\u30af\u30bb\u30b9\u3057\u307e\u3059\u3002<\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$ curl 172.17.0.8<\/p>\n<p><\/code><\/p>\n<p><code><code><\/code><\/code><\/p>\n<h1>Not Found<\/h1>\n<p><code><code><\/code><\/code><\/p>\n<p>The requested URL \/ was not found on this server.<\/p>\n<p><code><code><\/code><\/code><\/p>\n<hr \/>\n<p><code><code><\/code><\/code><\/p>\n<address>Apache Server at 172.17.0.8 Port 80<\/address>\n<p><code><br \/>\n<\/code><\/p>\n<p><code><br \/>\nubuntu@ubuntu:~\/chef-repo$<br \/>\n<\/code><\/p>\n<p>\u52d5\u4f5c\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<h2>\u307e\u3068\u3081<\/h2>\n<p>Chef Container \u306f\u307e\u3060\u307e\u3060 beta \u7248\u3067\u3053\u306a\u308c\u3066\u3044\u306a\u3044\u90e8\u5206\u306f\u591a\u3044\u3067\u3059\u304c\u3001\u6700\u4f4e\u9650\u306e\u30b3\u30f3\u30bb\u30d7\u30c8\u306f\u308f\u304b\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u4eca\u5f8c\u306e\u6539\u5584\u306b\u671f\u5f85\u3057\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6ce8\u610f: Chef Provisioning \u3068 Docker \u306e\u7d44\u307f\u5408\u308f\u305b\u3068\u3057\u3066 knife-container \u304c\u3042\u308a\u307e\u3057\u305f\u304c\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u7d42\u4e86\u3057\u3066\u304a\u308a\u3001\u73fe\u5728\u306f chef-provisioning-docker \u306e\u5229\u7528\u304c [&#8230;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[36,31,43],"tags":[],"class_list":["post-5432","post","type-post","status-publish","format-standard","hentry","category-chef","category-higuchi","category-docker"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Chef Container 0.2.0 (beta) \u3067 Docker \u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3059\u308b #opschef_ja #getchef_ja #dockerjp - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3<\/title>\n<meta name=\"description\" content=\"Chef, d-higuchi, Docker |\u6ce8\u610f: Chef Provisioning \u3068 Docker \u306e\u7d44\u307f\u5408\u308f\u305b\u3068\u3057\u3066 knife-container\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/5432\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Chef Container 0.2.0 (beta) \u3067 Docker \u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3059\u308b #opschef_ja #getchef_ja #dockerjp - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"og:description\" content=\"Chef, d-higuchi, Docker |\u6ce8\u610f: Chef Provisioning \u3068 Docker \u306e\u7d44\u307f\u5408\u308f\u305b\u3068\u3057\u3066 knife-container\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/5432\" \/>\n<meta property=\"og:site_name\" content=\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/creationline\" \/>\n<meta property=\"article:published_time\" content=\"2014-07-17T07:45:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-29T03:58:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2026\/01\/screenshot.png\" \/>\n\t<meta property=\"og:image:width\" content=\"470\" \/>\n\t<meta property=\"og:image:height\" content=\"394\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Daisuke Higuchi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@creationline\" \/>\n<meta name=\"twitter:site\" content=\"@creationline\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daisuke Higuchi\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"17\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cloudnative\\\/chef\\\/5432#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cloudnative\\\/chef\\\/5432\"},\"author\":{\"name\":\"Daisuke Higuchi\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/16f1373831fb6fd17387f16ae1195206\"},\"headline\":\"Chef Container 0.2.0 (beta) \u3067 Docker \u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3059\u308b #opschef_ja #getchef_ja #dockerjp\",\"datePublished\":\"2014-07-17T07:45:36+00:00\",\"dateModified\":\"2023-08-29T03:58:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cloudnative\\\/chef\\\/5432\"},\"wordCount\":349,\"articleSection\":[\"Chef\",\"d-higuchi\",\"Docker\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cloudnative\\\/chef\\\/5432\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cloudnative\\\/chef\\\/5432\",\"name\":\"Chef Container 0.2.0 (beta) \u3067 Docker \u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3059\u308b #opschef_ja #getchef_ja #dockerjp - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#website\"},\"datePublished\":\"2014-07-17T07:45:36+00:00\",\"dateModified\":\"2023-08-29T03:58:08+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/16f1373831fb6fd17387f16ae1195206\"},\"description\":\"Chef, d-higuchi, Docker |\u6ce8\u610f: Chef Provisioning \u3068 Docker \u306e\u7d44\u307f\u5408\u308f\u305b\u3068\u3057\u3066 knife-container\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cloudnative\\\/chef\\\/5432#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cloudnative\\\/chef\\\/5432\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cloudnative\\\/chef\\\/5432#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"HOME\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cloudnative\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Chef\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cloudnative\\\/chef\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Chef Container 0.2.0 (beta) \u3067 Docker \u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3059\u308b #opschef_ja #getchef_ja #dockerjp\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#website\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/\",\"name\":\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"description\":\"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/16f1373831fb6fd17387f16ae1195206\",\"name\":\"Daisuke Higuchi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/d-higuchi-wp-icon-230x230.png\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/d-higuchi-wp-icon-230x230.png\",\"contentUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/d-higuchi-wp-icon-230x230.png\",\"caption\":\"Daisuke Higuchi\"},\"description\":\"Chef\u30fbDocker\u30fbMirantis\u88fd\u54c1\u306a\u3069\u306e\u6280\u8853\u8981\u7d20\u306b\u52a0\u3048\u3066\u3001\u4f1a\u8b70\u306e\u9032\u3081\u65b9\u30fb\u6587\u7ae0\u306e\u66f8\u304d\u65b9\u306a\u3069\u306e\u696d\u52d9\u6539\u5584\u306b\u3082\u53d6\u308a\u7d44\u3093\u3067\u3044\u307e\u3059\u3002\u300cChef\u6d3b\u7528\u30ac\u30a4\u30c9\u300d\u5171\u8457\u306e\u307b\u304b\u3001Debian Official Developer\u3082\u3084\u3063\u3066\u3044\u307e\u3059\u3002\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/higuchi\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Chef Container 0.2.0 (beta) \u3067 Docker \u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3059\u308b #opschef_ja #getchef_ja #dockerjp - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"Chef, d-higuchi, Docker |\u6ce8\u610f: Chef Provisioning \u3068 Docker \u306e\u7d44\u307f\u5408\u308f\u305b\u3068\u3057\u3066 knife-container","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/5432","og_locale":"ja_JP","og_type":"article","og_title":"Chef Container 0.2.0 (beta) \u3067 Docker \u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3059\u308b #opschef_ja #getchef_ja #dockerjp - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","og_description":"Chef, d-higuchi, Docker |\u6ce8\u610f: Chef Provisioning \u3068 Docker \u306e\u7d44\u307f\u5408\u308f\u305b\u3068\u3057\u3066 knife-container","og_url":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/5432","og_site_name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","article_publisher":"https:\/\/www.facebook.com\/creationline","article_published_time":"2014-07-17T07:45:36+00:00","article_modified_time":"2023-08-29T03:58:08+00:00","og_image":[{"width":470,"height":394,"url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2026\/01\/screenshot.png","type":"image\/png"}],"author":"Daisuke Higuchi","twitter_card":"summary_large_image","twitter_creator":"@creationline","twitter_site":"@creationline","twitter_misc":{"\u57f7\u7b46\u8005":"Daisuke Higuchi","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"17\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/5432#article","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/5432"},"author":{"name":"Daisuke Higuchi","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/16f1373831fb6fd17387f16ae1195206"},"headline":"Chef Container 0.2.0 (beta) \u3067 Docker \u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3059\u308b #opschef_ja #getchef_ja #dockerjp","datePublished":"2014-07-17T07:45:36+00:00","dateModified":"2023-08-29T03:58:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/5432"},"wordCount":349,"articleSection":["Chef","d-higuchi","Docker"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/5432","url":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/5432","name":"Chef Container 0.2.0 (beta) \u3067 Docker \u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3059\u308b #opschef_ja #getchef_ja #dockerjp - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#website"},"datePublished":"2014-07-17T07:45:36+00:00","dateModified":"2023-08-29T03:58:08+00:00","author":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/16f1373831fb6fd17387f16ae1195206"},"description":"Chef, d-higuchi, Docker |\u6ce8\u610f: Chef Provisioning \u3068 Docker \u306e\u7d44\u307f\u5408\u308f\u305b\u3068\u3057\u3066 knife-container","breadcrumb":{"@id":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/5432#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/5432"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/5432#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"HOME","item":"https:\/\/www.creationline.com\/tech-blog"},{"@type":"ListItem","position":2,"name":"\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6","item":"https:\/\/www.creationline.com\/tech-blog\/cloudnative"},{"@type":"ListItem","position":3,"name":"Chef","item":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef"},{"@type":"ListItem","position":4,"name":"Chef Container 0.2.0 (beta) \u3067 Docker \u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3059\u308b #opschef_ja #getchef_ja #dockerjp"}]},{"@type":"WebSite","@id":"https:\/\/www.creationline.com\/tech-blog\/#website","url":"https:\/\/www.creationline.com\/tech-blog\/","name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.creationline.com\/tech-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/16f1373831fb6fd17387f16ae1195206","name":"Daisuke Higuchi","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/08\/d-higuchi-wp-icon-230x230.png","url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/08\/d-higuchi-wp-icon-230x230.png","contentUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/08\/d-higuchi-wp-icon-230x230.png","caption":"Daisuke Higuchi"},"description":"Chef\u30fbDocker\u30fbMirantis\u88fd\u54c1\u306a\u3069\u306e\u6280\u8853\u8981\u7d20\u306b\u52a0\u3048\u3066\u3001\u4f1a\u8b70\u306e\u9032\u3081\u65b9\u30fb\u6587\u7ae0\u306e\u66f8\u304d\u65b9\u306a\u3069\u306e\u696d\u52d9\u6539\u5584\u306b\u3082\u53d6\u308a\u7d44\u3093\u3067\u3044\u307e\u3059\u3002\u300cChef\u6d3b\u7528\u30ac\u30a4\u30c9\u300d\u5171\u8457\u306e\u307b\u304b\u3001Debian Official Developer\u3082\u3084\u3063\u3066\u3044\u307e\u3059\u3002","url":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi"}]}},"_links":{"self":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/5432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/comments?post=5432"}],"version-history":[{"count":1,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/5432\/revisions"}],"predecessor-version":[{"id":65752,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/5432\/revisions\/65752"}],"wp:attachment":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/media?parent=5432"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/categories?post=5432"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/tags?post=5432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}