{"id":3829,"date":"2022-01-30T16:10:24","date_gmt":"2022-01-30T07:10:24","guid":{"rendered":"https:\/\/suzutukiblog.com\/?p=3829"},"modified":"2022-03-20T19:52:07","modified_gmt":"2022-03-20T10:52:07","slug":"docker-6","status":"publish","type":"post","link":"https:\/\/suzutukiblog.com\/index.php\/2022\/01\/30\/docker-6\/","title":{"rendered":"Docker\u3067\u30b3\u30de\u30f3\u30c9\u3092\u5fd8\u308c\u305f\u6642\u306b\u898b\u308b\u3084\u3064"},"content":{"rendered":"<h1>\u30b3\u30f3\u30c6\u30ca\u95a2\u9023<\/h1>\n<h3>\u30b3\u30f3\u30c6\u30ca\u306e\u4f5c\u6210<\/h3>\n<pre>\u00a0docker-compose build<\/pre>\n<h3>\u30b3\u30f3\u30c6\u30ca\u306e\u4e2d\u8eab\u3092\u524a\u9664<\/h3>\n<pre>docker-compose down<\/pre>\n<h3>\u30b3\u30f3\u30c6\u30ca\u306e\u8d77\u52d5(web server\u306e\u8d77\u52d5\uff09<\/h3>\n<p>docker-compose.yml\u3092\u4f7f\u3063\u3066\u8d77\u52d5\u3057\u307e\u3059<\/p>\n<p>\u69cb\u6587<\/p>\n<pre> <strong>docker-compose up [option] [service\u540d]<\/strong><\/pre>\n<h3>\u901a\u5e38\u8d77\u52d5<\/h3>\n<pre>docker-compose up<\/pre>\n<h3>rails(\u30b5\u30fc\u30d3\u30b9\u540d)\u8d77\u52d5<\/h3>\n<pre>docker-compose up rails<\/pre>\n<h3>\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u3067\u5b9f\u884c<\/h3>\n<pre>docker-compose up -d \r\ndocker-compose up -d rails<\/pre>\n<h3>build\u3082\u5b9f\u884c<\/h3>\n<pre>docker-compose up -build<\/pre>\n<h3>build\u3092\u3057\u306a\u3044<\/h3>\n<pre> docker-compose up -no-build<\/pre>\n<h3>\u30b3\u30f3\u30c6\u30ca\u8d77\u52d5\u95a2\u9023<\/h3>\n<pre>docker-compose start\r\ndocker-compose stop\r\n\r\n#Gemfile\u306e\u66f4\u65b0\u3092\u3057\u305f\u3089\u3001\u5b9f\u65bd\u3059\u308b\r\ndocker-compose restart<\/pre>\n<h3>\u30b3\u30f3\u30c6\u30ca\u306e\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3092\u79d2\u6307\u5b9a<\/h3>\n<pre>\u00a0docker-compose up -t<\/pre>\n<h3>\u30b5\u30fc\u30d3\u30b9\u306e\u6570\u3092\u6307\u5b9a<\/h3>\n<pre>docker-compose up -scale SERVICE=\u30b5\u30fc\u30d3\u30b9\u6570<\/pre>\n<p><!--more--><\/p>\n<h1>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u95a2\u9023<\/h1>\n<h3>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f5c\u6210\u3059\u308b\u30b3\u30de\u30f3\u30c9<\/h3>\n<pre>docker-compose run web bundle exec rake db:create<\/pre>\n<h3>\u30e2\u30c7\u30eb\u3092\u8ffd\u52a0\u3059\u308b\u30b3\u30de\u30f3\u30c9<\/h3>\n<pre>docker-compose run web bundle exec rails g model task user:references name:string cotent:text<\/pre>\n<h3>\u30e2\u30c7\u30eb\u3092\u524a\u9664\u3057\u305f\u3044\u3068\u304d\u306e\u30b3\u30de\u30f3\u30c9<\/h3>\n<pre>docker-compose run web bundle exec rails destroy model task<\/pre>\n<h3>\u30e2\u30c7\u30eb\u306b\u30ab\u30e9\u30e0\u3092\u8ffd\u52a0\u3059\u308b\u306b\u306f\uff1f<\/h3>\n<p><strong>docker-compose run web bundle exec rails g migration AddYYYToXXX \u30ab\u30e9\u30e0\u540d:\u30c7\u30fc\u30bf\u578b\u3000(XXX\u306f\u30c6\u30fc\u30d6\u30eb\u540d\u3001YYY\u306f\u30ab\u30e9\u30e0\u540d)\u00a0<\/strong><\/p>\n<pre>docker-compose run web bundle exec rails g migration AddDetailsToLists event:text respect:text disdain:text boss:text guidance:text<\/pre>\n<h3>\u8907\u6570\u8ffd\u52a0\u306e\u3068\u304d\u306fAddDetailsToLists\u306e\u3088\u3046\u306b\u30ab\u30e9\u30e0\u540d\u306f\u4efb\u610f\u3067\u826f\u3044(\u5358\u4f53\u306e\u5834\u5408\u306f\u8ffd\u52a0\u3057\u305f\u3044\u30ab\u30e9\u30e0\u540d\uff09<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1513\" src=\"https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/f14efb5b78419c026f7b68080c2e3b69-1.png\" alt=\"\" width=\"740\" height=\"633\" srcset=\"https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/f14efb5b78419c026f7b68080c2e3b69-1.png 740w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/f14efb5b78419c026f7b68080c2e3b69-1-300x257.png 300w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/f14efb5b78419c026f7b68080c2e3b69-1-624x534.png 624w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/p>\n<p>\u2191\u306e\u3088\u3046\u306b\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u30d5\u30a1\u30a4\u30eb\u304c\u751f\u6210\u3055\u308c\u308b<\/p>\n<h3>\u30de\u30a4\u30b0\u30ec\u30fc\u30c8\u3059\u308b<\/h3>\n<pre>docker-compose run web bundle exec rake db:migrate<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1515\" src=\"https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/4770d56bb5fa2d0731153ea3dc3e3ea4-1.png\" alt=\"\" width=\"739\" height=\"304\" srcset=\"https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/4770d56bb5fa2d0731153ea3dc3e3ea4-1.png 739w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/4770d56bb5fa2d0731153ea3dc3e3ea4-1-300x123.png 300w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/4770d56bb5fa2d0731153ea3dc3e3ea4-1-624x257.png 624w\" sizes=\"auto, (max-width: 739px) 100vw, 739px\" \/><\/p>\n<p>\u2191\u306e\u3088\u3046\u306b\u30de\u30a4\u30b0\u30ec\u30fc\u30c8\u6210\u529f\u3057\u3066\u3044\u308c\u3070OK\uff01<\/p>\n<h3>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u524a\u9664\u3059\u308b\u5834\u5408\u306f\u3053\u3046\u3059\u308b<\/h3>\n<pre>class CreateMacs &lt; ActiveRecord::Migration[5.1]\r\n def change drop_table :macs\r\n end\r\nend<\/pre>\n<h3>\u30de\u30a4\u30b0\u30ec\u30fc\u30c8\u3059\u308b\u305f\u3081\u306e\u30b3\u30de\u30f3\u30c9<\/h3>\n<pre>docker-compose exec web bundle exec rake db:migrate<\/pre>\n<h3>1\u3064\u524d\u306b\u30ed\u30fc\u30eb\u30d0\u30c3\u30af\u3057\u305f\u3044\u3068\u304d\u306e\u30b3\u30de\u30f3\u30c9<\/h3>\n<pre>docker-compose exec web bundle exec rails db:rollback<\/pre>\n<h3>seed\u30d5\u30a1\u30a4\u30eb\u3092\u4f7f\u3046\u6642<\/h3>\n<h3>\u307e\u305a\u306f\u30ea\u30bb\u30c3\u30c8<\/h3>\n<pre>docker-compose run web bundle exec rails db:migrate:reset\r\n<\/pre>\n<h3><span class=\"description\">\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4e0a\u306b\u30b5\u30f3\u30d7\u30eb\u30e6\u30fc\u30b6\u30fc\u3092\u751f\u6210\u3059\u308b<\/span><\/h3>\n<pre>docker-compose run web bundle exec rails db:seed<\/pre>\n<h1>\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u95a2\u9023<\/h1>\n<h3>Docker\u74b0\u5883\u4e0b\u3067\u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u4f5c\u6210\u65b9\u6cd5(\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u306f\u8907\u6570\u5f62\u3067\u8a18\u8ff0\u3057\u307e\u3059)<\/h3>\n<pre><strong>docker-compose exec web rails g controller<\/strong> tasks create destroy<\/pre>\n<h3><strong>\u30d3\u30e5\u30fc\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3057\u305f\u304f\u306a\u3044\u6642(&#8211;skip-template-engine\uff1a \u30d3\u30e5\u30fc\u30d5\u30a1\u30a4\u30eb\u3092\u30b9\u30ad\u30c3\u30d7\u3059\u308b\u8a2d\u5b9a)<\/strong><\/h3>\n<pre><strong>docker-compose exec web rails g controller<\/strong> macs create destroy --skip-template-engine<\/pre>\n<h3>\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u3092\u524a\u9664\u3057\u305f\u3044\u3068\u304d<\/h3>\n<pre><strong>docker-compose exec web rails destroy<\/strong> controller tasks<\/pre>\n<h1>\u30c7\u30d0\u30c3\u30b0\u95a2\u9023(\u5b9f\u7528\u4f8b\u542b\u3080)<\/h1>\n<h3>\u30b5\u30fc\u30d0\u30fc\u3092\u8d77\u52d5(-d\u3067\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u306b\u3059\u308b)<\/h3>\n<pre>docker-compose up -d<\/pre>\n<h3>\u63a5\u7d9a\u3059\u308b\u30b3\u30f3\u30c6\u30ca\u3092\u78ba\u8a8d\u3059\u308b\u30b3\u30de\u30f3\u30c9<\/h3>\n<pre><strong>docker ps<\/strong><\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3858\" src=\"https:\/\/suzutukiblog.com\/wp-content\/uploads\/2021\/05\/65cc7684c88aa41de24a5c20c4df01b2.png\" alt=\"\" width=\"2346\" height=\"346\" srcset=\"https:\/\/suzutukiblog.com\/wp-content\/uploads\/2021\/05\/65cc7684c88aa41de24a5c20c4df01b2.png 2346w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2021\/05\/65cc7684c88aa41de24a5c20c4df01b2-300x44.png 300w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2021\/05\/65cc7684c88aa41de24a5c20c4df01b2-1024x151.png 1024w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2021\/05\/65cc7684c88aa41de24a5c20c4df01b2-768x113.png 768w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2021\/05\/65cc7684c88aa41de24a5c20c4df01b2-1536x227.png 1536w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2021\/05\/65cc7684c88aa41de24a5c20c4df01b2-2048x302.png 2048w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2021\/05\/65cc7684c88aa41de24a5c20c4df01b2-624x92.png 624w\" sizes=\"auto, (max-width: 2346px) 100vw, 2346px\" \/><\/p>\n<h3>\u30b3\u30f3\u30c6\u30ca\u306b\u63a5\u7d9a\u3059\u308b\u30b3\u30de\u30f3\u30c9<\/h3>\n<pre>docker attach lifehack_web_1<\/pre>\n<p>new\u30e1\u30bd\u30c3\u30c9\u306b<strong>binding.pry<\/strong>\u3092\u8ffd\u52a0<\/p>\n<pre>class TasksController &lt; ApplicationController\r\n  def new\r\n    @task = Task.new\r\n    binding.pry\r\n  end\r\nend<\/pre>\n<p>http:\/\/localhost:3000\/tasks\/new\u3092\u958b\u304f\u304b\u30ea\u30ed\u30fc\u30c9\u3057\u3066<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1503\" src=\"https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/9ea79260c2ab5b9d7efbbfc650bce683.png\" alt=\"\" width=\"1004\" height=\"293\" srcset=\"https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/9ea79260c2ab5b9d7efbbfc650bce683.png 1004w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/9ea79260c2ab5b9d7efbbfc650bce683-300x88.png 300w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/9ea79260c2ab5b9d7efbbfc650bce683-768x224.png 768w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/9ea79260c2ab5b9d7efbbfc650bce683-624x182.png 624w\" sizes=\"auto, (max-width: 1004px) 100vw, 1004px\" \/><\/p>\n<p>\u30bf\u30fc\u30df\u30ca\u30eb\u304c\u2191\u306e\u3088\u3046\u306a\u8868\u793a\u306b\u306a\u3063\u305f\u3089OK<\/p>\n<p>@task\u306b\u3044\u308d\u3044\u308d\u5024\u3092\u5165\u308c\u3066\u307f\u308b<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1504\" src=\"https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/41e62909e91b101f4a8821f464e1afc7-1024x517.png\" alt=\"\" width=\"625\" height=\"316\" srcset=\"https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/41e62909e91b101f4a8821f464e1afc7-1024x517.png 1024w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/41e62909e91b101f4a8821f464e1afc7-300x151.png 300w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/41e62909e91b101f4a8821f464e1afc7-768x388.png 768w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/41e62909e91b101f4a8821f464e1afc7-624x315.png 624w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/41e62909e91b101f4a8821f464e1afc7.png 1046w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/p>\n<pre>@task.title = 'task1'\r\n\r\n@task.content = 'content'\r\n\r\n@task.priority = 3<\/pre>\n<p>exit\u3067\u30c7\u30d0\u30c3\u30ac\u30fc\u304b\u3089\u629c\u3051\u308b\u3068<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1505\" src=\"https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/2922b43c31e14d3250855814b563daf5-1024x650.png\" alt=\"\" width=\"625\" height=\"397\" srcset=\"https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/2922b43c31e14d3250855814b563daf5-1024x650.png 1024w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/2922b43c31e14d3250855814b563daf5-300x190.png 300w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/2922b43c31e14d3250855814b563daf5-768x487.png 768w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/2922b43c31e14d3250855814b563daf5-1536x974.png 1536w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/2922b43c31e14d3250855814b563daf5-624x396.png 624w, https:\/\/suzutukiblog.com\/wp-content\/uploads\/2020\/09\/2922b43c31e14d3250855814b563daf5.png 1674w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/p>\n<p>\u5148\u7a0b\u5165\u529b\u3057\u305f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u30d5\u30a9\u30fc\u30e0\u306b\u30bb\u30c3\u30c8\u3055\u308c\u305f\uff01<\/p>\n<p>\u4f7f\u3044\u7d42\u308f\u3063\u305f\u3089new\u30e1\u30bd\u30c3\u30c9\u306ebinding.pry\u3092\u6d88\u3057\u3066<\/p>\n<pre>class TasksController &lt; ApplicationController\r\n  def new\r\n    @task = Task.new\r\n  end\r\n end<\/pre>\n<h4>\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30ad\u30fc^\u3092\u62bc\u3057\u306a\u304c\u3089p,q\u306e\u9806\u306b\u62bc\u3059\u3068\u30a2\u30bf\u30c3\u30c1\u304c\u89e3\u9664\u3067\u304d\u308b\uff01<\/h4>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u30b3\u30f3\u30c6\u30ca\u95a2\u9023 \u30b3\u30f3\u30c6\u30ca\u306e\u4f5c\u6210 \u00a0docker-compose build \u30b3\u30f3\u30c6\u30ca\u306e\u4e2d\u8eab\u3092\u524a\u9664 docker-compose down \u30b3\u30f3\u30c6\u30ca\u306e\u8d77\u52d5(web server\u306e\u8d77\u52d5\uff09 docker-compose.yml\u3092 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[23,27,13],"tags":[],"class_list":["post-3829","post","type-post","status-publish","format-standard","hentry","category-docker","category-programming-note","category-rails"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts\/3829","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/comments?post=3829"}],"version-history":[{"count":5,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts\/3829\/revisions"}],"predecessor-version":[{"id":5124,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts\/3829\/revisions\/5124"}],"wp:attachment":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/media?parent=3829"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/categories?post=3829"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/tags?post=3829"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}