2019-01-01から1年間の記事一覧
環境 macOS 10.14.6 git 2.23.0 事象 ローカルブランチにfeature/#7_testを作成し、コミット後にリモートへpushした際に以下エラーが発生 $ git push origin feature/#7_test Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta comp…
Dockerコンテナのデプロイ コンテナでアプリケーションを実行する Dockerイメージ Dockerコンテナを構成するファイルシステム、実行するアプリケーションをまとめた、コンテナを作成するテンプレートとなるもの Dockerコンテナ Dockerイメージから作成され、…
Dockerの基礎 Dockerとは コンテナ仮想化技術を実現するために実行される常駐アプリケーションとそれを操作するためのコマンドフロントインターフェース ローカルで環境のセットアップが出来ていれば、コマンド一つで環境構築が可能 仮想マシンより高速でロ…
プロダクションでの活用 プロダクションへの導入 ローカル環境のDocker化 チームの開発環境を統一する テスト/CIへの導入 ステージングへの導入 本番前に動作確認する 本番への導入 Tips docker-compose 環境変数への読み込み docker-composeの起動時に渡す …
プロダクションでの活用 オーケストレーションツール オーケストレーションツールとは 複数のDockerを扱うための技術 主に以下の機能をもち、本番のワークロードに必要な機能を備えている Dockerの管理/自動復旧 ネットワークの管理 オートスケール 代表的な…
プロダクションでの活用 イメージの仕組み Container DockerImageはReadOny Docker Containerを作成することで変更可能なレイヤーが生成され、レイヤーの上でプロセスを動かす docker diffによりコンテナ起動後に変更されたファイルを確認できる Unison File…
プロダクションでの活用 設計 1コンテナ=1プロセス Dockerは1プロセスをフォアグラウンドで走らせるため、1コンテナ=1プロセスの粒度で設計する ただし、設計上1プロセスが難しい場合は1コンテナにつき1つの関心事にする 永続的なデータはマネージドサービス…
コンポーネント network Networkを使用する nginxとphp-formのような複数プロセスを動かす必要がある場合、ソケットではなくネットワークで通信を行うことが推奨されている Kubernetes,ECS,docker-composeのような各種オーケストレーションツールを使用する…
コンポーネント container Docker Containerとは Docker Image がスナップショットだとしたらDocker Container「スナップショットから起動したプロセス」 docker run を実行するとDocker Image をもとにしてDocker Containerが作成され、隔離された環境が作…
コンポーネント image Docker Imageとは Imageは環境のスナップショット CentOSやUbuntuやAlpineなどのOS NginxやMySQLのようなソフトウェア PHPやRubyのようなランタイムなどの環境 DockerImageはDockerの公式がDockerHubというサービス上で様々なOS・ソフ…
はじめに Dockerとは コンテナと呼ばれる仮想化技術 なぜDockerを使うのか ポータビリティ 特定の環境をパッケージし、どの環境でも動くポータビリティを保証する 任意の状態をスナップショットとして保存し、他の開発者や環境へ配布が可能 オーバヘッド(付…
mysqlを停止し、セーフモードでログイン $ mysql.server stop $ mysqld_safe --skip-grant-tables & $ mysql -u root パスワードをnullに設定する mysql > UPDATE mysql.user SET authentication_string=null WHERE User='root'; mysql > exit; mysqlを再起…
mysql> update user set authentication_string=PASSWORD(“") where User='root'; "> (ここでCtrl+C入力後Enter押下) ^C mysql>
事象 MySQLを起動すると以下のエラーが表示される $ sudo mysql.server start Starting MySQL ... ERROR! The server quit without updating PID file (/usr/local/var/mysql/user.local.pid). 対応 エラーファイル確認 $ tail /usr/local/var/mysql/user.lo…
ユーザー作成 CREATE USER 'username'@'from_domain(ipaddress)' IDENTIFIED BY 'password'; 例(ユーザー名:hoge@localhost パスワード:hogeのユーザーを登録する) CREATE USER 'hoge'@'localhost' IDENTIFIED BY 'hoge'; 権限付与 GRANT 権限 ON レベル(…
Chapter1 リージョン 世界各地に存在するデータセンター群 東京リージョン、バージニアリージョン アベイラビリティーゾーン リージョンをさらに分割したもの 物理的に距離が離された独立したファシリティ(設備) 地震や洪水があっても別のアベイラビリティー…
コマンド git commit -F- <<EOM >ここからコミットメッセージを書く > > >EOM 参考 gitで複数行のコメントを記載する方法</eom>
使用するブランチ メインブランチ master develop サポートブランチ feature release hotfix master リリース可能な状態だけを管理するブランチ コミットにタグ付けし、リリース番号を記録する リリースしたものが最新から過去まで確認できる develop featur…
セクション10:スタッシュで作業を一次避難しよう 作業を一時避難しよう 作業途中でコミットしたくないが、別ブランチで作業するとき、一時避難する git stash ワークツリーとステージの変更をstashに一時避難し、変更をないことにする 避難した作業を確認し…
セクション9: タグ付けしよう タグの一覧を表示する タグ コミットを参照しやすくするためにわかりやすい名前をつける リリースポイントに使用し、バグの切り戻しを分かりやすくする git tag タグの一覧を表示 git tag -l "検索文字列"...検索文字列に一致す…
セクション8: リベースで変更履歴を修正しよう リベースする リベース 変更を統合する際に、履歴を綺麗に整えるために使う機能 git rebase ブランチ名 ブランチの基点となるコミットを別のコミットに移動する 親コミットをリベースするコミットに上書きし、…
セクション7: GitHubを利用した開発手順の流れ プルリクエストの流れ プルリクエスト 自分の変更したコードをリポジトリに取り込んでもらえるよう依頼する機能 レビューをすることでバグの防止、コードの質を担保するため 手順 masterブランチを最新に更新 …
セクション6:ブランチとマージを使いこなそう ブランチって何? 並行して複数機能を開発するためにあるのがブランチ 他の人の変更が自分の開発に影響しない ブランチがないと開発中にマスターに変更があった場合、その変更を都度自分が取り込んで開発をしな…
セクション5: GitHubとやり取りしよう リモートの情報を確認しよう git remote 設定しているリモートリポジトリの情報を表示 git remote...対応するURLを表示 リモートリポジトリから追加しよう リモートリポジトリは複数登録可能 自分でもリポジトリを持っ…
セクション4:変更を元に戻そう ファイルへの変更を取り消そう git checkout --ファイル名/ディレクトリ名 git checkout -- ....全変更を取り消す(--はgit branch checkoutとの差別化のため) ワークツリーの状態をステージの状態と同じにすることで変更を取り…
セクション3:Gitの仕組みと基本的なコマンド Gitの基本的な仕組みを知ろう Gitはバージョンをスナップショットで記録する 差分で記録していると、ブランチやマージに時間が掛かってしまう ファイルを丸ごと保存することで、複数人での開発スピードがアップす…
セクション1: GitとGitHubってなに? Gitってなんのために使うの? ファイルのバージョンを管理するために使う ファイルのバージョンを管理しないと 最新のファイルがわからなくなる 複数人で利用するファイルだと誰かが誤って修正してしまう可能性がある フ…
ファイル管理 ファイルシステムとは ファイル名・更新日付などの属性データ・ファイルデータ本体を効率用く管理する仕組み パーティションとは ハードディスクを区切った単位 パーディションを分割する作業をパーティショニングと呼ぶ Linuxのディレクトリ構…
プロセス管理 プロセスとは Linuxで実行中のプログラムを管理する単位をプロセスと呼ぶ コマンドインタープリターであるシェル自身もプロセス スケジューリング Linuxは複数のプロセスを同時に実行できるが、厳密にはプロセスは1つしか実行されおらず、Linux…
ネットワークと設定の管理 TCP/IPとは コンピュータ間をケーブルや無線機能で接続したシステムをネットワークと呼ぶ ローカルネットワークとワイドエリアネットワーク ローカルネットワーク(LAN)...学校や職場などの閉じられた環境のネットワーク ワイドエリ…