サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
a-records.info
Dockerビルド時にパラメータを与えたいときにDockerfileで定義し、–build-argオプションと合わせて使うARG。 それをどこに書くか考えたときに 最初に宣言されていたほうが読みやすい気もする それで不要なキャッシュミスが起こるとしたら嫌 と悩んだのでどういう仕様でどうすべきなのか調べてみました。 そもそも基本 ARGは書いた行以降で有効になります ↓なのでこういうのはエラーになります。 FROM alpine RUN touch $foo ARG foo ARGとキャッシュ 公式ドキュメントには、 ARGが変わった場合、(定義ではなく)最初の使用の時にキャッシュミスが起こる。ただし全てのRUNはARGの値を環境変数として暗黙的に使っているのでキャッシュミスを起こす。 というようなことが書かれています。 実験 ARGを最初に宣言 まずARGを上のほうで定義して、–build
(紹介用にまとめたので最初の3つのディレクトリは本来別のリポジトリで管理すると思います。) 構成図構成図としてはこのような感じになります。 緑の四角で囲まれたのが一つのdocker-compose、オレンジの四角が一つのコンテナ、黄色の四角はポートバインドです。 これで理解できた人はもう以下を読む必要ありません(笑) 以下各ディレクトリについて説明します。 リバースプロキシ用Nginxです。 これがホストの80番ポートでHTTPアクセスを受け、リクエストされたアドレスに応じてホストのそれぞれのポートにプロキシします。 foo.com.confとbar.com.confはほぼ同じですがupstreamのポートが分かれています。 リバースプロキシのDocker Composeのコツこの構成でNginxは [ホストのIP]:[各サービスのポート] に対してサイトごとリクエストをプロキシしなくては
CentOS6系から7系へのアップグレードはアップグレードツールが存在するのですが、このツールは6.7以上で実行すると問題があると書かれているます。 TipsAndTricks/CentOSUpgradeTool – CentOS Wiki 色々ググると6.5からならアップグレードできたという記事が多い反面、6.8からアップグレードしようとしてエラーが出たという記事もありました。 CentOS6.8 から CentOS7 へのアップグレード – demandosigno ↑の記事を読むと、openscapをバージョンダウンさせるといけそうという話があったのでその方法で試してみました。 注意:アップグレード後の起動時にsshdが止まっているのでコンソールアクセスができる状態が必要です。 また一時的にsudoが動かなくなったりする場合があるのでrootのパスワードを忘れないように。 あと他にも
Django 1.6まででは作成後のモデルに変更を加える場合、手動でSQLを発行するかsouthのような外部ツールを使用する必要がありました。 ですがDjango 1.7からMigrationsと呼ばれる新機能でモデルへの変更をDBスキーマに反映できるようになりました。 今までsouthも触ったことが無かったのでこの機会にmigrationsを試してみました。 syncdbからmigrateへ1.7からはsyncdbコマンドがdeprecatedとなりmigrateコマンドに置き換わります。(1.7リリースノート) なので新しいappを追加した際にもmigrateコマンドで反映できます。 syncdbコマンドも当面は使えるようです。 migrationファイルの作成モデルに変更を加えた際はまずmakemigrationsコマンドを実行し、migrationファイルを作成します。 pytho
Djangoの1.4以降で追加されたタイムゾーンサポートのことがよくわかってなかったのでドキュメントを読みつつ軽くまとめてみました。 Time zones | Django documentation | Django タイムゾーンサポートの有効化settings.pyのUSE_TZにTrue/Falseで設定する。 デフォルトでは有効。 概要タイムゾーンサポートが有効化されていると、日付時刻はデータベースにUTCで保存される。 その際にはDjangoは内部的にtime-zone-awareなdatetimeオブジェクトを使い、テンプレート等で表示するときにユーザーのタイムゾーンに直される。 複数タイムゾーンのユーザーに時刻を表示するときやサマータイム(Daylight Saving Time)対応等で便利。 naiveとawarePythonのdatetime.datetimeはnaiv
Django 1.5でプロジェクト作って少しして試しにDEBUG=Falseにしてみたら「Server Error (500)」とか言われたりそれ直したら今度はCSS読み込んでなかったりしたのでメモ。 Server Error (500)DEBUG=Falseの時はsettingsのALLOWED_HOSTSにマッチするホストからしか接続できないようです。 Settings | Django documentation | Django とりあえず*で全てにマッチするので ALLOWED_HOSTS = ['*'] にすれば繋がります。 1.4まではデフォルトが[‘*’]だったけど1.5から[]になった模様。 静的ファイルが取得できないdjango.contrib.staticfilesによるstaticファイルの管理は開発中用のもので、本番環境では静的ファイルはApache等のサーバで扱
このページを最初にブックマークしてみませんか?
『a-records.info』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く