<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>趣味 アーカイブ - ゴロ寝</title>
	<atom:link href="https://blog.gorone.site/archives/category/%E8%B6%A3%E5%91%B3/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.gorone.site/archives/category/趣味</link>
	<description></description>
	<lastBuildDate>Fri, 18 Mar 2022 04:41:26 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>

<image>
	<url>https://blog.gorone.site/wp-content/uploads/2021/06/cropped-WS000006-32x32.jpg</url>
	<title>趣味 アーカイブ - ゴロ寝</title>
	<link>https://blog.gorone.site/archives/category/趣味</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>朝聞くと元気がでるかもな曲</title>
		<link>https://blog.gorone.site/archives/727</link>
					<comments>https://blog.gorone.site/archives/727#respond</comments>
		
		<dc:creator><![CDATA[gorori]]></dc:creator>
		<pubDate>Wed, 01 Dec 2021 14:06:04 +0000</pubDate>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[趣味]]></category>
		<category><![CDATA[Spotify]]></category>
		<guid isPermaLink="false">https://blog.gorone.site/?p=727</guid>

					<description><![CDATA[<p>最初に今回の紹介はSpotifyを使います。 Spotifyについては以下の記事をご覧ください。 猫音楽を欲するSpotifyを知っていますか？また知ってはいるけど、スマホ用のアプリだと思ってないですか？実はSpotif [&#8230;]</p>
<p>投稿 <a href="https://blog.gorone.site/archives/727">朝聞くと元気がでるかもな曲</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p>最初に今回の紹介はSpotifyを使います。<br />
Spotifyについては以下の記事をご覧ください。</p>
<a href="https://blog.gorone.site/archives/181" title="猫音楽を欲する" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" width="160" height="90" src="https://blog.gorone.site/wp-content/uploads/2021/07/image-3736211_1280-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://blog.gorone.site/wp-content/uploads/2021/07/image-3736211_1280-160x90.png 160w, https://blog.gorone.site/wp-content/uploads/2021/07/image-3736211_1280-120x68.png 120w, https://blog.gorone.site/wp-content/uploads/2021/07/image-3736211_1280-320x180.png 320w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">猫音楽を欲する</div><div class="blogcard-snippet internal-blogcard-snippet">Spotifyを知っていますか？また知ってはいるけど、スマホ用のアプリだと思ってないですか？実はSpotifyはPCやマックで使えば広告は入りますがほぼ制限がなく使えるのです。スマホで作ったIDでも使えるのでPCでプレイリストを作成してスマホでそのプレイリストを再生も出来ちゃうんです。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://blog.gorone.site" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">blog.gorone.site</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2021.07.02</div></div></div></div></a>
<p>Spotifyは簡単に言うとスマホ以外なら広告は付きますが、曲が途中で止まるなどそういう事は全くないのでオススメです。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">朝聞くと元気が出るかもな曲</a><ol><li><a href="#toc2" tabindex="0">1曲目：have a good day</a></li><li><a href="#toc3" tabindex="0">2曲目：青い栞</a></li><li><a href="#toc4" tabindex="0">3曲目：haven&#8217;t met you yet</a></li><li><a href="#toc5" tabindex="0">4曲目：タイニーリトルアジアンタム</a></li><li><a href="#toc6" tabindex="0">5曲目：Luv(sic)pt.4</a></li><li><a href="#toc7" tabindex="0">6曲目：happiness!!!</a></li><li><a href="#toc8" tabindex="0">7曲目：スカイバストーキョー</a></li><li><a href="#toc9" tabindex="0">8曲目：パズル</a></li><li><a href="#toc10" tabindex="0">9曲目：光 ray of hope mix</a></li><li><a href="#toc11" tabindex="0">10曲目：シルエット</a></li><li><a href="#toc12" tabindex="0">はみだし：1/6の夢旅人2002</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">朝聞くと元気が出るかもな曲</span></h2>
<p>ジャンルがバラバラですが、いずれも朝に聴けば少し幸せになったりテンションが上がる曲です。<br />
最近の流行りの曲は少ないかもですが、それは私自身どう情報収集をしていいか最近は分からないです。</p>
<p>そんな中で今まで聞いた中で朝聞きたい曲を集めてみました。</p>
<h3><span id="toc2">1曲目：have a good day</span></h3>
<p><iframe title="Spotify Embed: Have a Good Day !" style="border-radius: 12px" width="100%" height="80" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" src="https://open.spotify.com/embed/track/5UMkvuqoEe1MtQCkejgLTT?si=ba20b5d08c8b45ca&#038;utm_source=oembed"></iframe></p>
<div class="information-box">朝に聴くのにパーフェクトな曲です。<br />
文句のつけようがありません。<br />
資生堂アネッサのCMに使われていました。<br />
資生堂のCMの曲は個人的にツボをついてきます。</div>
<h3><span id="toc3">2曲目：青い栞</span></h3>
<p><iframe loading="lazy" title="Spotify Embed: 青い栞" style="border-radius: 12px" width="100%" height="80" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" src="https://open.spotify.com/embed/track/4ktBoKFApkvU7Aaz1MxCiH?si=b8ebc5636ebc4447&#038;utm_source=oembed"></iframe></p>
<div class="information-box">アニメのあの花のOPです。<br />
世間的にはEDの「secret base ～君がくれたもの～」が話題になりましたが、OPのこの曲は朝にピッタリな爽やかな曲です。</p>
<p><iframe loading="lazy" title="【10周年記念】「あの日見た花の名前を僕達はまだ知らない。」ED映像「secret base ～君がくれたもの～」B ver." width="1256" height="707" src="https://www.youtube.com/embed/Of36Qh7WLSQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
</div>
<h3><span id="toc4">3曲目：haven&#8217;t met you yet</span></h3>
<p><iframe loading="lazy" title="Spotify Embed: Haven&amp;apos;t Met You Yet" style="border-radius: 12px" width="100%" height="80" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" src="https://open.spotify.com/embed/track/4fIWvT19w9PR0VVBuPYpWA?si=8653329481384849&#038;utm_source=oembed"></iframe></p>
<div class="information-box">英語が分からないので、歌詞の内容は分かりません！<br />
マイケル・ブーブレさんは俳優でもあり、グラミー賞も取っています。<br />
歌い方が独特でクセになる一曲です。</div>
<h3><span id="toc5">4曲目：タイニーリトルアジアンタム</span></h3>
<p><iframe loading="lazy" title="Spotify Embed: タイニーリトル・アジアンタム" style="border-radius: 12px" width="100%" height="80" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" src="https://open.spotify.com/embed/track/09UAi1gYdutGj4AbDApUki?si=29525b13e7a740d6&#038;utm_source=oembed"></iframe></p>
<div class="information-box">東方のオリジナルソングです。<br />
何でこの曲を知ったかというと、一瞬話題になった「お前はもう死んでいる」の原曲だからです。</p>
<p><iframe loading="lazy" title="Lil Boom - Already Dead / Omae Wa Mou Instrumental (Lyrics/Translation) by deadman 死​人" width="1256" height="707" src="https://www.youtube.com/embed/Puu3wuhdrfQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p>原曲を聞くとボサノヴァでアンニュイな感じでオススメです。</p>
</div>
<h3><span id="toc6">5曲目：Luv(sic)pt.4</span></h3>
<p><iframe loading="lazy" title="Spotify Embed: Luv (sic) Grand Finale (feat. Shing02)" style="border-radius: 12px" width="100%" height="80" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" src="https://open.spotify.com/embed/track/72LSGNDLY4sdvyrGIKtd2Q?si=256c67f4fd774ce4&#038;utm_source=oembed"></iframe></p>
<div class="information-box">ラップをしているShing02は日系ですが、英語です。<br />
歌詞の内容は詩的ですがが、Nujabesのトラックが素晴らしい1曲です。<br />
Nujabesは残念ながら死去してしまっていますが、Nujabesのトラックは色あせない一曲です。</div>
<div class="Accordion btn-cross"><span>歌詞(和訳を見る)</span></div>
<div class="LYRICS" style="display:none;">
Luv(sic) Part4</p>
<p>Snow flakes in January<br />
粉雪舞う一月</p>
<p>Heart warm like February,<br />
ハート温まる二月</p>
<p>I wouldn&#8217;t ordinarily March to the drum, play a fool like April<br />
いつもは人の太鼓でマーチはしないしエイプリルフールに踊らされないけど</p>
<p>May the best dance in a Juno bridal<br />
最良の人と六月の式でダンス</p>
<p>Power of the will, Julius and Augustus<br />
ジュリアス、アウグストゥスのような強い意志</p>
<p>Aw you know, it&#8217;s just us<br />
ねえ、僕たちだけなんだ</p>
<p>In a new semester, back in September<br />
新しい学期、九月の始まりに</p>
<p>boy, I wonder if you still remember<br />
想う、まだ覚えているのかって</p>
<p>Meet me half way from mars to venus<br />
火星と金星の中間で待ち合わせよう</p>
<p>beep beep, the chase is on between us<br />
追いかけっこが始まっている</p>
<p>Retweet the sweetest piece of confection<br />
一番甘美な菓子をリツイート</p>
<p>hand made device for remote connection<br />
リモートな繋がりに手作りの道具</p>
<p>ask a question,<br />
質問をして</p>
<p>wait for an answer and make a suggestion<br />
答えを待って、提案してみる</p>
<p>a time and a place for a first impression<br />
第一印象の時と場所を</p>
<p>second and third to a fourth dimension<br />
二、三、そして四次元へ</p>
<p>rise above the weights that hold us captive<br />
僕らを四角に閉じ込める重みから</p>
<p>to a square, swear that I, I the captain to<br />
解かれて、自分が船長だと誓う</p>
<p>cruise in sci-fi, red sky burn like sapphire<br />
SF映画のようなクルーズ空がサファイアのように赤く燃える</p>
<p>a moth to a fire, but we can fly higher<br />
火に寄る虫よりもっと高く飛べる</p>
<p>till we reach an apex<br />
頂点に辿り着くまで</p>
<p>we fit tight like a glove with no latex<br />
ゴムじゃない手袋みたいにフィット</p>
<p>bring it down to earth for a cooling session<br />
地球に降りて来て涼むセッション</p>
<p>laying sideways and glazed in essence<br />
横になってエッセンスが光る</p>
<p>gazed each other in the eye to find galaxies of<br />
お互いの目に銀河を見つける</p>
<p>uncharted nebulas,heard joy over spilled milk on a quilt, of lavender<br />
地図にもない星雲、ラベンダーのキルト,溢れたミルクに悦びの声</p>
<p>woven in the fabric of our calendar<br />
カレンダーの生地に織り込まれ</p>
<p>Dress up at the end of October,<br />
衣装を着る十月の終わり</p>
<p>Give thanks to the fam in November<br />
家族に感謝する十一月</p>
<p>a cold but cozy December<br />
寒いけどほっとする十二月</p>
<p>and we&#8217;re back to the origin, so let me begin<br />
また最初に戻って来たから、始めようか</p>
<p>Snow flakes in January<br />
Heart warm like February,<br />
I wouldn&#8217;t ordinarily<br />
March to the drum, play a fool like April<br />
May the best dance in a Juno bridal<br />
Power of the will, Julius and Augustus<br />
Aw you know, it&#8217;s just us<br />
In a new semester, back in September<br />
boy, I wonder if you still remember</p>
<p>When you took my hand, I couldn&#8217;t hide it<br />
手を握ってくれた瞬間、隠せなかった</p>
<p>way too delighted,<br />
嬉し過ぎた</p>
<p>tried to ride it cool but obliged to write it<br />
クールに過ごそうとしても書かなくちゃいけない</p>
<p>wouldn&#8217;t fight it, how my watch paused<br />
こらえる事もない、腕時計が止まったのは</p>
<p>when I put my lips on your eyelids<br />
僕の唇が君の瞼に触れた時</p>
<p>the lost second, deposit in a memory bank<br />
失われた一秒は記憶の口座に</p>
<p>every chance I pocketed a scent<br />
いつも残り香をポケットに入れる度</p>
<p>a blank check with ya signature<br />
送った空白の小切手に君のサイン</p>
<p>font sans serif, the curvature, a lone harbinger<br />
サンセリフのフォント、曲線が唯一の兆し</p>
<p>with toys play coy like fish in a pond,<br />
池の鯉、おもちゃではぐらかす</p>
<p>fond words serve poems like dish<br />
好きな言葉を詩に盛り付け</p>
<p>life is short like a doggone leash<br />
人生は犬の綱のように短い</p>
<p>or a fuse in an open circuitry<br />
オープンな回路のヒューズが</p>
<p>that got struck by lightening<br />
雷に打たれたみたいに</p>
<p>hang a painting on the wall over the writing,<br />
壁のメッセージの上に絵を飾れば</p>
<p>brighten up the room for a private dining<br />
プライベートなディナーのために部屋を明るく</p>
<p>increase the peace and cease the anxiety<br />
ピースを増やして不安を消す</p>
<p>spread love and cc: the whole society<br />
愛を広めて社会にcc:する</p>
<p>you got me shooting off on a tangent<br />
また話が脱線してしまったね</p>
<p>like I always do when I&#8217;m on the fringe<br />
僕がいつも端っこにいる時は</p>
<p>and the tally of the letters will reach<br />
そして手紙の束は</p>
<p>the valley where the wings will seek<br />
翼が求める谷にも届く</p>
<p>a series so classic at the top of October<br />
クラシックなシリーズは十月の頭</p>
<p>Give thanks to the fam in November<br />
家族に感謝する十一月</p>
<p>a cold but cozy December<br />
寒いけどほっとする十二月</p>
<p>and we&#8217;re back to the origin, so let me begin<br />
また最初に戻って来たから、始めようか</p>
<p>Snow flakes in January<br />
粉雪舞う一月</p>
<p>Heart warm like February,<br />
ハート温まる二月</p>
<p>I wouldn&#8217;t ordinarily March to the drum, play a fool like April<br />
いつもは人の太鼓でマーチはしないしエイプリルフールに踊らされないけど</p>
<p>May the best sing in a June recital<br />
最良の人が六月の会で歌う</p>
<p>Power of the will, Julius and Augustus<br />
ジュリアス、アウグストゥスのような強い意志</p>
<p>Aw you know, it&#8217;s just us<br />
ねえ、僕たちだけなんだ</p>
<p>In a new semester, back in September<br />
新しい学期、九月の始まりに</p>
<p>boy, I wonder if you still remember<br />
想う、まだ覚えているのかって
</div>
<h3><span id="toc7">6曲目：happiness!!!</span></h3>
<p><iframe loading="lazy" title="Spotify Embed: happiness!!!" style="border-radius: 12px" width="100%" height="80" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" src="https://open.spotify.com/embed/track/6aAVLZHtYIhV6KhyonkQ0P?si=7675e09c4ad14859&#038;utm_source=oembed"></iframe></p>
<div class="information-box">木村カエラを知ったのは神奈川TVのsaku sakuという番組です。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/12/e2da874bdbc7ba6df9fd4b509b97520d.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-736 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/12/e2da874bdbc7ba6df9fd4b509b97520d.jpg" alt="サクサク" width="634" height="478" srcset="https://blog.gorone.site/wp-content/uploads/2021/12/e2da874bdbc7ba6df9fd4b509b97520d.jpg 634w, https://blog.gorone.site/wp-content/uploads/2021/12/e2da874bdbc7ba6df9fd4b509b97520d-300x226.jpg 300w" sizes="auto, (max-width: 634px) 100vw, 634px" /></a><br />
この曲はその番組に出ていた頃の曲です。<br />
他にもたくさんいい曲がありますが、この曲が一番好きです。</div>
<h3><span id="toc8">7曲目：スカイバストーキョー</span></h3>
<p><iframe loading="lazy" title="Spotify Embed: スカイバストーキョー" style="border-radius: 12px" width="100%" height="80" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" src="https://open.spotify.com/embed/track/2yHDrlVaEIWlkzU7t21WzI?si=8f1cc6b641b74cf8&#038;utm_source=oembed"></iframe></p>
<div class="information-box">フレネシのキュプラというアルバムの中でもかなりゆるい曲です。<br />
このアルバムは全曲いい曲なので、このテイストが好きな人は是非聞いてみてください。<br />
今は音楽活動は停止中ですが、ツイッターはやっているので気になる人は覗いてみて下さい。</p>
<blockquote class="twitter-tweet">
<p lang="ja" dir="ltr">クソリプみたいな名前の鍋、名前のせいで機能が頭に入ってこない…　<a href="https://t.co/S9TNyN6Gcr">https://t.co/S9TNyN6Gcr</a></p>
<p>&mdash; フレネシ (@frenesifrenesi) <a href="https://twitter.com/frenesifrenesi/status/1464044203294412801?ref_src=twsrc%5Etfw" class="broken_link">November 26, 2021</a></p></blockquote>
<p> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></div>
<h3><span id="toc9">8曲目：パズル</span></h3>
<p><iframe loading="lazy" title="Spotify Embed: パズル" style="border-radius: 12px" width="100%" height="80" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" src="https://open.spotify.com/embed/track/5sUCbbldiSzY12Y6mucEV1?si=2e9157fb92204901&#038;utm_source=oembed"></iframe></p>
<div class="information-box">NHKにようこそというN(日本)H(引きこもり)K(協会)というアニメのOPです。<br />
アニメは何だか暗そうですが、実際は結構ギャグアニメです。<br />
その世界観を更にPOPにした感じの曲になっています。</div>
<h3><span id="toc10">9曲目：光 ray of hope mix</span></h3>
<p><iframe loading="lazy" title="Spotify Embed: 光 - Ray Of Hope MIX" style="border-radius: 12px" width="100%" height="80" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" src="https://open.spotify.com/embed/track/2GaGL7gGOjRJWHNCLndINt?si=173a5fb8a6824399&#038;utm_source=oembed"></iframe></p>
<div class="information-box">原曲は宇多田ヒカルの光です。<br />
原曲はどちらかというと夜っぽいですが、このリミックスはどの時間帯でもテンションがあがります。<br />
全然知らなかったのですが、キングダムハーツはこの英語版「Simple And Clean –Ray Of Hope MIX–」みたいです。</div>
<h3><span id="toc11">10曲目：シルエット</span></h3>
<p><iframe loading="lazy" title="Spotify Embed: シルエット" style="border-radius: 12px" width="100%" height="80" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" src="https://open.spotify.com/embed/track/0E72B3egvyX7Ic89O1wf1y?si=737d8f0c294645e5&#038;utm_source=oembed"></iframe></p>
<div class="information-box">最後はテンションが上がる曲でしめましょう。<br />
ナルトのOPと一緒に見ると両方好きなので余計テンションが上がります。</p>
<p><iframe loading="lazy" title="Naruto Shippuden OP / Opening 16 60FPS" width="1256" height="707" src="https://www.youtube.com/embed/USn19iuBJv0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p>ナルトの続編のボルトも面白いので是非みてみて下さい。</div>
<h3><span id="toc12">はみだし：1/6の夢旅人2002</span></h3>
<p><iframe loading="lazy" title="Spotify Embed: 1/6の夢旅人2002(オリジナル)" style="border-radius: 12px" width="100%" height="80" frameborder="0" allowfullscreen allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" src="https://open.spotify.com/embed/track/07Un8LYtJ0G5obQHED8rAA?si=6c3e40ee51fb4b94&#038;utm_source=oembed"></iframe></p>
<div class="question-box">特徴：水曜どうでしょうが好きな人はテンションが上がる</div>
<p>知っている曲の中で朝に元気が出そうな曲を選んでみました。<br />
オススメの曲があれば教えて下さい！</p>
<p>投稿 <a href="https://blog.gorone.site/archives/727">朝聞くと元気がでるかもな曲</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gorone.site/archives/727/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>laravel8開発環境セッティング(docker編)</title>
		<link>https://blog.gorone.site/archives/672</link>
					<comments>https://blog.gorone.site/archives/672#respond</comments>
		
		<dc:creator><![CDATA[gorori]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 02:50:02 +0000</pubDate>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[趣味]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[Laravel]]></category>
		<guid isPermaLink="false">https://blog.gorone.site/?p=672</guid>

					<description><![CDATA[<p>目次 windowsの方を対象にしていますwindows homeでもdocker desktopが使える！hello docker windowsの方を対象にしています windowsの方を対象にしてしていますが、仮想 [&#8230;]</p>
<p>投稿 <a href="https://blog.gorone.site/archives/672">laravel8開発環境セッティング(docker編)</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">windowsの方を対象にしています</a><ol><li><a href="#toc2" tabindex="0">windows homeでもdocker desktopが使える！</a></li><li><a href="#toc3" tabindex="0">hello docker</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">windowsの方を対象にしています</span></h2>
<p>windowsの方を対象にしてしていますが、仮想環境内でのインストールする物などは同じなので、Macの方も参考程度になるとは思います。</p>
<h3><span id="toc2">windows homeでもdocker desktopが使える！</span></h3>
<p>これまではwindows pro以上の環境が求められていましたが、windows homeでもdocker desktopが使える様になりました。<br />
docker desktopの何がいいって分かりやすさです。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000000-2.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-673 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000000-2.jpg" alt="docker" width="1024" height="582" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000000-2.jpg 1024w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000000-2-300x171.jpg 300w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000000-2-768x437.jpg 768w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000000-2-120x68.jpg 120w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000000-2-160x90.jpg 160w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><br />
docker psしなくても何が動いているのか一目瞭然です。</p>
<p>ただdocker psは使う事にはなるんですけどね。<br />
しかしコマンドを覚えなければというより、docker psしたくなるのです。<br />
それは追々話しましょう。</p>
<p>まずはdocker desktopをインストールしましょう。</p>
<a rel="noopener" href="https://www.docker.com/products/docker-desktop" title="Docker Desktop" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://www.docker.com/app/uploads/2013/06/Docker-logo-01.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Docker Desktop</div><div class="blogcard-snippet external-blogcard-snippet">Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.docker.com/products/docker-desktop/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.docker.com</div></div></div></div></a>
<p>すいません、インストールする際の画面で何が聞かれるか覚えていないです。<br />
基本的に[next]あるいは[次へ]で進めていって問題ないです。</p>
<p>少し時間がかかりますが、docker desktop(長いのでここからdockerと省略します)がインストール出来たと思います。<br />
かわいいクジラアイコンがデスクトップにありますね、あるいはインストール後開くで既に開いているかもしれません。</p>
<p>特に問題なく開けた方はおめでとうございます。<br />
これでdockerはあなたの物です。</p>
<p>しかし、開くと何かエラーが出て起動出来ないという方がいるんじゃないでしょうか。<br />
私もそうでした。<br />
windowsではdockerを動かす為にHyper-Vという機能をONにしてあげる必要があります。<br />
パワーシェルを管理者モードで開いて下さい。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000001-2.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-674 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000001-2.jpg" alt="パワーシェル" width="786" height="582" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000001-2.jpg 786w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000001-2-300x222.jpg 300w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000001-2-768x569.jpg 768w" sizes="auto, (max-width: 786px) 100vw, 786px" /></a></p>
<p>真っ青な画面が出てきましたね。<br />
そこに<br />
bcdedit /set hypervisorlaunchtype auto<br />
と打ち込んでエンターです。</p>
<p>成功しました的な文字が出ればOKです。<br />
一旦再起動しましょう。</p>
<h3><span id="toc3">hello docker</span></h3>
<p>おそらくdockerは正常に開けたと思います。<br />
チュートリアルでhello dockerが出てくると思いますが、操作になれておきたい人はやってみて下さい。</p>
<p>ちょっとだけdockerの説明をすると、dockerはイメージを元にコンテナを作成します。<br />
意味が分かりませんね。</p>
<p>あまり例えが上手くないのですが、ゲームのドラクエをイメージだとします。<br />
これを起動すると当然ドラクエがスタートする訳ですが、このドラクエいい所まで進んだら普通はセーブをしますね。<br />
dockerの場合はイメージをセーブするのです。<br />
次回からはセーブしたイメージを元にコンテナを作るとセーブした内容が残っているので続きからプレイ出来ます。</p>
<p>意味不明だったら突っ込んで下さい。<br />
要はコンテナは一時的な物で起動している間は内容を覚えてくれていますが、電源を落とすとリセットされてまっさらな状態からスタート出来ます。</p>
<p>ただソースコードやDBの内容などはwindows側にdockerとの共有フォルダを作れるので保存しておく事が出来ます。</p>
<p>では元となるイメージを探してみましょう。</p>
<a rel="noopener" href="https://hub.docker.com/" title="Docker Hub Container Image Library | App Containerization" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://blog.gorone.site/wp-content/uploads/cocoon-resources/blog-card-cache/2e6747c9c30c5373998b333d246cb277.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Docker Hub Container Image Library | App Containerization</div><div class="blogcard-snippet external-blogcard-snippet">Welcome to the world&#039;s largest container registry built for developers and open source contributors to find, use, and share their container images. Build, push ...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://hub.docker.com" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">hub.docker.com</div></div></div></div></a>
<p>今回もvagrant編と同じようにcentos7を使用します。</p>
<a href="https://blog.gorone.site/archives/650" title="laravel8開発環境セッティング(vagrant編)" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="160" height="90" src="https://blog.gorone.site/wp-content/uploads/2021/07/cat-1204324_1280-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://blog.gorone.site/wp-content/uploads/2021/07/cat-1204324_1280-160x90.png 160w, https://blog.gorone.site/wp-content/uploads/2021/07/cat-1204324_1280-120x68.png 120w, https://blog.gorone.site/wp-content/uploads/2021/07/cat-1204324_1280-320x180.png 320w" sizes="auto, (max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">laravel8開発環境セッティング(vagrant編)</div><div class="blogcard-snippet internal-blogcard-snippet">laravel8がインストール出来ないという方向けに書いてみます。まずは仮想環境を用意しましょう。というのも筆者がxamp環境でインストールした事が無いのでやり方が分かりません^^;仮想環境を使えばサクっと出来上がるので、まだやった事が無い人は挑戦してみましょう。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://blog.gorone.site" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">blog.gorone.site</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2021.11.06</div></div></div></div></a>
<p>また前回の記事を読んで頂けたならお気づきでしょうが、laravelが既にセットされているイメージもあります。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000003-2.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-675 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000003-2.jpg" alt="larabel8" width="481" height="198" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000003-2.jpg 481w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000003-2-300x123.jpg 300w" sizes="auto, (max-width: 481px) 100vw, 481px" /></a></p>
<p>ただdockerはイメージを繋いで起動する事が出来るので、上記のイメージはlaravel8のフォルダがあるだけのイメージかもしれません。</p>
<p>そういえば重要な事を書いていなかったのですが、dockerは言語、webサーバー、DB、FWもしかしたらもっと小さい単位で細分化されたイメージがあります。<br />
イメージを使えばいちいち自分でインストールする事なくその環境を手に入れる事が出来るのですが、docker初心者の私からすると最初はベースのOSのイメージとDBの組み合わせが分かりやすいと思います。<br />
勿論慣れてる方ややってみたい方は細分化されたイメージを繋いで色んな言語、DBなどを繋いで遊んでもいいと思います。</p>
<p>なぜベースイメージ+DBをオススメするかと言うと前述した通りdockerのコンテナはストップさせると中の状態をリセットします。<br />
その際ソースコードやDBの中身もリセットされてしまうので共有フォルダに保存しておきます。<br />
そうする事でコンテナがリセットされても途中まで書いていたソースやDBの中身を再現する事が出来る訳です。</p>
<p>なので最低限この２つのイメージを組み合わせると便利という訳です。<br />
という事でcentos7とまたherokuにアップするのが目的なのでposgreのイメージをDLします。</p>
<p>すいません、その前にprojetフォルダを作っておいて下さい。<br />
Cの直下などがオススメです。<br />
そのフォルダの中にdockerなど好きな名前でフォルダを作って下さい。<br />
一応注意として半角英数字でのみで作ったフォルダのパスまでいける様にしておいた方がトラブルが無いと思います。</p>
<p>dockerフォルダでまたパワーシェルを開いて下さい。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000004.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-676 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000004.jpg" alt="パワーシェル" width="552" height="330" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000004.jpg 552w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000004-300x179.jpg 300w" sizes="auto, (max-width: 552px) 100vw, 552px" /></a><br />
そこで<br />
docker pull centos7<br />
と入力してエンターです。</p>
<p>もし失敗してしまったらgitが入っていない可能性があります。<br />
その場合gitを入れて再トライしてください。</p>
<a rel="noopener" href="https://git-scm.com/" title="Git" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fgit-scm.com%2F?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Git</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://git-scm.com/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">git-scm.com</div></div></div></div></a>
<p>さぁどうでしょうcentos7は落とせたでしょうか。<br />
パワーシェルで<br />
docker ps -a<br />
をしてあげたらcentos7が表示されていると思います。</p>
<p>またせっかくdocker desktopを入れたのでそちらで確認も出来ます。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000005-1.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-677 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000005-1.jpg" alt="docker" width="1024" height="575" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000005-1.jpg 1024w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000005-1-300x168.jpg 300w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000005-1-768x431.jpg 768w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000005-1-120x68.jpg 120w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000005-1-160x90.jpg 160w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000005-1-320x180.jpg 320w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><br />
centos7がイメージの中にありますね。</p>
<p>この要領でpostgresSQLの9.6もDLします。<br />
docker pull bitnami/postgresql:9.6</p>
<p>無事イメージの取得は出来たでしょうか。</p>
<p>さてdockerの起動にはいくつか方法があります。<br />
docker run -it centos7<br />
と書いてあげれば起動します。</p>
<p>これにDBを繋いで・・・。<br />
うんやり方が分からない。難しい。<br />
ちなみに上で起動したcentos7はshellの指定なども行わないと操作できません。<br />
毎回長いコマンドを打たないといけないなんて大変だ、docker難しい・・・。</p>
<p>そんな事はありません。<br />
毎回指定してあげないといけない物はdocker-composeファイルに書いて置いて、それを元に起動してあげればあら不思議。<br />
とっても簡単にDBとの連携も共有フォルダも全部やってくれます。</p>
<p>さぁさぁcomposeファイルを作りましょう。<br />
先ほど作成したdockerフォルダの中に<br />
docker-compose.yml<br />
というファイルを作りましょう。</p>
<p>このファイルはvisual studio codeで開けます。<br />
多分メモ帳でも開けるのですが、何かしらのエディタをオススメします。<br />
というのもこのymlファイルは段落で設定の重要さ？を判定しているので段落がずれると正常に起動しません。<br />
要は段落が分かればいいので、スペースなどが可視化できるエディターの方が書きやすいです。</p>
<p>では中身を見てみましょう。</p>
<p>↓ここから中身</p>
<pre>

version: '3.7'

services:
  web2:
    container_name: "centos"
    image: centos:centos7
    volumes:
      - C:\project\docker\data:/home/data
    privileged: true
    command: /sbin/init
    tty: true
    ports:
     - 8080:80

  postgres:
    image: bitnami/postgresql:9.6
    restart: always
    environment:
      POSTGRES_HOST_AUTH_METHOD: 'trust'
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: pikatyuu4188
      PGPASSWORD: pikatyuu4188
      POSTGRES_DB: mydb
      TZ: "Asia/Tokyo"
    ports:
      - 5432:5432
    volumes:
      - C:\project\docker\postgres:/var/lib/postgresql/data
 
volumes:
  web1:
  postgres:
</pre>
<p>↑ここまで中身<br />
とりあえず上記をコピペして保存して下さい。</p>
<p>私も分かっていない部分があるので、全部は説明できないのですが、まず</p>
<div class="info-box">version: &#8216;3.7&#8217;←これは自分で好きに変えていい数字ではなくcomposeファイルの書き方が3.7だという事になります。<br />
web2:←ここは好きに変えてOKです。docketの中に入るときにコレを指定するので長すぎると覚えるのが大変だよねという位です。<br />
image: centos:centos7←これはそのイメージを使うよという意味になります。<br />
volumes:←これは左側がwindowsのパスで右側がdockerの中のパスになります。windows側は相対パスでもいけるかもしれませんが私はダメだったので絶対パスにしています。<br />
privileged: true<br />
command: /sbin/init<br />
tty: true　←この辺りは中で操作できる様のおまじないだと思って下さい。<br />
ttyは中でデーモンがゾンビ化するのを防ぐとかだったと思います。<br />
ports:←これはwebサーバーの通り道やDBの通り道になります。<br />
察しのいい方はwebサーバーのポートとposgreのポートだと分かりますね。</p>
<p>DB側の設定については何となく予想がつくと思います。<br />
laravelなどをインストールした後、この値でDBに繋ぐ事が出来ます。<br />
勿論ユーザー名モロモロ変えちゃってOKです。</div>
<p>そういえば大事な事を書き忘れていました。<br />
起動の前に共有フォルダをwindows側で作ってあげておかないとダメです。<br />
上の設定通りだとdockerフォルダの中に[data]と[postgres]フォルダを作ってあげてください。</p>
<p>さぁ準備が出来ました。<br />
パワーシェルで<br />
docker-compose up -d<br />
と打ってください。<br />
数秒でコンテナが出来上がります。</p>
<p>エラーが出た方は突っ込みお願いします。<br />
docker desktopでも起動しているのが分かりますね。<br />
※dockerコンテナは既にあって作れなかったのでcentosとしています<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000006-1.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-679 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000006-1.jpg" alt="docker" width="1024" height="578" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000006-1.jpg 1024w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000006-1-300x169.jpg 300w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000006-1-768x434.jpg 768w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000006-1-120x68.jpg 120w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000006-1-160x90.jpg 160w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000006-1-320x180.jpg 320w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p>では中に入ってみましょう。<br />
パワーシェルで<br />
docker-compose exec web2 /bin/bash<br />
と打ち込んで下さい。<br />
[root@c5453bb31251 /]#　みたいな表示に変わったでしょうか。<br />
これで後はこの中でnginxを入れたり、phpを入れたりするだけです。</p>
<p>ただ気になる点がある方もいるかもしれません。<br />
パワーシェルで操作するのかよ！そうです、割とやりにくいです。<br />
私も最初tera-tarmで繋ごうと思ったのですが、ググったり設定している最中にdockerは外部から接続するのはナンセンスという事だったのでパワーシェルで操作しています。<br />
どうしても見た目が・・・という方はgit bashを使う方法があります。<br />
git bashはgitを入れると一緒についてくるコンソールツールで見た目もなかなかいいです。</p>
<p>これを使うにはgit bashのexeまで行ってまずショートカットを作ります。<br />
そのショートカットのプロパティで作業用フォルダの中を空にして今作ったdockerフォルダの中に入れてあげます。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000007-1.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-680 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000007-1.jpg" alt="git bash" width="415" height="597" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000007-1.jpg 415w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000007-1-209x300.jpg 209w" sizes="auto, (max-width: 415px) 100vw, 415px" /></a></p>
<p>これでOKらしいのですが、私の環境だとdockerの中の現在位置が表示されなかったのでなくなくパワーシェルで作業しています。<br />
パワーシェルだとディレクトリが非常に見にくいので(青背景に青文字)なんで青なんだ！と思いますが、コンテナを設定してイメージをセーブしてしまえば対して使わないのでめちゃめちゃ使う時が来たらその時また考えます。<br />
追記：少し調べたら背景色はすぐ変更出来ました。</p>
<p>Color Toolというのを使うとパワーシェルの表示が変えられるっぽいのですが、なぜかコマンドプロンプトがpopになりましたｗ<br />
まぁ背景色を変えるだけで大分みやすいので問題ないです。</p>
<a rel="noopener" href="https://mimimopu.com/windows-powershell-color-font-change/" title="https://mimimopu.com/windows-powershell-color-font-change/" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fmimimopu.com%2Fwindows-powershell-color-font-change%2F?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">https://mimimopu.com/windows-powershell-color-font-change/</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://mimimopu.com/windows-powershell-color-font-change/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">mimimopu.com</div></div></div></div></a>
<p>さて話が脱線してしまいましたが、コンテナで作業した後イメージにセーブしないといけません。<br />
今はdockerの中にいると思いますが、exitコマンドで一度抜けて下さい。<br />
その後docker ps してあげます。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000008-1.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-681 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000008-1.jpg" alt="docker" width="1024" height="440" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000008-1.jpg 1024w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000008-1-300x129.jpg 300w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000008-1-768x330.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><br />
今起動中のコンテナが表示されます。</p>
<p>何か作業をして残しておきたい時はイメージをセーブすればOKです。<br />
セーブするコマンドは、<br />
docker commit [コンテナのID] [好きな名前]<br />
です。</p>
<p>もし画像の状態のcentosをセーブするなら<br />
docker commit c5453bb31251 test<br />
の様になります。</p>
<p>正直この運用方法がdocker的に正しいのか分かりませんが、作業履歴が残せます。<br />
もっと正しい運用方法があれば教えてください！</p>
<p>さて上のコマンドでtestイメージが作られました。<br />
次回からはこのtestイメージを使う訳ですが、docker-composeを少し変えてあげるだけです。</p>
<pre>

version: '3.7'

services:
  web2:
    container_name: "centos"
    image: test:latest　←ココを変えただけ
    volumes:
      - C:\project\docker\data:/home/data
    privileged: true
    command: /sbin/init
    tty: true
    ports:
     - 8080:80

  postgres:
    image: bitnami/postgresql:9.6
    restart: always
    environment:
      POSTGRES_HOST_AUTH_METHOD: 'trust'
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: pikatyuu4188
      PGPASSWORD: pikatyuu4188
      POSTGRES_DB: mydb
      TZ: "Asia/Tokyo"
    ports:
      - 5432:5432
    volumes:
      - C:\project\docker\postgres:/var/lib/postgresql/data
 
volumes:
  web1:
  postgres:
</pre>
<p>セーブする際に毎回同じイメージ名でコミットするなら常に最後のセーブポイントから復帰できますし、イメージを自動で上書きしてくれるので余計なイメージを量産する事にもなりません。<br />
逆に分けたい場合はイメージ名を変えてあげればOKです。</p>
<p>ちょっと長くなってしまいましたが、docker desktopの使い方は以上になります。<br />
もっと賢い使い方もあるかもしれませんが、私自身初級者なので是非教えて下さい。</p>
<p>肝心にlarabelのインストールについてですが、作業自体は全く同じなので、vagrant編の[まずはnginxを入れてみよう]あたりから参考にしてみて下さい。<br />
同じcentos7なので全く同じ作業で入るはずです。<br />
ここが分からないなどあれば突っ込みお願いします。</p>
<a href="https://blog.gorone.site/archives/650#toc4" title="laravel8開発環境セッティング(vagrant編)" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="160" height="90" src="https://blog.gorone.site/wp-content/uploads/2021/07/cat-1204324_1280-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://blog.gorone.site/wp-content/uploads/2021/07/cat-1204324_1280-160x90.png 160w, https://blog.gorone.site/wp-content/uploads/2021/07/cat-1204324_1280-120x68.png 120w, https://blog.gorone.site/wp-content/uploads/2021/07/cat-1204324_1280-320x180.png 320w" sizes="auto, (max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">laravel8開発環境セッティング(vagrant編)</div><div class="blogcard-snippet internal-blogcard-snippet">laravel8がインストール出来ないという方向けに書いてみます。まずは仮想環境を用意しましょう。というのも筆者がxamp環境でインストールした事が無いのでやり方が分かりません^^;仮想環境を使えばサクっと出来上がるので、まだやった事が無い人は挑戦してみましょう。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://blog.gorone.site" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">blog.gorone.site</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2021.11.06</div></div></div></div></a>
<p>投稿 <a href="https://blog.gorone.site/archives/672">laravel8開発環境セッティング(docker編)</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gorone.site/archives/672/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>laravel8開発環境セッティング(vagrant編)</title>
		<link>https://blog.gorone.site/archives/650</link>
					<comments>https://blog.gorone.site/archives/650#respond</comments>
		
		<dc:creator><![CDATA[gorori]]></dc:creator>
		<pubDate>Sat, 06 Nov 2021 03:19:48 +0000</pubDate>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[趣味]]></category>
		<category><![CDATA[Laravel]]></category>
		<category><![CDATA[vagrant]]></category>
		<guid isPermaLink="false">https://blog.gorone.site/?p=650</guid>

					<description><![CDATA[<p>目次 仮想環境を使うと便利vagrant編仮想環境の中に入ろうまずはnginxを入れてみようphpを入れてみようDBを入れよういよいよlaravel 仮想環境を使うと便利 laravel8がインストール出来ないという方向 [&#8230;]</p>
<p>投稿 <a href="https://blog.gorone.site/archives/650">laravel8開発環境セッティング(vagrant編)</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">仮想環境を使うと便利</a><ol><li><a href="#toc2" tabindex="0">vagrant編</a><ol><li><a href="#toc3" tabindex="0">仮想環境の中に入ろう</a></li><li><a href="#toc4" tabindex="0">まずはnginxを入れてみよう</a></li><li><a href="#toc5" tabindex="0">phpを入れてみよう</a></li><li><a href="#toc6" tabindex="0">DBを入れよう</a></li><li><a href="#toc7" tabindex="0">いよいよlaravel</a></li></ol></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">仮想環境を使うと便利</span></h2>
<p>laravel8がインストール出来ないという方向けに書いてみます。</p>
<p>まずは仮想環境を用意しましょう。<br />
というのも筆者がxamp環境でインストールした事が無いのでやり方が分かりません^^;<br />
仮想環境を使えばサクっと出来上がるので、まだやった事が無い人は挑戦してみましょう。</p>
<p>ちなみにwindows環境を想定しています。<br />
ですが、macでも仮想環境の下地は一緒なのでほぼ同じ作業で出来るはずです</p>
<h3><span id="toc2">vagrant編</span></h3>
<p>まずvagrantって何？という点ですが、vagrantは<span class="red">VirtualBox</span>などを拡張して使う事になります。<br />
<span class="red">VirtualBox</span>とは仮想環境を作る根本となるソフトです。</p>
<p>VirtualBoxを使えばwindowsの中にwindows、macの中にwindowsなどが出来ます。(bootcampで入れられるなどは一旦置いておいて)<br />
その様な使い方も出来ますが、開発環境を構築するのに向いています。<br />
VirtualBoxの中にlinux(大体がライセンスフリー)を入れて開発環境を構築出来ます。</p>
<p>VirtualBox単体だと下記の様な感じ。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000000.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-651 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000000.jpg" alt="VirtualBox" width="767" height="576" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000000.jpg 767w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000000-300x225.jpg 300w" sizes="auto, (max-width: 767px) 100vw, 767px" /></a><br />
勿論これにlinuxを入れて動かす事も出来ますが、OSのイメージを取得してきてインストールするのはめんどくさいですよね。</p>
<p>そこにvagrantというツールを合わせて使うとお手軽に仮想環境が出来ます。</p>
<p>まずは両方のソフトをインストールします。</p>
<a rel="noopener" href="https://www.oracle.com/jp/virtualization/technologies/vm/downloads/virtualbox-downloads.html" title="Oracle VM VirtualBox - &#12480;&#12454;&#12531;&#12525;&#12540;&#12489;| Oracle Technology Network | &#12458;&#12521;&#12463;&#12523; | Oracle &#26085;&#26412;" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fwww.oracle.com%2Fjp%2Fvirtualization%2Ftechnologies%2Fvm%2Fdownloads%2Fvirtualbox-downloads.html?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Oracle VM VirtualBox - &#12480;&#12454;&#12531;&#12525;&#12540;&#12489;| Oracle Technology Network | &#12458;&#12521;&#12463;&#12523; | Oracle &#26085;&#26412;</div><div class="blogcard-snippet external-blogcard-snippet">Download the latest version of Oracle VM VirtualBox.</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.oracle.com/jp/virtualization/technologies/vm/downloads/virtualbox-downloads.html" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.oracle.com</div></div></div></div></a>
<a rel="noopener" href="https://www.vagrantup.com/" title="Vagrant by HashiCorp" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://blog.gorone.site/wp-content/uploads/cocoon-resources/blog-card-cache/ec7e376c0205de246d97e12f3c70fcf4.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Vagrant by HashiCorp</div><div class="blogcard-snippet external-blogcard-snippet">Vagrant enables users to create and configure lightweight, reproducible, and portable development environments.</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.vagrantup.com/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.vagrantup.com</div></div></div></div></a>
<p>最近はあまり無いとは思いますが、verによって上手くvagrantが動かない事があります。<br />
その場合はverを下げてみたりしてトライしてみて下さい。</p>
<p>早速起動といきたいところですが、windows側でも設定する事が1つあります。<br />
windowsのHyper-Vという機能を切ってあげます。<br />
後述しますが、dockerの場合はHyper-Vが必要で、vagrantの場合はHyper-Vがいりません。<br />
一緒に動かせれば一番有難いのですが、私の環境ではどちらか一方しか動かなかったのです。</p>
<p>Hyper-Vを切るには、パワーシェルを管理者として開くで開いて下さい。<br />
デフォルトだと青い画面が開かれたと思います。<br />
そこに下記をコピペして実行してあげてください。</p>
<div class="ao">bcdedit /set hypervisorlaunchtype off</div>
<p>これでハイパーVが切れました。</p>
<p>一旦再起動してください。</p>
<p>さてさて再起動が終わった所でいよいよvagrantの実行です。<br />
Cドライブの直下に「project」フォルダを作って下さい。<br />
正直フォルダ名は何でも大丈夫ですが、半角で英数字でないと上手く起動しないかもしれないです。</p>
<p>作ったフォルダの中に更に「test」というフォルダを作って下さい。<br />
これはvagrantがフォルダ毎に仮想環境を切り替えられるので、プロジェクト毎にフォルダを作った方が利便性が高い為です。<br />
testフォルダの中に入って右上のファイル→パワーシェル→管理者モードでまたパワーシェルを開いて下さい。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000001.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-652 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000001.jpg" alt="パワーシェル" width="989" height="714" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000001.jpg 989w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000001-300x217.jpg 300w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000001-768x554.jpg 768w" sizes="auto, (max-width: 989px) 100vw, 989px" /></a></p>
<p>また青い画面の登場です。<br />
その青い画面に<span class="ao">vagrand init</span>と入れて下さい。<br />
すると、testフォルダの中に<span class="bold">Vagrantfile</span>というファイルが作成されました。<br />
開いてみましょう。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000003.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-653 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000003.jpg" alt="vagrant" width="757" height="905" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000003.jpg 757w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000003-251x300.jpg 251w" sizes="auto, (max-width: 757px) 100vw, 757px" /></a></p>
<p>おーなんだか難しそうですね。<br />
でも実は簡単です。<br />
ほとんどがコメントアウトされている事にお気づきでしょう。<br />
説明が書いてあって、この機能使いますか？という感じに書かれています。</p>
<p>ここで重要なのは4点です。</p>
<div class="info-box"><span class="bold-red"><br />
・何をベースに仮想環境を作るか<br />
・tera-termなどで繋ぐ際のIP<br />
・ソースコードをwindowsで操作できる様に仮想環境⇔windowsの共有フォルダ<br />
・apacheやnginxなどでブラウザで見る時のポート<br />
</span><br />
・DBを専用ソフトなどで見る際のポート(これは無くてもいい)<br />
・使用するメモリ(これはデフォでコメントアウトされていないので残しておきましょう)</div>
<p>なので、いらない部分を削ると下記の様になります。(別に削らなくてもOK)</p>
<pre># -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
  config.vm.box = "centos7"　#←ベースのOS
  config.vm.network "forwarded_port", guest: 80, host: 8080　#←apacheなどのポート
  config.vm.network "forwarded_port", guest: 5432, host: 5432　#←DBのポート
  config.vm.network "private_network", ip: "192.168.33.100"　#←tera-termなどで繋ぐ際のIP
  config.vm.synced_folder ".", "/vagrant", type:"virtualbox"　#←共有フォルダ
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "2048"　#←メモリ
  end
end
</pre>
<p><a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000000-1.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-655 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000000-1.jpg" alt="vagrant" width="898" height="565" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000000-1.jpg 898w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000000-1-300x189.jpg 300w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000000-1-768x483.jpg 768w" sizes="auto, (max-width: 898px) 100vw, 898px" /></a></p>
<p>上のままでも起動できると思いますが、ここでvagrantのイメージを見てみましょう。<br />
今回はまっさらなcentosの7というOSをイメージとして使いましたが、vagrantのイメージは他にもたくさんあります。</p>
<a rel="noopener" href="https://app.vagrantup.com/boxes/search" title="HashiCorp Cloud Platform" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fapp.vagrantup.com%2Fboxes%2Fsearch?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">HashiCorp Cloud Platform</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://app.vagrantup.com/boxes/search" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">app.vagrantup.com</div></div></div></div></a>
<p>linuxというのはwebサーバー向けのOSでwindowsの様にマウスを使ったり、ブラウザがあったりする物もあります。<br />
いわゆるGUIがついている物です。<br />
生粋のプログラマーの方だとwindowsやMacでなくlinuxを普段のPCとして使っている方もいます。<br />
そしてMacもまたUnixというLinuxの兄弟の様なOSをアップルが拡張して作った物になります。<br />
ただunixとlinuxが似ているのは確かでweb開発だと主にlinuxを使うので、そこで兄弟で相性のいいMacを使う方が多いです。</p>
<p>さて少し話がずれましたが、vagrantで使うイメージの話です。<br />
実のところlaravelを使いたいだけなら既にイメージがあります。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000001-1.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-656 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000001-1.jpg" alt="laravel" width="1024" height="260" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000001-1.jpg 1024w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000001-1-300x76.jpg 300w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000001-1-768x195.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000002.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-657 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000002.jpg" alt="laravel" width="630" height="272" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000002.jpg 630w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000002-300x130.jpg 300w" sizes="auto, (max-width: 630px) 100vw, 630px" /></a></p>
<p>これをベースのOSに指定してあげればlaravelはそのまま使えます。<br />
ですが、あまり推奨しません。<br />
自分が使っていないので、どんな物か分からないのと、構築する楽しみが味わえないなんて勿体ない！</p>
<p>あと自分で構築した物だと最低限自分で入れたソフトウェアの設定箇所などが分かるので便利です。</p>
<p>ここから先は若干難しいですが、1時間ほどで出来ると思います。</p>
<h4><span id="toc3">仮想環境の中に入ろう</span></h4>
<p>OSを入れたての場合はまずOSを更新してあげましょう。<br />
windowsやmacで言うところの機能の更新です。<br />
linuxはサーバー用途で使う事が多いので、自動では機能の更新をしません。</p>
<p>その為、入れたてのlinuxはまず全体の更新をしてあげましょう。<br />
ここからはcentos7を入れた物として書きます。<br />
linuxにも種類がありますが、良くAWSのamazon linuxも同じコマンドで扱えるのでcentos(red hat系)で慣れておくと便利です。</p>
<p>まずはlinuxに接続する必要がありますね。<br />
私はtera-termというソフトを使いますが、これもコンソール系のアプリが色々あるので好きなのを選択して下さい。<br />
もしtera-termでいいよという方は下記からDLして下さい。</p>
<a rel="noopener" href="https://forest.watch.impress.co.jp/library/software/utf8teraterm/" title="窓の杜" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://blog.gorone.site/wp-content/uploads/cocoon-resources/blog-card-cache/2a584a58a364a0c2492c57fb1a357bfb.jpg" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">窓の杜</div><div class="blogcard-snippet external-blogcard-snippet">「Tera Term」定番のターミナルエミュレーター</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://forest.watch.impress.co.jp/library/software/utf8teraterm/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">forest.watch.impress.co.jp</div></div></div></div></a>
<p>Macの場合は、コンソールから出来ると思うのですいませんがググってみて下さい。<br />
又、実はwindowsの場合も先ほどのパワーシェルの画面から仮想環境の中に入れます。<br />
vagrant sshと入力すると仮想環境の中に入れます。</p>
<p>私はパワーシェルだとディレクトリが見にくいのと実際にAWSなどに接続する際もtera-termなどを使うのでコチラをオススメします。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000003-1.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-659 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000003-1.jpg" alt="tera-term" width="649" height="475" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000003-1.jpg 649w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000003-1-300x220.jpg 300w" sizes="auto, (max-width: 649px) 100vw, 649px" /></a></p>
<p>先ほど設定した<span class="bold">tera-termなどで繋ぐ際のIP</span>を入れて下さい。<br />
ポートは変更していないなら22でOKです。<br />
次に進むとパスワードを聞かれます。<br />
ここも何も設定していなければ、<br />
ユーザー：vagrant<br />
パスワード：vagrant<br />
で入れます。</p>
<p>どうでしょうか、入れたでしょうか。<br />
入れれば下記の画面の様になります。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000005.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-660 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000005.jpg" alt="vagrant" width="647" height="476" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000005.jpg 647w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000005-300x221.jpg 300w" sizes="auto, (max-width: 647px) 100vw, 647px" /></a></p>
<p>おめでとうございます！これでもう好き勝手に遊んでいい仮想環境が手に入りました！<br />
この中で何か不具合が起きてもwindowsやMacにも99%影響がないので安心して下さい(ファイルの容量は使いますけどねｗ)<br />
さてまずは先ほど書いたOSのアップデートを行いましょう。<br />
sudo yum update<br />
と入力してエンターを押してあげて下さい。<br />
途中で<br />
Is this ok [y/d/N]:<br />
と聞かれるので y と入力してエンターです。</p>
<p>何やら凄い量のファイルが表示されますね。<br />
でも安心して下さい。<br />
特殊な環境を除けばyum はファイルの互換性などを自動で調整してくれるので安心です。</p>
<div class="info-box">補足：sudo とは管理者権限で実行するという意味です。<br />
linuxはrootという管理者ユーザーが存在しますが、まずこのモードで操作する事はありません。<br />
その代わりにsudoというコマンドを入れてあげると管理者権限で実行できます。<br />
試しにyum update だけで実行してみましょう、多分実行出来なかったはずです。<br />
このsudoもどのユーザーに割り当てたりなど設定は出来ますが、今は置いておきます。</div>
<h4><span id="toc4">まずはnginxを入れてみよう</span></h4>
<p>まだ何やら文字列だらけで本当に動いているのか分からないですよね。<br />
まずはnginxを入れてブラウザで仮想環境が動いている事を実感しましょう。</p>
<p>nginxとは何ぞやという話ですが、apacheと近しい物という認識でOKです。<br />
nginxの方が大体の環境においてapacheより描写が早いのが特徴です。</p>
<p>sudo yum install nginx　でそのまま入るかもしれませんが、どうせなら最新の物を入れましょう。<br />
最新の物を入れるにはリポジトリを追加します。<br />
リポジトリとは何ぞやですが、yumコマンドで何かインストールする時はリポジトリを参照してインストールします。<br />
なのでリポジトリに無い物や新しいバージョンの物を入れたい時にはリポジトリを追加してあげます。</p>
<p>ここでviを使います。<br />
メモ帳みたいなもんです。<br />
ただこのメモ帳はクセが凄いので慣れが必要です。<br />
まずは<br />
sudo vi /etc/yum.repos.d/nginx.repo<br />
と入力しエンターを押してください。</p>
<p>何も書かれて無い画面が表示されましたね。<br />
まずは　a を押して下さい。<br />
左下の文字がinsertに変わりましたね。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000006.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-661 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000006.jpg" alt="ターム" width="634" height="482" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000006.jpg 634w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000006-300x228.jpg 300w" sizes="auto, (max-width: 634px) 100vw, 634px" /></a><br />
これで文字を入力する準備が出来ました。</p>
<p>そこに下記をコピペして下さい。<br />
windowsではコピペする時に「貼る」などを選択する必要がありますが、linuxでは右クリックするとコピペできます。</p>
<pre>[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
</pre>
<p>コピペ出来たらEscキー、キーボードの一番左上のキーを押して下さい。<br />
insertの文字が消えたらOKです。<br />
その次に :wq<br />
と入力して下さい。<br />
これで保存出来ました。</p>
<p>viには :　の次に色んなコマンドを入れてファイルを操作する事が出来ます。<br />
今回の場合は<br />
w ←保存<br />
q ←viを抜ける<br />
です。</p>
<p>vimerの方にはそれちょっと違うよと突っ込まれてしまいそうですが、vi,vimにはあまり慣れていないのでお許し下さい。</p>
<p>さてこれで最新のnginxを入れる用意が出来ました。<br />
sudo yum install nginx<br />
を実行しましょう。</p>
<p>またザザっと文字が出てきてy n が出ていると思いますが、yです。<br />
適当な翻訳：nginx入れるけどいいか？y(yes)n(no)どっちだ？です。</p>
<p>ちなみにそんなのyesだよという方は<br />
sudo yum install -y nginx<br />
と入れて下さい。<br />
お察しの良い方はyesだよと最初から指定出来ます。</p>
<p>さて入れただけではまだ動いていません。<br />
sudo systemctl start nginx<br />
と入れてあげると動きます。<br />
ついでに<br />
sudo systemctl enable nginx<br />
も入れておきましょう。</p>
<p>基本的にcentos7は<br />
systemctl start<br />
systemctl stop<br />
systemctl restart<br />
でソフトに命令を出せます。</p>
<p>systemctl enable　の方はwindowsでいうスタートアップみたいな物でcentosが起動したら一緒にそのソフトも起動させてくれます。</p>
<p>さて、これで仮想環境のnginx君は動いています。<br />
http://localhost:8080/<br />
又は、<br />
http://192.168.33.100:8080<br />
などをブラウザで開いてみて下さい。</p>
<p>おそらくnginxだよ！みたいな画面が出てくると思います。<br />
私の場合は既に設定があってファイルパスを変えただけだと上手く最初の画面が開けなくて悲しい画面でした。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000007.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-662 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000007.jpg" alt="悲しい" width="278" height="119" /></a></p>
<h4><span id="toc5">phpを入れてみよう</span></h4>
<p>さてお次はPHPを入れてみましょう。<br />
これも好みはありますが、どうせなら最新の物を入れましょう。<br />
最新の物を入れるにはまず、リポジトリの追加ですね。<br />
これは先ほどより簡単、です下記のコマンドを実行しましょう。<br />
sudo yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm</p>
<p>これで最新のPHPを入れる事が出来ます。</p>
<p>一応レポジトリが入っているか確認してみましょう。</p>
<pre>[vagrant@localhost ~]$ ls -l /etc/yum.repos.d/
合計 116
-rw-r--r-- 1 root root 1664 7月 8 12:42 CentOS-Base.repo
-rw-r--r-- 1 root root 1309 11月 23 2020 CentOS-CR.repo
-rw-r--r-- 1 root root 649 11月 23 2020 CentOS-Debuginfo.repo
-rw-r--r-- 1 root root 630 11月 23 2020 CentOS-Media.repo
-rw-r--r-- 1 root root 1331 11月 23 2020 CentOS-Sources.repo
-rw-r--r-- 1 root root 8515 11月 23 2020 CentOS-Vault.repo
-rw-r--r-- 1 root root 314 11月 23 2020 CentOS-fasttrack.repo
-rw-r--r-- 1 root root 616 11月 23 2020 CentOS-x86_64-kernel.repo
-rw-r--r-- 1 root root 1457 9月 4 19:37 epel-testing.repo
-rw-r--r-- 1 root root 951 7月 8 12:47 epel.repo
-rw-r--r-- 1 root root 1358 9月 4 19:37 epel.repo.rpmnew
-rw-r--r-- 1 root root 99 11月 6 01:50 nginx.repo
-rw-r--r-- 1 root root 446 9月 2 11:35 remi-glpi91.repo
-rw-r--r-- 1 root root 446 9月 2 11:35 remi-glpi92.repo
-rw-r--r-- 1 root root 446 9月 2 11:35 remi-glpi93.repo
-rw-r--r-- 1 root root 446 9月 2 11:35 remi-glpi94.repo
-rw-r--r-- 1 root root 855 9月 2 11:35 remi-modular.repo
-rw-r--r-- 1 root root 456 9月 2 11:35 remi-php54.repo
-rw-r--r-- 1 root root 1314 9月 2 11:35 remi-php70.repo
-rw-r--r-- 1 root root 1314 9月 2 11:35 remi-php71.repo
-rw-r--r-- 1 root root 1314 9月 2 11:35 remi-php72.repo
-rw-r--r-- 1 root root 1314 9月 2 11:35 remi-php73.repo
-rw-r--r-- 1 root root 1314 9月 2 11:35 remi-php74.repo
-rw-r--r-- 1 root root 1314 9月 2 11:35 remi-php80.repo
-rw-r--r-- 1 root root 1314 9月 2 11:35 remi-php81.repo
-rw-r--r-- 1 root root 750 9月 2 11:35 remi-safe.repo
-rw-r--r-- 1 root root 2605 9月 2 11:35 remi.repo
</pre>
<p>PHPの8.1版まで入れられますね。<br />
lalavel8はPHP7.3以上入れればいいので、安定版だと思われる74。最新の81どちらでも大丈夫です。<br />
私はdockerでは8.1でvagarantでは7.4ですがとくに意味は無いです。<br />
両方動きますし、本番環境と合わせてあげると良いです。</p>
<p>ではvagrantでは7.4なので7.4をインストールするコマンドです。</p>
<pre>
sudo yum -y install --enablerepo=remi,remi-<span class="red-under">php74</span> php php-mbstring php-xml php-xmlrpc php-gd php-pdo php-pecl-mcrypt php-mysqlnd php-pecl-mysql php-fpm php-zip php-pgsql
</pre>
<p>最新の物を入れたい方は、赤のラインの所をphp81にして下さい。</p>
<p>これが入れ終わったら、</p>
<pre>
sudo yum install --enablerepo=remi-<span class="red-under">php74</span> composer
</pre>
<p>も入れて下さい。(一緒に入れても問題ないかもですが)</p>
<p>この<span class="bold">composer</span>なる物でlaravelを入れます。<br />
このcomposerですが、PHP版のyumみたいな物でlaravelに何か機能を追加する時に使うのと、laravel意外のFWを入れる時もPHPのこの機能が足りないよなどと教えてくれます。<br />
結構嫌いな人も居るみたいですが、最終的にherokuなどにアプリをアップする時は必要になるのでとりあえず入れておきましょう。</p>
<p>PHPは入れ終わったので、実際に動いているか確かめましょう。<br />
まずphp-fpmというプログラムを起動します。<br />
これは先ほどと同じ様に、<br />
sudo systemctl start php-fpm<br />
ついでに<br />
sudo systemctl enable php-fpm<br />
としてあげます。</p>
<p>次に共有フォルダの中にdataというフォルダを作って、その中にindex.phpというファイルを作ります。<br />
その中身に<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000010.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-669 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000010.jpg" alt="php" width="130" height="85" /></a><br />
※すいませんコードを書いたらエスケープが働いて表示されなかったので画像にしました<br />
とだけ書いて保存して下さい。</p>
<p>次にnginxの設定です。<br />
下記を開いて下さい。<br />
sudo vi /etc/nginx/conf.d/default.conf</p>
<p>余計な記述もありますが、とりあえず下記をコピペして下さい。</p>
<pre>
server {
listen 80;
server_name localhost;
root /vagrant/data;
charset UTF-8;
access_log /var/log/nginx/www.example.com.access.log main;
error_log /var/log/nginx/www.example.com.error.log;location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}}

</pre>
<p>保存して閉じて下さい。:wq</p>
<p>そうしたら、nginxを再起動します。<br />
sudo systemctl restart nginx</p>
<p>どうでしょう、下記の様な感じに表示されたでしょうか？<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000008.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-663 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000008.jpg" alt="php" width="948" height="904" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000008.jpg 948w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000008-300x286.jpg 300w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000008-768x732.jpg 768w" sizes="auto, (max-width: 948px) 100vw, 948px" /></a></p>
<p>表示されたらPHPちゃんは息をしております。</p>
<p>さて結構作業をしてお疲れかもしれませんが、laravelを入れる際にcomposerでメモリオーバーになるのでついでに設定しておきましょう。<br />
下記のファイルを開きます。<br />
sudo vi /etc/php.ini</p>
<p>そうしたら、　:/memory<br />
と入力してみて下さい。</p>
<p>おそらくmemory_limitの所へ飛べると思うので、<br />
aを押してインサートモードで　memory_limit = -1　として下さい。<br />
出来たら:wqで閉じて下さい。</p>
<h4><span id="toc6">DBを入れよう</span></h4>
<p>1時間で終わると書いておきながらもっと必要かもと思い始めましたｗ<br />
適度に休憩しながらしましょう。</p>
<p>さぁお次はDBです。<br />
普通ならmySQLといきたい所ですが、私がherokuにあげるつもりで作ったのでposgresSQLを使います。<br />
mySQL編はまた今度追記するのでお許し下さい。</p>
<p>ただlaravelを使うと分かりますが、mySQLでもposgreでも全く問題ない事に気づくはずです。<br />
今まで最新の物を入れていましたが、ここはyumで普通に入る物を使います。<br />
事情は別の記事にあるので良かったら探してみてください。<br />
posgreの最新の物にしたい方はリポジトリを追加して下さい。</p>
<p>ではサクっとインストールしちゃいます。<br />
sudo yum install -y postgresql-server<br />
sudo postgresql-setup initdb<br />
sudo systemctl enable postgresql.service<br />
sudo systemctl start postgresql.service</p>
<p>これでポスグレの起動はOKです。<br />
次にポスグレユーザーのパスワードを変更します。<br />
sudo passwd postgres<br />
ここは好きなパスワードでOKですが、上はlinux上のポスグレユーザーのパスワードでDB上のpostgresユーザーもパスワードも変更します。<br />
セキュリティ上よろしくは無いのですが、ごっちゃにならない様に同じパスワードにしておくのもありです。</p>
<p>su &#8211; postgres　と入力して先ほど設定したパスワードを入れて下さい。<br />
ユーザーの切り替えが出来たら、おそらく<br />
-bash-4.2$<br />
のようになっていると思います。</p>
<p>まずDBを作成してしまいます。<br />
createdb mydb;<br />
mydbの部分はお好きに変えて下さい。</p>
<p>この画面のまま　psql　と入力するとポスグレの中に入れます。<br />
中に入ってpostgresユーザーのパスワード変更を行います。<br />
alter role postgres with password &#8216;postgres&#8217;;<br />
&#8221;の中身がパスワードになります。</p>
<p>￥l←(小文字にして下さい)と入力すると作ったDBが見れます。</p>
<pre>
postgres=# \l
データベース一覧
名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権
-----------+----------+------------------+------------+-------------------+-----------------------
mydb | postgres | UTF8 | ja_JP.utf8 | ja_JP.utf8 |
postgres | postgres | UTF8 | ja_JP.utf8 | ja_JP.utf8 |
template0 | postgres | UTF8 | ja_JP.utf8 | ja_JP.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | ja_JP.utf8 | ja_JP.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 行)
</pre>
<p>￥qでデータベースから抜けて更にpostgresユーザーからexitと入力して抜けて下さい。<br />
sudo systemctl restart postgresql.service<br />
をしておいて下さい。</p>
<h4><span id="toc7">いよいよlaravel</span></h4>
<p>お待たせしました。<br />
いよいよlaravelをインストールしましょう。<br />
まずlinuxとwindowsの共有フォルダに移動します。</p>
<p>かなーり初期に書いたvagrantの初期設定だと<br />
cd /vagrant/data/<br />
で共有フォルダに移動出来ると思います。<br />
data一応あった方がいいので、無い場合はwindows側で作ってリナックス上で上記のコマンドで移動できるようにしましょう。</p>
<p>おまんたせしました。<br />
ではlarabelを入れましょう。<br />
とは言ったものの１コマンドで作ってくれます。</p>
<pre>
composer create-project laravel/laravel example-app
</pre>
<p>testは好きに変えて下さい。</p>
<p>composerくんがぐんぐん色んなファイルを作成してくれます。<br />
Application key set successfully.<br />
が出たら、共有フォルダで作ったので、勿論ファイルが出来ています。</p>
<p>さぁ初期画面が見たいですよね。<br />
nginxでlarabelを指定してあげましょう。<br />
sudo vi /etc/nginx/conf.d/default.conf</p>
<pre>
server {
listen 80;
server_name localhost;
#ここは「sync」フォルダ以下にあるファイルを参照してほしいので、「sync」の同期先であるvar/wwwを指定。
root /vagrant/data/test/public;
charset UTF-8;
access_log /var/log/nginx/www.example.com.access.log main;
error_log /var/log/nginx/www.example.com.error.log;location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

}

</pre>
<p>さぁどうでしょうかちゃんと表示されてますでしょうか。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/11/WS000009.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-664 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/11/WS000009.jpg" alt="larabel" width="1024" height="482" srcset="https://blog.gorone.site/wp-content/uploads/2021/11/WS000009.jpg 1024w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000009-300x141.jpg 300w, https://blog.gorone.site/wp-content/uploads/2021/11/WS000009-768x362.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><br />
私は大丈夫でしたが、元々作った環境を見ながらこの記事を書いたので、何とも言えないのです。<br />
もし出来ないよーなどがあればお知らせください。</p>
<p>ちなみにvagrantではnpmが上手く機能しないと思います。<br />
すいません、ちょっと長くなりすぎたので、npmに関してはこちらの記事をご参照下さい。</p>
<a href="https://blog.gorone.site/archives/617" title="laravelで苦労した点3" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="160" height="90" src="https://blog.gorone.site/wp-content/uploads/2021/06/think-about-1217109_1280-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://blog.gorone.site/wp-content/uploads/2021/06/think-about-1217109_1280-160x90.png 160w, https://blog.gorone.site/wp-content/uploads/2021/06/think-about-1217109_1280-120x68.png 120w, https://blog.gorone.site/wp-content/uploads/2021/06/think-about-1217109_1280-320x180.png 320w" sizes="auto, (max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">laravelで苦労した点3</div><div class="blogcard-snippet internal-blogcard-snippet">laravelをインストールすると大量のvenderファイルとnode_modulesがを入れる事になります。venderファイルの方は問題ないのですが、node_modulesを入れるためのnpm installが多分動かないです。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://blog.gorone.site" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">blog.gorone.site</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2021.10.18</div></div></div></div></a>
<p>投稿 <a href="https://blog.gorone.site/archives/650">laravel8開発環境セッティング(vagrant編)</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gorone.site/archives/650/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>開発環境構築の話</title>
		<link>https://blog.gorone.site/archives/647</link>
					<comments>https://blog.gorone.site/archives/647#respond</comments>
		
		<dc:creator><![CDATA[gorori]]></dc:creator>
		<pubDate>Wed, 27 Oct 2021 12:29:31 +0000</pubDate>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[趣味]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[Laravel]]></category>
		<category><![CDATA[vagrant]]></category>
		<guid isPermaLink="false">https://blog.gorone.site/?p=647</guid>

					<description><![CDATA[<p>目次 DBのデータって外に保存しない方が良い？ちょっと脱線visual stadio codelaravel DBのデータって外に保存しない方が良い？ あくまで開発環境の話であって、個人開発の話では無いです。 開発環境を [&#8230;]</p>
<p>投稿 <a href="https://blog.gorone.site/archives/647">開発環境構築の話</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">DBのデータって外に保存しない方が良い？</a><ol><li><a href="#toc2" tabindex="0">ちょっと脱線</a><ol><li><a href="#toc3" tabindex="0">visual stadio code</a></li><li><a href="#toc4" tabindex="0">laravel</a></li></ol></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">DBのデータって外に保存しない方が良い？</span></h2>
<p>あくまで開発環境の話であって、個人開発の話では無いです。</p>
<p>開発環境を配る時ってDBにデータが投入されていた方が便利ですよね。<br />
前の会社では結構な規模だったので、開発環境はAWSの開発環境用のDBに繋がる様に設定されていました。<br />
前の会社が結構特殊で仮想環境などを使わずに一人1台？EC2を配るというなかなか豪快な環境だったので、かなりレアだと思うのですが、<br />
基本的にDBにはデータが投入されていた方がいいと思うのです。</p>
<p>seedsなどでテストファイルをDB作成時に作るのもいいですが、そこのファイル容量は手間を考えればあった方が良さそう。<br />
今、個人開発しているlaravelのアプリもデータ永続化の為にwindows上にデータを持たせていますが、DBのイメージをセーブすれば多分データは残るはず？</p>
<p>さすがに永続化のデータを配るならDBのイメージを共有した方がいいはず。<br />
ん～でも開発環境と言えど、新規のデータ、新鮮なデータを共有した方が良さそうなのでDBだけでクラウド上で共有した方がいいかもですね。</p>
<h3><span id="toc2">ちょっと脱線</span></h3>
<p>私は開発にブランクがあるので、開発に使うツール類の進化が凄いです。<br />
それはエディターにも言える事だし、FWもめちゃ進化してます。<br />
特にvisual stadio codeとlaravelにはびっくりしました。</p>
<h4><span id="toc3">visual stadio code</span></h4>
<p>ATOMではプラグインだったcssの色表示も標準で搭載されているし、なんかもっとカスタマイズするともっと便利になるみたい。<br />
コード自動実装機能は本当にあるし、マイクロソフトの本気ですね。<br />
元々visual stadioは便利だったので、その技術をweb向けにカスタマイズした感じですね。</p>
<p>tailwindのプラグインとCSSセットを使うと何やらもっと凄いっぽいですが、まだ試してないですね。<br />
bootstrap版とかもあるのでしょうか。</p>
<p>まだこのエディタの10%も使いこなせていないので、早く慣れない所です。</p>
<h4><span id="toc4">laravel</span></h4>
<p>web職人の為のFWとどこかでみた気がしますが、私が触ってみた感想としては、web初心者向きのFWですね。<br />
個人認証機能もガッチリした物がついていて、cssとかjavascriptもlaravel mixで構文をチェックしてくれる。<br />
まぁガッチリ触ってないので、何ともですが、フォルダのジャンル分けが分かりやすい。</p>
<p>とりあえずMVCの置き場所だけ覚えればいいし、rootファイルも分かりやすい。<br />
後地味に凄いのが<br />
Route::resource<br />
と書くと7?8種類のcludが自動生成される事です。</p>
<p>そのコントローラーも<br />
php artisan make:controller コントローラー名 &#8211;resource<br />
と書くと動きに合わせたコントローラーを自動生成してくれます(メソッドは定義してくれるけど、中身は空です)</p>
<p>良く使い方が分からず、無理やり作った部分もありますが・・・。</p>
<p>キレイに書くならresourceに合わせて書いて、力技でも実装出来るのがいい所ですね。<br />
ただ、その分表示速度は犠牲になっているみたいです。<br />
venderをオーバーライドしただけでモッサリしたので、何かチューニングが出来るのかな？<br />
モッサリ部分を感じさせない工夫が必要かもしれないですね。<br />
勿論いいサーバーを使えば早いでしょうが。</p>
<p>話は変わりますが、数年前にrailsを試した時はその便利さとチュートリアルのテストがかなり難しい。<br />
正直機能と同等かそれ以上のテストを書いた気がします。</p>
<p>laravelは必要部分だけつまみ食いしたのでテストは書いてないんですよね。<br />
書くとしてもDBの登録部分とかになるけど、やっぱり業務で使うとなるとテストは大事なのでそこは勉強しておきたいです。</p>
<p>正直PHPで新規でアプリを作るならlarabel一択だと思います。<br />
一応cakeとかも触ってますが、断トツで分かりやすい。<br />
といつつPHPはFWが豊富なのでまだ試していないのがたくさんあります。</p>
<p>PHPはアカデミックな言語ではないですが、HTMLに埋め込める部分が強いのかなと思います。<br />
あまり良い使い方では無いですが、viewの中でPHPを実行したりと結構めちゃくちゃできます、他の人に怒られます・・・。</p>
<p>とりあえずまずは、PHPとreactかvueを素で書ける様に勉強します（実際は遊んでるだけなのですが・・・）<br />
その次はせっかくmacもあるのでswiftを書けるようになりたいです。</p>
<p>以上、願望でした。</p>
<p>投稿 <a href="https://blog.gorone.site/archives/647">開発環境構築の話</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gorone.site/archives/647/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>dockerの話3</title>
		<link>https://blog.gorone.site/archives/645</link>
					<comments>https://blog.gorone.site/archives/645#respond</comments>
		
		<dc:creator><![CDATA[gorori]]></dc:creator>
		<pubDate>Tue, 26 Oct 2021 10:44:46 +0000</pubDate>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[趣味]]></category>
		<category><![CDATA[docker]]></category>
		<guid isPermaLink="false">https://blog.gorone.site/?p=645</guid>

					<description><![CDATA[<p>ちょっとは理解できたかな 今個人開発しているアプリをvagrantからdockerに移す為に試行錯誤しておりました。 最終的にdocker-composeに書いているのは下記になります。 version: &#8216; [&#8230;]</p>
<p>投稿 <a href="https://blog.gorone.site/archives/645">dockerの話3</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<h2>ちょっとは理解できたかな</h2>
<p>今個人開発しているアプリをvagrantからdockerに移す為に試行錯誤しておりました。<br />
最終的にdocker-composeに書いているのは下記になります。</p>
<div class="code">
version: &#8216;3.7&#8217;</p>
<p>services:<br />
  web1:<br />
    container_name: &#8220;laravel&#8221;<br />
    image: laravel:latest<br />
    volumes:<br />
      &#8211; C:\project\docker\data:/home/data<br />
    privileged: true<br />
    command: /sbin/init<br />
    tty: true<br />
    ports:<br />
     &#8211; 8080:80</p>
<p>  postgres:<br />
    image: bitnami/postgresql:9.6<br />
    restart: always<br />
    environment:<br />
      POSTGRES_HOST_AUTH_METHOD: &#8216;trust&#8217;<br />
      POSTGRES_USER: postgres<br />
      POSTGRES_PASSWORD: pikatyuu4188<br />
      PGPASSWORD: pikatyuu4188<br />
      POSTGRES_DB: mydb<br />
      TZ: &#8220;Asia/Tokyo&#8221;<br />
    ports:<br />
      &#8211; 5432:5432<br />
    volumes:<br />
      &#8211; C:\project\docker\postgres:/var/lib/postgresql/data</p>
<p>  pgadmin:<br />
    image: dpage/pgadmin4<br />
    restart: always<br />
    ports:<br />
      &#8211; 81:80<br />
    environment:<br />
      PGADMIN_DEFAULT_EMAIL: info@mebbe.info<br />
      PGADMIN_DEFAULT_PASSWORD: password<br />
    volumes:<br />
      &#8211; C:\project\docker\pgadmin:/var/lib/pgadmin<br />
    depends_on:<br />
      &#8211; postgres</p>
<p>volumes:<br />
  web1:<br />
  postgres:<br />
  pgadmin:
</div>
<p>突っ込み所はあると思います。<br />
まずposgreが10未満な所。<br />
これには理由があって、元々最新verで動かしていたのですが、web1の方も読み取る側として10以上にする必要があったのですが、リポジトリがすんなり追加出来たら良かったのですが、エラーが出る・・・。<br />
色々設定してもエラーが出る・・・。<br />
という訳で結局元のposgreを10未満にする事で対処しました。(posgreは10以上から少し認証方式が変わった)</p>
<p>10未満にすることでマイグレーションもすんなり通りました。</p>
<p>後はdockerの知識として覚えた所はコンテナはプロセスを切ったら状態がリセットされる。<br />
私が何回か起動させたり、停止させたりしてたまに状態が残っていたのはたまたまか想定外の挙動だと思われます。<br />
基本的に状態を保持するにはイメージをセーブしてそれをロードする事が基本みたいです。</p>
<p>ここはvagrantの方がちょっと便利かなと思いました。<br />
vagrantはDBもサーバーもまるっと保存しているので、容量は大きくなるけど、その反面イメージを呼び出すだけで環境が再現されるので便利です。<br />
dockerもcomposeファイルを作ってしまえば同じですが、ツールはあるかもしれませんが、基本セーブする手間があるのでそこは使い方の違いですね。<br />
今回はDBだけ外出しにしましたが、nginxや言語、FWまで外出し出来る様なのでどこまで細分化するかですね。</p>
<p>環境が決まっていれば大きいイメージを作ってもいいと思いましたが、今回みたいにDBのverの切り替えなど手軽に行えるので正直どっちでもいいですｗ<br />
難しいと思っていたイメージ同士の繋ぎもcomposeファイルに定義してしまえば簡単に出来ますしdockerのイメージが少し変わりました。</p>
<p>ただDBのデータを永続化するためにデータをホスト側に持たせる為に共有フォルダにする辺り、上手くいっているかまだ不明です。<br />
ただこれも、ちゃんと方法が分かればふ～ん程度です。</p>
<p>色んなOS、FWや言語を試したい方には凄くいいツールだと思いました。<br />
まだ軽さとかはあんまり実感出来てないです。<br />
検索するとvagrantより軽いみたいですが、そもそもvagrantも重いと感じた事が無いので・・・。</p>
<p>まだm1 Mac版は正式リリースされてない？みたいなのでそれがリリースされれば入れてみたいです。<br />
とりあえず、dockerを食わず嫌いしていたので、その部分は解消出来たので良かったです。</p>
<p>投稿 <a href="https://blog.gorone.site/archives/645">dockerの話3</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gorone.site/archives/645/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>dockerの話2</title>
		<link>https://blog.gorone.site/archives/638</link>
					<comments>https://blog.gorone.site/archives/638#respond</comments>
		
		<dc:creator><![CDATA[gorori]]></dc:creator>
		<pubDate>Sun, 24 Oct 2021 10:16:16 +0000</pubDate>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[趣味]]></category>
		<category><![CDATA[vagrant]]></category>
		<guid isPermaLink="false">https://blog.gorone.site/?p=638</guid>

					<description><![CDATA[<p>目次 目標疑問webサーバーを入れよういきなり問題発生共有フォルダの設定 目標 ・webサーバーを入れる ・共有フォルダのファイルをブラウザを通して見る dockerに慣れている人なら簡単かと思いますが、初心者には何がな [&#8230;]</p>
<p>投稿 <a href="https://blog.gorone.site/archives/638">dockerの話2</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">目標</a><ol><li><a href="#toc2" tabindex="0">疑問</a></li><li><a href="#toc3" tabindex="0">webサーバーを入れよう</a><ol><li><a href="#toc4" tabindex="0">いきなり問題発生</a></li></ol></li><li><a href="#toc5" tabindex="0">共有フォルダの設定</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">目標</span></h2>
<div class="info-box">
・webサーバーを入れる<br />
・共有フォルダのファイルをブラウザを通して見る
</div>
<p>dockerに慣れている人なら簡単かと思いますが、初心者には何がなんだかなので目標はまず簡単な物にしておきます。</p>
<p>この2つがクリア出来れば後は好きな言語を入れてwebサーバーで動作させれるハズ？</p>
<p>今回は1つのコンテナにwebサーバーとかを入れちゃいます。<br />
本当はコンテナ同士を繋いでやりたいですが、docker玄人の方は温かい目で見て下さい。</p>
<h3><span id="toc2">疑問</span></h3>
<p>ドッカーデスクトップにコマンドラインとかは付属しているのか不明なのでコマンドプロンプトで操作しています。<br />
特に支障は今のところ無いのですが、この方法で良いのか・・・。</p>
<h3><span id="toc3">webサーバーを入れよう</span></h3>
<p>昨日作ったcentosのイメージはyum updateをしてsudoが既に入った状態の物です。<br />
作りたてホヤホヤの物はこの辺りも入ってない様なのでwebサーバーを入れる前に入れてあげましょう。</p>
<h4><span id="toc4">いきなり問題発生</span></h4>
<p>なんとレポジトリにnginxが無いとの事。<br />
起動時にレポジトリをコピーさせる方法が書いてあったのですが、今回はコンテナ内でレポジトリのファイルを作りました。</p>
<a rel="noopener" href="https://qiita.com/sugx2/items/b7c92ca5c7215d294355" title="Docker入門 CentOSとNginxでWebサーバー構築 - Qiita" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&#038;w=1200&#038;mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9RG9ja2VyJUU1JTg1JUE1JUU5JTk2JTgwJTIwQ2VudE9TJUUzJTgxJUE4TmdpbnglRTMlODElQTdXZWIlRTMlODIlQjUlRTMlODMlQkMlRTMlODMlOTAlRTMlODMlQkMlRTYlQTclOEIlRTclQUYlODkmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWI2YTI2YWI4OTU4Y2Y4MjY2YTU5NGVlZTEwYWQ5MmE4&#038;mark-x=142&#038;mark-y=57&#038;blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBzdWd4MiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZDg0N2U1NjkyMjc0YTFlOWRhZTVjNmI4M2ZhZDg0MmM&#038;blend-x=142&#038;blend-y=436&#038;blend-mode=normal&#038;txt64=aW4g44Op44Kk44OI44Kr44OV44Kn44Kw44Or44O844OX&#038;txt-width=770&#038;txt-clip=end%2Cellipsis&#038;txt-color=%23212121&#038;txt-font=Hiragino%20Sans%20W6&#038;txt-size=36&#038;txt-x=156&#038;txt-y=536&#038;s=df90ec91c7d691bd08e4b09ccfd47e4b" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Docker入門 CentOSとNginxでWebサーバー構築 - Qiita</div><div class="blogcard-snippet external-blogcard-snippet">目的DockerでWebサーバを構築するコンテナOS: centos7webサーバー: NginxDockerコンテナ型の仮想環境構築プラットフォームVirtualBoxなど仮想マシンに…</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://qiita.com/sugx2/items/b7c92ca5c7215d294355" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">qiita.com</div></div></div></div></a>
<p>レポジトリを作ってあげるとインスコ出来ました。<br />
多分vagrantのcentos7のイメージは最初からある程度カスタムされた物を使っていたのかな？<br />
とりあえずnginxを入れてあげる事が出来ました。</p>
<p>またも問題発生。</p>
<div class="code">Failed to get D-Bus connection: Operation not permitted</div>
<p>どうもドッカーを動かす時にオプションを設定して動かさないとダメな様です。</p>
<p>ちょっと検索したみた所、なるほど分からん・・・。<br />
とりあえず色々記事を見てみたところ、毎回コマンドで上記のエラーを出さない為に起動させるにはオプションをつけて起動させる必要があるみたいです。<br />
そのオプションをdocker-composeというフォイルを作っておけばこのファイルを見て起動してね。って事が出来る様なのでdocker-composeファイルを作って起動させてみたいと思います。</p>
<p>とりあえずDBなどのコンテナを使っていない記述を見つけたので、それを少しづつ変えながら動作させる作戦にします。</p>
<a rel="noopener" href="https://qiita.com/yo_dazy/items/36c6dc37994997c834af" title="Docker初級編・インストールからcompose.yamlを使用した複数起動 - Qiita" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&#038;w=1200&#038;mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9RG9ja2VyJUU1JTg4JTlEJUU3JUI0JTlBJUU3JUI3JUE4JUUzJTgzJUJCJUUzJTgyJUE0JUUzJTgzJUIzJUUzJTgyJUI5JUUzJTgzJTg4JUUzJTgzJUJDJUUzJTgzJUFCJUUzJTgxJThCJUUzJTgyJTg5Y29tcG9zZS55YW1sJUUzJTgyJTkyJUU0JUJEJUJGJUU3JTk0JUE4JUUzJTgxJTk3JUUzJTgxJTlGJUU4JUE0JTg3JUU2JTk1JUIwJUU4JUI1JUI3JUU1JThCJTk1JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz0xMjcxMTc5M2EyNjdiNzUxYzJiNmFiMWY5NWMwZDI2Zg&#038;mark-x=142&#038;mark-y=57&#038;blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB5b19kYXp5JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0xNGI4ODg0NTI5YmIyZWRjODAzMmU4MTY1YzQyNjY1Yw&#038;blend-x=142&#038;blend-y=486&#038;blend-mode=normal&#038;s=d6ad93e5b26ed37b003da0c79f92ef77" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Docker初級編・インストールからcompose.yamlを使用した複数起動 - Qiita</div><div class="blogcard-snippet external-blogcard-snippet">#初めに今回はDockerの初級編ということで｢Docker｣のインストールとコンテナの起動方法及び複数のコンテナを一気に起動させるためにの導入から使用までをやって…</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://qiita.com/yo_dazy/items/36c6dc37994997c834af" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">qiita.com</div></div></div></div></a>
<p>上の記事から単独で動きそうな物を探してきました。//が記事を書いた人のコメントです。</p>
<div class="code">
version: &#8216;3&#8217;　←検索してたらファイルのverではなく記述方法のバージョンみたいです<br />
services:<br />
 web1:         // コンテナの指定<br />
  build: &#8220;/doc-file/web&#8221;　　// Dockerfileのパスを指定　←分からない、イメージとは違うの？<br />
  container_name: &#8220;web-01&#8243;　//　起動させるコンテナの名前を指定　←多分起動自体には関係ない<br />
  image: centweb-01　　　　　//　使用するイメージファイル名　←想像通りならimageの名前を書いてあげれば良さそう<br />
  privileged: true　　　　　 //　サービス関連のコマンドを扱うときは必須　←分かる<br />
  command: /sbin/init       //　サービス関連のコマンドを扱うときは必須　←分かる<br />
  tty: true                 //  これがないと起動してもすぐにダウンする　←分からないけど、必要ってあるし書いておこう<br />
  ports:　　　　　　　　　　　//　使用するポートの指定　←分かる<br />
   &#8211; 8080:80　　　　　　　　　//　（Dockerホストのポート）：（コンテナ内部のポート）
</div>
<p>という訳でbuild以外は何を指定すればいいのか大体わかったので、buildを変えてあげる必要がありそうです。<br />
とりあえず上の記述でimageを自分で作った物にしたらやっぱりbuildのパスが無いよと言われました。</p>
<p>モニョモニュやった結果。</p>
<div class="code">
version: &#8216;3&#8217;</p>
<p>services:<br />
 web1:<br />
  build: &#8220;/web&#8221;<br />
  container_name: &#8220;laravel&#8221;　←起動、停止、起動しましたがどうやら同じ物？が動いている様子<br />
  image: centos:gahoh　←中でhistoryを見るとsudoをインストールした所まで戻っていました。<br />
  privileged: true<br />
  command: /sbin/init<br />
  tty: true<br />
  ports:<br />
   &#8211; 8080:80
</div>
<div class="info-box">疑問<br />
・buildって一体何だ？<br />
とりあえずcomposeファイルと同じフォルダに[web]というフォルダを作ってあげると何も言われなくなりました。<br />
・container_name<br />
この名前でコンテナが作られる事と停止させても同じコンテナを参照しているっぽい。<br />
・image<br />
昨日元々のイメージにセーブ？した物を指定できる。
</div>
<p>イメージとコンテナの区別が出来てません。<br />
先ほどnginxを入れた、コンテナを起動させる事が出来れば一番理解しやすかったのですが、そういう物じゃないらしい。</p>
<p>一応またnginxを入れた後、停止させて起動させたらnginxは入っていたので、安心しましたがしっくりこない。</p>
<h3><span id="toc5">共有フォルダの設定</span></h3>
<p>何はともあれcomposeファイルから起動させる事が出来たので、このファイルをいじれば共有フォルダなども設定出来そうです。<br />
そういえばターミナルをパワーシェルのターミナルでやっています。</p>
<p>git bashが良いらしいのですが、私の設定が悪いのかdockerの中の現在位置が表示されないのでパワーシェルで操作しております。<br />
git bashが上手く設定出来てないだけかもしれないです。</p>
<p>共有フォルダの設定は、<br />
C:\project\docker\data:/home/data<br />
の様にホスト側を絶対パスで指定あげれば上手く動きました。</p>
<p>相対パスでもエラーは出なかったのですが、上手く共有出来なかったので絶対パスで指定してあげるのが確実な様です。</p>
<p>長くなったので、今回はこの辺で。</p>
<p>ちなみに私はwidnows homeなのですが、vagrantと一緒に使えたら一番良かったのですが、Hyper-Vのアリ無しでどちらかが使えなくなるので、共存は難しそうです。<br />
proだとどうなるか分かりませんが、無難に両方同時に使いたいならMacがいいみたいです。</p>
<p>投稿 <a href="https://blog.gorone.site/archives/638">dockerの話2</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gorone.site/archives/638/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>どうでもいい話</title>
		<link>https://blog.gorone.site/archives/619</link>
					<comments>https://blog.gorone.site/archives/619#respond</comments>
		
		<dc:creator><![CDATA[gorori]]></dc:creator>
		<pubDate>Tue, 19 Oct 2021 05:43:31 +0000</pubDate>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[趣味]]></category>
		<guid isPermaLink="false">https://blog.gorone.site/?p=619</guid>

					<description><![CDATA[<p>目次 Windows or MacMacを使いこなしたいエディタの話 Windows or Mac 少し前までスタバでMacで何やらしていると何か出来る人っぽいというイメージでしたが、最近はどうなんでしょう。 私も数年前 [&#8230;]</p>
<p>投稿 <a href="https://blog.gorone.site/archives/619">どうでもいい話</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-14" checked><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Windows or Mac</a><ol><li><a href="#toc2" tabindex="0">Macを使いこなしたい</a></li><li><a href="#toc3" tabindex="0">エディタの話</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">Windows or Mac</span></h2>
<p>少し前までスタバでMacで何やらしていると何か出来る人っぽいというイメージでしたが、最近はどうなんでしょう。<br />
私も数年前に初めてMac bookを買った時には無駄に持ち歩いていまいたが、正直重い。<br />
今はm1モデルのmac book airとデスクトップのwindows PCを使っています。</p>
<p>windows PCの方は数年前にBTOで注文してそれにメモリやらグラボやらを交換して長年愛用しています。<br />
交換していないのはCPUとマザーボードくらいで新しいCPUにしようと思ったらグラボも同時に変えないといけない気がします。<br />
後メモリもDDR3だった気がするので、メモリも買わないとダメかも。</p>
<p>ただ今のところ交換する理由が無いんですよね、CPUはi7-4770で最近出た物と比較すると見劣りするのですが、実際使っていると全く困らないです。<br />
動画のエンコードとかすれば変わってくるかもしれませんが、しませんし。</p>
<p>Macでいうm1みたいな物が出れば交換するかもしれないです。<br />
ゲームも今はあんまりしないのですが、LOLとハースストーンをしていましたが、どちらかと言うとグラボ側が処理を引き受けてくれるのか問題ないです。<br />
グラボもちょっと古いGTX1070です。</p>
<p>さすがに2世代前なのでめちゃくちゃグラフィックがキレイなゲームをすれば変わると思いますが、最近はnetflixを見るくらいなので・・・。<br />
最近はグラボが高騰しているので、1070でも結構高いですね。</p>
<h3><span id="toc2">Macを使いこなしたい</span></h3>
<p>Mac自体は所有している年月は長いのですが、未だに慣れないです。<br />
ネットサーフィンをしたりするのは問題ないのですが、Macでコーディングしろと言われたら少し困ります。<br />
Macでもwindowsと同じくらいのスピードでコーディング出来れば別にスタバじゃなくていいので、コロナが落ち着いたら喫茶店でお仕事してみたいです。</p>
<p>m1のmac book airは本当に物がいいです。<br />
そこそこ値段のするiPhoneと同じくらいの価格なのに軽いし、電池持ちはいいし、早いです。</p>
<p>コーディングする時のエディタは今はATOMを使っているので環境はそこまで変わらないと思うんですが、コワーキングスペースに居る様なマカーの方は1つの画面でシュババっとブラウザとエディタを交互に切り替えたりして凄い。<br />
せっかくMacを持っているので、Swiftでアプリも作ってみたいのもあります。</p>
<p>webブラウザーとネイティブアプリだとやっぱり操作感が違うので、ネイティブの方がいいという人も多いですね。</p>
<p>今はサーバーはPHPとかでもページをAPI化してネイティブアプリで受け取って描写とかも出来そうです。<br />
やった事が無いので何ともなんですが、vueとかに近い感覚なのかな？</p>
<p>グダグダと書いていましたが、要はMacもwindows並みに使える様になりたいという事ですｗ</p>
<h3><span id="toc3">エディタの話</span></h3>
<p>今はvisual studio codeを使っている人が多いのかな？<br />
私も使ってみたのですが、フィイルツリーが個人的に見辛いです(設定で変えられそうだけど)<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/10/WS000000.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-620 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/10/WS000000.jpg" alt="visual studio code" width="257" height="417" srcset="https://blog.gorone.site/wp-content/uploads/2021/10/WS000000.jpg 257w, https://blog.gorone.site/wp-content/uploads/2021/10/WS000000-185x300.jpg 185w" sizes="auto, (max-width: 257px) 100vw, 257px" /></a><br />
ATOMの方がツリー感がある(謎)<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/10/WS000001-1.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-621 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/10/WS000001-1.jpg" alt="Atom" width="260" height="336" srcset="https://blog.gorone.site/wp-content/uploads/2021/10/WS000001-1.jpg 260w, https://blog.gorone.site/wp-content/uploads/2021/10/WS000001-1-232x300.jpg 232w" sizes="auto, (max-width: 260px) 100vw, 260px" /></a></p>
<p>visual studio codeの方がフィイルの拡張子でどんなファイルか分かりやすいのはいいんですけどね。<br />
ちなみに今少し検索したら変えれた。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/10/WS000000-1.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-622 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/10/WS000000-1.jpg" alt="vscode" width="271" height="879" /></a></p>
<p>ん～ビューチフォー。<br />
逆にATOMの方も変えれそうですけどね。<br />
しばらく両方使ってみて使い易い方にシフトしよう。<br />
ちなみにvisual studio codeは見た目以外にもなんかコードを勝手に作ってくれる機能とかがつけれるらしい。<br />
コードは自分で書くからテストを書いてくれたら最高なんですけどね。</p>
<p>リビルドでも同じような話をしていましたね。<br />
後は継承されまくっているscssとかコントローラー、viewを表示出来たらいいですね(ありそうだけど)<br />
laravelの場合はviewはデバッガーで見れるのでいいんですけど、scssとかは分からないですからね。</p>
<p>昔めちゃくちゃ継承されてるscssがあって大元を探すのも大変でした。<br />
今の開発スタイル的にはブランチも変えれるので、ファイルをちっちゃくして継承で後で繋ぐというのが主流かもしれませんがたまに整理しないと見辛くなっちゃいますね。<br />
と語ってみたりしますが、経験は少ないｗ</p>
<p>この日記を書いてる間にvisual studio codeの方が便利そうだなと感じましたが、ATOMは配色とか雰囲気がすきなんですよね。<br />
ちなみにATOMの方も変えれましたけど、＞　が小さくなってやだ・・・。<br />
パッケージを検索していてvsCodeの方はたくさん出てくるけど、Atomはあんまり出てこない。<br />
もうみんなvsCodeを使っているのかな。</p>
<p>まぁ好きなの使えって事ですね。<br />
こういうのって設定しているだけで楽しくなっちゃうのでどっかで見切りをつけないとダメですね。</p>
<p>投稿 <a href="https://blog.gorone.site/archives/619">どうでもいい話</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gorone.site/archives/619/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>laravelで苦労した点3</title>
		<link>https://blog.gorone.site/archives/617</link>
					<comments>https://blog.gorone.site/archives/617#respond</comments>
		
		<dc:creator><![CDATA[gorori]]></dc:creator>
		<pubDate>Mon, 18 Oct 2021 06:41:13 +0000</pubDate>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[趣味]]></category>
		<category><![CDATA[Laravel]]></category>
		<guid isPermaLink="false">https://blog.gorone.site/?p=617</guid>

					<description><![CDATA[<p>目次 苦労という感じでは無かったけれどもう少し続くよ 苦労という感じでは無かったけれど そういえばかなり初期に起きた出来事なので、忘れていましたが、vagarantで起きた珍事。 多分docker、もっと広く言うとwin [&#8230;]</p>
<p>投稿 <a href="https://blog.gorone.site/archives/617">laravelで苦労した点3</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-16" checked><label class="toc-title" for="toc-checkbox-16">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">苦労という感じでは無かったけれど</a><ol><li><a href="#toc2" tabindex="0">もう少し続くよ</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">苦労という感じでは無かったけれど</span></h2>
<p>そういえばかなり初期に起きた出来事なので、忘れていましたが、vagarantで起きた珍事。<br />
多分docker、もっと広く言うとwindowsで仮想PCで作業していたら起きそうな事です。</p>
<p>laravelをインストールすると大量のvenderファイルとnode_modulesがを入れる事になります。<br />
venderファイルの方は問題ないのですが、node_modulesを入れるためのnpm installが多分動かないです。<br />
人によって開発の仕方は変わると思いますが、手っ取り早いのがvagrantとwindowsの共有フォルダにlaravelプロジェクトを作るとgitでもソースツリーが使えますし、エディターもwindows環境で動く物が使えます。<br />
なので大体の人は共有フォルダにプロジェクトを作ると思うのですが、node_modules内でシンボリックリンクがあるためnpm installが出来ません。</p>
<p>解決方法は色々とあるようですが、vagrant内のフォルダ(ディレクトリ)と共有フォルダ内でそれぞれnode_modulesフォルダを作りマウントコマンドでバインドする。</p>
<p>linuxでマウントというとUSBなどを繋いでマウントして使うという感じで使用するのが一般的な様ですが、マウント&#038;バインドするとnpm install出来る様になります。</p>
<p>linuxのhomeの下くらいにnode_modulesディレクトリを作って、共有フォルダ側でもnode_modulesディレクトリを作ってあげます。<br />
この2つをマウント&#038;バインドする事で動きます。<br />
若干まだマウント&#038;バインドがどういう仕組みなのか不明ですが、おいおい勉強します。<br />
多分マウントする事でlinux側のディレクトリではシンボリックリンクが作れるので動くのかなと。</p>
<p>さてさて言い訳はこのぐらいにしてやり方です。</p>
<p>linux側のディレクトリの作り方は調べて下さい。</p>
<div class="code">
sudo mount &#8211;bind /home/vagrant/vagrant_node_modules /vagrant/data/hoge/node_modules
</div>
<p>初回は割と時間がかかります。<br />
よくよく考えたらnpm無しでもlaravel自体は動く様な気がしますが、javascriptのエラーをチェックしてくれたり、scssをcssに変換してくれたりと多分最近の開発ではメジャーなので入れておいた方がいいでしょう。</p>
<h3><span id="toc2">もう少し続くよ</span></h3>
<p>そういえばnode自体はyumで入りますが、verが古いので更新してあげて下さい。<br />
この更新に古いnodeが必要なので必ず入れる事になります。<br />
nodeが入ったら、</p>
<div class="code">
npm i &#8211;save-dev laravel-mix@latest &#038;&#038;  npm i &#8211;save-dev sass-loader@latest &#038;&#038;  npm i &#8211;save-dev postcss@latest &#038;&#038;  npm i &#8211;save-dev webpack@latest
</div>
<p>で最新のバージョンにしてあげましょう。</p>
<p>多分これで最新なjavascriptフレームワーク&#038;scssなどがコンパイル出来ます。</p>
<p>一点謎なのが、javascriptをコンパイルすると、letやconstがvarになる^q^<br />
詳しい人教えて下さい！<br />
TypeScriptが何たらとあるのですが、letやconstって純粋なjavascriptだと無いのかな？</p>
<p>なんかモジュールを入れたらもしかしたら普通に変換するかもしれないし、無いかもしれない・・・フロントには詳しくないので謎です。</p>
<p>vueはちゃんと使えるようになりたいので、お勉強中です。</p>
<p>投稿 <a href="https://blog.gorone.site/archives/617">laravelで苦労した点3</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gorone.site/archives/617/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>laravelで苦労した点2</title>
		<link>https://blog.gorone.site/archives/605</link>
					<comments>https://blog.gorone.site/archives/605#respond</comments>
		
		<dc:creator><![CDATA[gorori]]></dc:creator>
		<pubDate>Sat, 16 Oct 2021 06:41:50 +0000</pubDate>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[趣味]]></category>
		<category><![CDATA[Laravel]]></category>
		<guid isPermaLink="false">https://blog.gorone.site/?p=605</guid>

					<description><![CDATA[<p>laravelというかherokuのhttps化が原因です 前回jetstreamを入れましたが、この機能モリモリの認証パッケージにはプロフィール写真を変える機能があります。 宣伝：良かったら使って下さい。 https: [&#8230;]</p>
<p>投稿 <a href="https://blog.gorone.site/archives/605">laravelで苦労した点2</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<h2>laravelというかherokuのhttps化が原因です</h2>
<p>前回jetstreamを入れましたが、この機能モリモリの認証パッケージにはプロフィール写真を変える機能があります。</p>
<p>宣伝：良かったら使って下さい。</p>
<a rel="noopener" href="https://megapho-ne.com/" title="https://megapho-ne.com/" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fmegapho-ne.com%2F?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">https://megapho-ne.com/</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://megapho-ne.com/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">megapho-ne.com</div></div></div></div></a>
<p>で、https化をcloudflareで実現した訳ですが、新しいプロフィール写真をアップロードすると404が返ってくる。<br />
一時上手く動いていた気がしますが、先ほど触ったら404、ググっても外人さんも困っております。</p>
<p>ただその外人さんの意見の中で404ステータスを返す部分をコメントアウトしちゃえ！という物がありました。<br />
ローカル環境では問題なく動いてますし、何ならherokuの独自ドメインの場合でもちゃんと動きます。<br />
cloudflareを通してhttps化した時だけ上手く動かないのです。</p>
<p>やりましょう。<br />
やり方は至ってシンプル。<br />
コメントアウトすればいいだけです。<br />
ただ、そのファイルがベンダーファイルなのでオーバーライドして書く必要があります。</p>
<p>laravelのベンダーファイルのオーバーライドの仕方は、ググったらすぐ出て来ました。</p>
<div class="code">
&#8220;autoload&#8221;: {<br />
        &#8220;psr-4&#8221;: {<br />
            &#8220;App\\&#8221;: &#8220;app/&#8221;,<br />
            &#8220;Database\\Factories\\&#8221;: &#8220;database/factories/&#8221;,<br />
            &#8220;Database\\Seeders\\&#8221;: &#8220;database/seeders/&#8221;<br />
        },<br />
        &#8220;exclude-from-classmap&#8221;: [<br />
        &#8220;vendor\\livewire\\livewire\\src\\Controllers\\FilePreviewHandler.php&#8221;,　→変更点：１<br />
        &#8220;vendor\\livewire\\livewire\\src\\Controllers\\FileUploadHandler.php&#8221;　→変更点：２<br />
    ],<br />
    &#8220;files&#8221;:[<br />
        &#8220;app\\override\\livewire\\livewire\\src\\Controllers\\FilePreviewHandler.php&#8221;,　→変更点：１<br />
        &#8220;app\\override\\livewire\\livewire\\src\\Controllers\\FileUploadHandler.php&#8221;　→変更点：２<br />
    ]<br />
    },
</div>
<p>やり方はappフォルダの中にオーバーライド用のフォルダを作ってそのパッケージごとコピーして対象のファイルを上の様に書いてあげます。<br />
パッケージごとコピーするのでそこまで必要があるのか不明ですが、ファイル単位でも出来ないかやってみます。<br />
こんなんで404が消えるのか不安でしたが、無事オーバーライドされていました。<br />
ちなみに変更した点は本当に些細な部分で下記の通りです。</p>
<div class="code">
class FileUploadHandler<br />
{<br />
    public function getMiddleware()<br />
    {<br />
        return [[<br />
            &#8216;middleware&#8217; => FileUploadConfiguration::middleware(),<br />
            &#8216;options&#8217; => [],<br />
        ]];<br />
    }</p>
<p>    public function handle()<br />
    {<br />
        //abort_unless(request()->hasValidSignature(), 401);　→ここをコメントアウトしただけ</p>
<p>        $disk = FileUploadConfiguration::disk();</p>
<p>        $filePaths = $this->validateAndStore(request(&#8216;files&#8217;), $disk);</p>
<p>        return [&#8216;paths&#8217; => $filePaths];<br />
    }
</div>
<p>Stack Overflowなどを見るとnginxの設定で消せるのかもしれないです。<br />
今回は緊急措置という感じです。</p>
<p>やってみたら気持ちモッサリしたので、他の方法があれば知りたいです。</p>
<p>投稿 <a href="https://blog.gorone.site/archives/605">laravelで苦労した点2</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gorone.site/archives/605/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>laravelで苦労した点</title>
		<link>https://blog.gorone.site/archives/596</link>
					<comments>https://blog.gorone.site/archives/596#respond</comments>
		
		<dc:creator><![CDATA[gorori]]></dc:creator>
		<pubDate>Thu, 14 Oct 2021 23:13:03 +0000</pubDate>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[趣味]]></category>
		<category><![CDATA[Laravel]]></category>
		<guid isPermaLink="false">https://blog.gorone.site/?p=596</guid>

					<description><![CDATA[<p>目次 フォルダが多いモデルビューコントローラーlaravelは便利 フォルダが多い 最初にlarabelに触った感触としてそのフォルダ数に戸惑うと思います。 慣れてしまえば納得のフォルダ構成なのですが、MVCである所のモ [&#8230;]</p>
<p>投稿 <a href="https://blog.gorone.site/archives/596">laravelで苦労した点</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-20" checked><label class="toc-title" for="toc-checkbox-20">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">フォルダが多い</a><ol><li><a href="#toc2" tabindex="0">モデル</a></li><li><a href="#toc3" tabindex="0">ビュー</a></li><li><a href="#toc4" tabindex="0">コントローラー</a></li><li><a href="#toc5" tabindex="0">laravelは便利</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">フォルダが多い</span></h2>
<p>最初にlarabelに触った感触としてそのフォルダ数に戸惑うと思います。<br />
慣れてしまえば納得のフォルダ構成なのですが、MVCである所のモデル、ビュー、コントローラーがどのフォルダに当たるのか直感的ではありません。<br />
一番上位のフォルダですら下記の通りです。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/10/WS000001.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-597 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/10/WS000001.jpg" alt="フォルダ" width="151" height="320" srcset="https://blog.gorone.site/wp-content/uploads/2021/10/WS000001.jpg 151w, https://blog.gorone.site/wp-content/uploads/2021/10/WS000001-142x300.jpg 142w" sizes="auto, (max-width: 151px) 100vw, 151px" /></a><br />
appの中に全部あるのかと思いきやそうではありません。</p>
<p>独学なので正解か分かりませんが、MVCに当たるフォルダを見てみましょう。</p>
<h3><span id="toc2">モデル</span></h3>
<p><a href="https://blog.gorone.site/wp-content/uploads/2021/10/WS000002.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-598 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/10/WS000002.jpg" alt="モデル" width="173" height="264" /></a><br />
モデルは比較的に簡単に見つける事が出来ます。<br />
appの中にすぐmodelと書いてあるフォルダがあります。<br />
これはすぐ分かりますね。</p>
<h3><span id="toc3">ビュー</span></h3>
<p><a href="https://blog.gorone.site/wp-content/uploads/2021/10/WS000003.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-599 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/10/WS000003.jpg" alt="ビュー" width="267" height="508" srcset="https://blog.gorone.site/wp-content/uploads/2021/10/WS000003.jpg 267w, https://blog.gorone.site/wp-content/uploads/2021/10/WS000003-158x300.jpg 158w" sizes="auto, (max-width: 267px) 100vw, 267px" /></a><br />
ビューはリソースの中にあります。<br />
view配下で画面事にサブフォルダも作れるので便利ですが、そもそもappの中にあった方が分かりやすいかもと思いました。<br />
多分設定によっては移動させる事も出来そうですが、laravel初心者の私には難易度が高すぎなのでリソースの中で管理していました。</p>
<h3><span id="toc4">コントローラー</span></h3>
<p><a href="https://blog.gorone.site/wp-content/uploads/2021/10/WS000004.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-600 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/10/WS000004.jpg" alt="コントローラー" width="262" height="432" srcset="https://blog.gorone.site/wp-content/uploads/2021/10/WS000004.jpg 262w, https://blog.gorone.site/wp-content/uploads/2021/10/WS000004-182x300.jpg 182w" sizes="auto, (max-width: 262px) 100vw, 262px" /></a><br />
これはappの中にありますが、httpという一見関係なさそうなフォルダの中に眠っております。</p>
<p>触り始めの初期はこの配置に凄く違和感を覚えましたが、慣れてしまえばそうでもないです。<br />
あと分かりやすくする為のポイントとして、それぞれのファイルは</p>
<div class="code">artisan</div>
<p>コマンドで再生した方がいいでしょう。<br />
artisanコマンドで再生すれば必ず正しい位置に部品を置いてくれるので、間違いが少なくて済みます。</p>
<p>また必ずgitなどのver管理システムを入れて、エディタも新規のファイルを検知してくれる物がオススメです。<br />
私はATOMを使っていますが、今だとvisual studio codeの方が主流なのかな？<br />
Vimなどを使っている方は分かりませんが、私よりフレームワークの理解度が高いと思うので問題ないでしょう。</p>
<h3><span id="toc5">laravelは便利</span></h3>
<p>そんなlaravel君ですが、アドオン？が凄く充実しています。<br />
ユーザー登録や管理などjetstreamが凄く便利でかっこいいです。<br />
jetstreamは機能モリモリの認証系ライブラリなのでそこまで必要ない方は入れなくてもいいかもです。</p>
<p>jetstreamの入れ方は簡単です。<br />
プロジェクトのトップで</p>
<div class="code">composer require laravel/jetstream をするだけです。その後に以下のどちらかのコマンドを実行しましょう。<br />
php artisan jetstream:install livewire　→ライブワイヤーで動かす（オススメ）<br />
php artisan jetstream:install inertia　 →vueで動かす&#8211;teamとするとチーム機能が使える様ですが、私は今回入れてないのでどんな機能か分かりません。その後に以下を実行してDBに反映させましょう<br />
php artisan migrate
</div>
<p>DBとの接続方法をまだ書いて無いのでこの後書きますね</p>
<p>最後にjetstreamを動かす為のjsなどをコンパイルする為に<br />
npm install &amp;&amp; npm run dev<br />
としてあげましょう。<br />
これももしnodeを入れてないと出来ないので、もし入っていない方はyumなどで入れてあげて下さい。</p>
<p>jetstreamの導入でDBとの接続が必要になりましたが、これも簡単です。<br />
.envファイルにDB接続の情報を記す部分があるので、ここに書いてあげます。<br />
私の場合はポスグレを使ったので、mySQLの場合はその情報でOKです。<br />
先にlarabel用のDBは作っておいて下さい。</p>
<div class="code">DB_CONNECTION=pgsql<br />
DB_HOST=127.0.0.1<br />
DB_PORT=5432<br />
DB_DATABASE=mydb<br />
DB_USERNAME=秘密だよ<br />
DB_PASSWORD=秘密だよ
</div>
<p>これだけでDB接続OKです。<br />
繋がったか試す為にphp artisan migrateしてあげるといいでしょう。<br />
認証情報が違う場合は注意が出るのですぐ分かります。</p>
<p>またnodeの入れ方については下記の記事が凄く分かりやすいので見て下さい。</p>
<a rel="noopener" href="https://www.softel.co.jp/blogs/tech/archives/6490" title="nodejs、npm の最新版をインストールする（CentOS）   at softelメモ" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://blog.gorone.site/wp-content/uploads/cocoon-resources/blog-card-cache/9af3f1202d3575ddd0831fc7233a1ea4.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">nodejs、npm の最新版をインストールする（CentOS）   at softelメモ</div><div class="blogcard-snippet external-blogcard-snippet">問題 yum で npm をインストールすると、だいぶバージョンが古いのですが、新しいバージョンのをインストールするにはどうしたらよいですか。 $ npm -v 3.10.10 $ node -v v6.17.1 （Ce ...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.softel.co.jp/blogs/tech/archives/6490" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.softel.co.jp</div></div></div></div></a>
<p>これでユーザー登録画面とユーザー管理などが出来ます。<br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/10/WS000005.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-601 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/10/WS000005.jpg" alt="jetstream" width="494" height="592" srcset="https://blog.gorone.site/wp-content/uploads/2021/10/WS000005.jpg 494w, https://blog.gorone.site/wp-content/uploads/2021/10/WS000005-250x300.jpg 250w" sizes="auto, (max-width: 494px) 100vw, 494px" /></a><br />
<a href="https://blog.gorone.site/wp-content/uploads/2021/10/WS000006.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-602 size-full" src="https://blog.gorone.site/wp-content/uploads/2021/10/WS000006.jpg" alt="jetstream" width="1024" height="389" srcset="https://blog.gorone.site/wp-content/uploads/2021/10/WS000006.jpg 1024w, https://blog.gorone.site/wp-content/uploads/2021/10/WS000006-300x114.jpg 300w, https://blog.gorone.site/wp-content/uploads/2021/10/WS000006-768x292.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p>ツイッターの認証とグーグルの認証は別途設定が必要ですが、検索するとすぐ出てくるのでペペっと出来ます。<br />
機会があれば書いてみます。<br />
herokuの場合はユーザーの画像を保存出来ないので、一工夫必要です。<br />
私の場合は、cloudinaryというアドオンを入れてそこに保存される様にしています。<br />
cloudinaryの公式のアドオンもありますが、jrm2k6/cloudderというライブラリが使いやすいので、オススメです。<br />
cloudinary自体は10GBまで画像やvideoを保存できるので画像をバンバン使うサービスじゃない限りは大丈夫ですし、課金すれば10GB以上使える様になります。</p>
<p>という訳で今回はjetstream中心に書いてみました。</p>
<p>投稿 <a href="https://blog.gorone.site/archives/596">laravelで苦労した点</a> は <a href="https://blog.gorone.site">ゴロ寝</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gorone.site/archives/596/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
