tag:crieit.net,2005:https://crieit.net/users/fffMagnolia/feed 蓮の投稿 - Crieit Crieitでユーザー蓮による最近の投稿 2019-06-06T15:56:49+09:00 https://crieit.net/users/fffMagnolia/feed tag:crieit.net,2005:PublicArticle/15066 2019-06-06T14:15:54+09:00 2019-06-06T15:56:49+09:00 https://crieit.net/posts/submodule submoduleのざっくりとした流れ <p>2個のリポジトリをまとめて管理したかっただけなので込み入ったことはしていません。</p> <ul> <li><code>git submodule</code>: 現在のsubmoduleの状態を見る</li> <li><code>git submodule add <URL></code>: 追加したいリモートリポジトリを指定</li> </ul> <h4 id="前提"><a href="#%E5%89%8D%E6%8F%90">前提</a></h4> <p>submoduleは予めpushしておくこと</p> <h4 id="登録"><a href="#%E7%99%BB%E9%8C%B2">登録</a></h4> <p><code>git submodule add <URL></code>でsubmoduleの追加。配下に登録される。</p> <h4 id="更新"><a href="#%E6%9B%B4%E6%96%B0">更新</a></h4> <p>submodule化したプロジェクトでpushしても自動更新されないことに注意。</p> <pre><code>cd <submodule> git pull origin <branch> </code></pre> <p><code>git diff</code>で差分が出ていることを確認。</p> <p>後は普通にadd->push</p> <p>参考リンク:</p> <p><a href="">https://qiita.com/kinpira/items/3309eb2e5a9a422199e9</a><br /> <a href="">https://qiita.com/sotarok/items/0d525e568a6088f6f6bb</a></p> tag:crieit.net,2005:PublicArticle/14983 2019-05-13T20:03:23+09:00 2019-05-18T15:10:20+09:00 https://crieit.net/posts/EC2-Docker-docker-compose-PHP EC2+Docker(+docker-compose)でPHPの環境構築をしてみた <p>一通り触ってみたので備忘録も兼ねて書いています。<br /> 誤りなどがありましたらご指摘をお願いします。</p> <h4 id="前提:"><a href="#%E5%89%8D%E6%8F%90%EF%BC%9A">前提:</a></h4> <ul> <li>Macで開発</li> <li>EC2はAMI2を使用</li> <li>EC2の環境構築は完了している</li> </ul> <h4 id="手順1:Dockerをインストール&amp;起動"><a href="#%E6%89%8B%E9%A0%861%EF%BC%9ADocker%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%26amp%3B%E8%B5%B7%E5%8B%95">手順1:Dockerをインストール&起動</a></h4> <p>EC2にログイン</p> <pre><code>ssh -i キーファイル ec2-user@IPアドレスorDNS名 </code></pre> <p><a target="_blank" rel="nofollow noopener" href="https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/docker-basics.html">Amazon ECS における Docker の基本</a>に沿っていく(最初に<code>sudo -i</code>でrootユーザになってもよい)</p> <pre><code>sudo yum update -y sudo yum install -y docker sudo service docker start sudo usermod -a -G docker ec2-user </code></pre> <p>一旦出る</p> <pre><code>exit </code></pre> <p>再度SSHで入った後<code>docker info</code>とかで<code>sudo</code>を付けずにコマンドが実行できるか確認。</p> <p><strong>疑問点:EC2を再起動した場合は再度usermodをしないといけない?</strong></p> <h4 id="手順2:docker-composeをインストール"><a href="#%E6%89%8B%E9%A0%862%EF%BC%9Adocker-compose%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB">手順2:docker-composeをインストール</a></h4> <p><a target="_blank" rel="nofollow noopener" href="https://docs.docker.com/compose/install/">Install Docker Compose</a>に沿っていく。</p> <pre><code>sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose </code></pre> <p><code>docker-compose --version</code>で確認。</p> <h4 id="手順3:Dockerfileを作成"><a href="#%E6%89%8B%E9%A0%863%EF%BC%9ADockerfile%E3%82%92%E4%BD%9C%E6%88%90">手順3:Dockerfileを作成</a></h4> <p><code>vi Dockerfile</code>でvimを開く</p> <pre><code># Docker-Hubから落としてくる FROM php:7.3.5-apache </code></pre> <p>後ろには<a target="_blank" rel="nofollow noopener" href="https://hub.docker.com/_/php">https://hub.docker.com/_/php</a>にあるタグで<code>-apache</code>とあるのを書く。<br /> これでPHPとApacheが両方入る。</p> <h4 id="手順4:docker-compose.ymlを作成"><a href="#%E6%89%8B%E9%A0%864%EF%BC%9Adocker-compose.yml%E3%82%92%E4%BD%9C%E6%88%90">手順4:docker-compose.ymlを作成</a></h4> <p><code>vi docker-compose.yml</code>で開く</p> <pre><code># ファイルフォーマットのバージョンを指定 # https://docs.docker.com/compose/compose-file/ version: '3' services: web: image: web # 'docker images'参照。使用するイメージの指定 build: . # 使用するDockerfileの場所 ports: - "80:80" # host=EC2のport:gest=コンテナのポート volumes: # コンテナ内のデータは永続化されないのでマウントさせる # hostのフォルダ:gestのフォルダ - /home/ec2-user/tmp/html:/var/www/html </code></pre> <p><del><strong>疑問点:インストールされたdocker-composeは1.24.0なのに指定できないのは何故?</strong></del></p> <h4 id="手順5:マウントさせるフォルダにphpファイルを作成"><a href="#%E6%89%8B%E9%A0%865%EF%BC%9A%E3%83%9E%E3%82%A6%E3%83%B3%E3%83%88%E3%81%95%E3%81%9B%E3%82%8B%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%81%ABphp%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%9C%E6%88%90">手順5:マウントさせるフォルダにphpファイルを作成</a></h4> <p>今回は<code>/home/ec2-user/tmp/html</code>に作成。<code>vi index.php</code>で開く</p> <pre><code><?php echo 'Hello Docker!' ?> </code></pre> <h4 id="手順6:docker-composeでイメージとコンテナを作成・起動"><a href="#%E6%89%8B%E9%A0%866%EF%BC%9Adocker-compose%E3%81%A7%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%81%A8%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%82%92%E4%BD%9C%E6%88%90%E3%83%BB%E8%B5%B7%E5%8B%95">手順6:docker-composeでイメージとコンテナを作成・起動</a></h4> <p><code>docker-compose build up -d</code>で諸々が作成・起動される。</p> <p><code>docker images</code>とか<code>docker ps -a</code>とかで確認。</p> <h4 id="最後:"><a href="#%E6%9C%80%E5%BE%8C%EF%BC%9A">最後:</a></h4> <p>ブラウザで表示確認</p> <p><a href="https://crieit.now.sh/upload_images/5674e2f9bd96201b1f686379e44783915cd949cb3d67d.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5674e2f9bd96201b1f686379e44783915cd949cb3d67d.png?mw=700" alt="スクリーンショット 2019-05-13 19.41.10.png" /></a></p> <p>最初はDockerとdocker-composeとの違いに戸惑いました。Dockerコマンド自体の上位互換と考えれば良さそうですね。</p> <h4 id="参考リンク:"><a href="#%E5%8F%82%E8%80%83%E3%83%AA%E3%83%B3%E3%82%AF%EF%BC%9A">参考リンク:</a></h4> <p><a target="_blank" rel="nofollow noopener" href="https://qiita.com/hidekuro/items/fc12344d36d996198e96#32-docker">https://qiita.com/hidekuro/items/fc12344d36d996198e96#32-docker</a><br /> <a target="_blank" rel="nofollow noopener" href="https://qiita.com/kotaro-dr/items/b1024c7d200a75b992fc#コンテナ一覧を確認">https://qiita.com/kotaro-dr/items/b1024c7d200a75b992fc#コンテナ一覧を確認</a><br /> <a target="_blank" rel="nofollow noopener" href="https://qiita.com/yumatsud/items/33bc22f7d8f640a286f4#docker-composerの設定">https://qiita.com/yumatsud/items/33bc22f7d8f640a286f4#docker-composerの設定</a><br /> <a target="_blank" rel="nofollow noopener" href="https://qiita.com/Ryooota/items/65ff0c32a5d93f225d7a#4-コンテナの起動">https://qiita.com/Ryooota/items/65ff0c32a5d93f225d7a#4-コンテナの起動</a></p>