Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
みなさん、こんにちは。Acroquest Technology (アクロクエストテクノロジー) の横山 仁(よこやま じん)と申します。 主に仕事ではインフラ関係やDevOps推進に向けた活動などに携わっています。最近では、今回の記事の内容でもあるDocker(ドッカー)を使うこともかなり増えてきて、他にもAnsibleであったり、CIツールのJenkinsなども使って、自動化や開発環境の整備などを主に行っています。 この度、さくらのナレッジでDockerの入門記事の連載をさせていただくことになりました。よろしくお願いします。 今回、Dockerについて、Dockerでどのようなことができるのか、どんな使い方をすると良いのかを、実際に手を動かすことを中心に、6回に分けて紹介していく予定です。前提として、Linuxの基本的な知識がある方を対象として書いていきます。 世の中が当たり前のようにD
こんにちは。社会人2週間が経過して日々辛い思いを背負っているたんごです。 www.itmedia.co.jp 水曜日頃TLで賑わっていたポストTwitterとか色々呼ばれているマストドン(mastodon)が流行っていますね。ただ日本鯖であるmstdn.jpが1人の大学院生の自宅鯖で動いていてめっちゃアクセスが有ってしんどいみたいな感じだったようですね。そんな中私は仕事を終え帰宅後に1時間程度でAWSにこれをデプロイして自分用として遊んでいます。 基本的には公式ドキュメントをそのまま読めば大抵何とか成るのですが、自分用に鯖を立てて良い感じに公開する方法を記述しておきます。 必要なものと前提知識など LinuxサーバーにSSHしたことがある AWSのアカウント または適当なクラウド事業者を使うことのできるアカウント クレジットカード (無料枠だけなら必要ないかも?) 独自ドメイン エンジニア
2. 誰? • さくらインターネット株式会社 技術本部ミドルウェアグループ クラウドチーム/VPSチーム/エバンジェリストチーム • 運用系(サーバ) … データセンタの運用・サポート対応 • HashiCorp / Munin / Zabbix / Docker などに興味 • エンジニアのためのプレゼン研究会 • ドキュメント翻訳 • 稲作農家(富山県滑川市出身) • インターネットの力で普通の人が価値を高められる社会 2 Software Degisn 2017年2月号→ Authorized Docker Trainer (2016.6~) ZEMBUTSU Masahito 今回の発表は、これまでDockerに触 れてきた一人という、中立的な立場で 皆さんと議論したいと思っています。
概要 Web アプリケーションを開発しているときに、開発環境に MySQL や Redis を用意しバージョンを揃え、いや Redis はキャッシュにしか使ってないし必須じゃないから開発環境に無い場合のコードも書いて…… というようなことを2017年にもなってやりたくないので、Docker を使って良い感じにやっていきます。 Docker や Docker Compose に関する基本的な説明は割愛するので、公式ドキュメントをあたってください。 目標 コマンド一発で必要なサービス群が全て立ち上がるようにする Docker Compose を使い、1サービスごとに1コンテナを立ち上げる vendor や node_modules は、ホスト側のものと完全に分離する。OS が違う場合、Native extension があると問題の原因になるので避けたい。 ホスト側ではエディタと git さえ
Dockerのネットワーク構成について整理する。 図1: Dockerネットワーク全体図 物理NICが1個ついたDockerホストに2つのコンテナを立てると、図1のようになる。コンテナは172.17.X.Xのネットワーク内にいて、ホスト側には172.17.0.1のIPアドレスが付く。この構成自体は、VirtualBoxで言うところのホストオンリーネットワークと同じようなもの。異なる点として、Dockerネットワークは、ハードウェア仮想化ではなく、Linuxカーネルの機能であるvethペアとブリッジを組み合わせて実現される。 図2: vethペア veth (virtual Ethernet) は、図2のように、仮想NICのペアと、それをつなぐ仮想ケーブルを作る機能。ふたつの仮想NICはイーサネットで直接通信できる。 図3: ブリッジ ブリッジとは、LinuxマシンがL2スイッチ(スイッチン
始めに 最近ウェブ開発でローカル環境を使って欲しいなぁ、とすごく思うようになりました。 慣れてしまえば開発効率が上がると思うんですけど、その導入が大変なんですよね。 仕事で一緒になった方々に手作業で構築していましたが、もっと簡単にできないかなということで作りました。 Mac用です。名前はDAMP(Docker Apache MySQL PHP。 XAMPP, MAMPから取りました。)です。 Apache、MySQL、PHPが動きます。 (2018年11月8日)PHP7.2に対応しました 1.7.2でPHP7.2に対応しました。 https://github.com/yousan/damp/releases/tag/1.7.2 サンプルのdocker-compose.ymlはこちらです。 https://github.com/yousan/damp/blob/master/docker-c
2016 - 08 - 12 Dockerホストのパフォーマンスを引き出すTCPカーネルパラメータチューニング Docker Linux もう半年くらいフルDockerでmicroservicesなサービスを運用してるんですが、イマイチパフォーマンスを出し切れていないなという面がありまして、今回Dockerホストの TCP カーネル パラメータを抜本的に見直しました。 そしたら劇的に症状が改善して、 インスタンス 数も削減できた上に安定して メシウマ状態 になったので紹介します。実際効果があったのでチューニングポイントとしてはある程度正解であったと考えていますが、もちろん扱ってるアプリケーションの特性にもよるはずなので一つの ケーススタディ であることをご了承頂ければと。 前提 まずは今回のお話の前提を。こんな環境です。 EC2 c3.xlarge ホストは Ubuntu (EC2 Opt
元ネタ BUILDING SERVERLESS APPS WITH DOCKER 概要 Docker Blogに面白い記事がありましたので紹介/解説です。 既存のWebアプリをDockerとswarmでサーバーレスにしてみるというものです。 詳細は上記の元ネタを読んでいただければと思います。 当記事ではポイントごとに使われてるテクニックについてみていきます。 なお、それぞれのソースコードは以下のリポジトリで公開されています。 GitHub/通常の構成(既存Webアプリ)のソースコード GitHub/サーバーレス構成のソースコード --- 6/26追記 --- 上記のデモアプリはswarmクラスタ構成になっていません。 swarmで動くサンプルはこちらに作成してみました。(変更差分) DockerToolbox(VirtualBox)で動かすサンプルですので、環境をお持ちの方はお試しください
こんにちは、吉岡(@yoshiokatsuneo)です。 Dockerはシンプルで軽量な仮想環境という特徴から急速に広まっており、paizaでも利用しています。ただし、発展が早いことから、断片的な情報や古い情報などもあります。そこで、ここでは今のDocker(Ver1.13: 2017/1/20更新)について、5分でわかるように簡単にまとめてみます。 目次 Dockerの特徴 コンテナと仮想マシンの違い Dockerの発展 Dockerの構成(5つの要素) Dockerの基本コマンド Dockerコマンド一覧 Dockerの仕組み 考え方 まとめ Dockerの特徴 Dockerは、Linux上のシンプルで軽量な仮想環境(コンテナ)で以下の特徴があります。 早い・軽い OSレベルの仮想化なので、起動は一瞬です。コンテナ間でイメージを共有できるので、コンテナの起動自体ではディスクは消費しませ
Chef、アプリケーションを実行環境ごとパッケージングする「Habitat」をオープンソースで公開。仮想マシンやベアメタル、Dockerなどのインフラに依存せず実行可能に 一般的にアプリケーションを実行するには、そのアプリケーションを実行するための実行系やライブラリ、環境変数といった、いわゆる実行環境を整えることが必要です。そして実行環境はアプリケーションの外側にあり、OSやインフラとして整備しておく必要がありました。 例えばアプリケーションをビルドし、テストし、デプロイし、運用していく場合、その環境それぞれでアプリケーションの実行環境を整備する必要があるわけです。 Habitatをひとことで説明するならば、アプリケーションを実行環境ごとパッケージすることで、インフラ側で実行環境を整備する手間を省き、どのインフラでも簡単に実行できるようにしたものと言えます。 ChefのCTOで共同創業者の
Wantedlyインフラチームの @koudaiii です。 まずインフラチームでは、「Code wins Arguments」を支えるインフラ = 変化に強いインフラ作りに取り組んでいます。 Code wins Argumentsについては、こちらのインタビューを参照してください。 チームで1時間ミーティングするならコードをかこうという考え方のもと、エンジニアであれば、仮説を考えてあれこれ考えるよりも、プロトタイプを作って検証することや、営業であれば、エンジニアに頼む前に企画書を書いて5社程度の確約をとってきて、これなら行けると思ったらエンジニアに依頼するDocker を Production で使うのはなぜ?Wantedly では、 2014夏頃よりProduction で Docker を使っています。元々 Heroku からサービスをスタートしているので、コンテナ自体はずっと利用し
注意 本件記事ですが、私の不適切な行動(拾ったスクリプトを検証なく走らせる)が原因です。「dockerは(特に何もしなくとも)危険」との誤解を皆様に与えた点、ご迷惑をおかけいたしました。申し訳ございません。 拡散されている記事を削除するのはさらなる誤解を招きかねないと思いましたので、冒頭に注意を付記しております。以下の記事は、「自分が何してるかをきちんと検証できないとセキュリティホールを生み出す」という意味で参考にして頂ければ幸いです。 追記 Twitterやはてブで言及いただきました皆様、ありがとうございます。 本件はpullしてきたイメージが悪意ある開発者によるものかどうかにかぎらず、不適切な設定をしていると起こり得ます。 ※コメント欄に質問への回答という形で、私がそのときに走らせていたイメージの一覧を挙げておりますが、どのイメージも評判あるものだと思います。 皆様におかれましては「あ
GitリポジトリとDockerイメージレジストリを統合した「GitLab 8.8」リリース。開発や継続的統合のワークフローがシンプルに GitLabは、Gitリポジトリを中心とした開発ツール「GitLab 8.8」をリリースしました。 GitLabはGitリポジトリ機能の機能に加え、Wikiやイシュートラッキング、コードレビュー、アクティビティフィード、そしてテストやビルド、デプロイなどの自動化を行うGitLab CI機能などが統合された開発ツールです。 GitLab 8.8ではパイプライン機能が強化。パイプラインの状態を画面で参照できるようになりました。 もう1つの大きな機能強化が、Dockerイメージレジストリ機能の統合です。 GitLab 8.8には最初からDockerイメージのレジストリ機能が組み込まれており、インストールするとすぐに使える状態になっています。GitLab CIによ
mac yosemite環境にて。 どうやらまだDockerで centos7は早すぎるらしい。 docker run するときに centos:latestにすると現時点(2015/03/10)では cnetos7がインストールされている。 これでyum install httpdをやると、依存関係のパッケージがインストールできずに 失敗をするのだ。 こんなエラーが画面にでる。 Error unpacking rpm package httpd-2.4.6-19.el7.centos.x86_64 error: unpacking of archive failed on file /usr/sbin/suexec: cpio: cap_set_file error: httpd-2.4.6-19.el7.centos.x86_64: install failed ・・・ Failed:
最近、Docker以外のコンテナ型仮想化技術の流れとして、自作コンテナエンジンの時代が来るのではないかと感じている。 自作コンテナエンジンとは、コンテナ型仮想化技術を構成する個々の要素技術を組み合わせ、自分の用途にあわせて最適化したコンテナエンジンのことだ。 他のOSのコンテナ仮想化技術について疎いため、以下ではLinuxに限定して話を進める。 概要 Dockerも含めて、Linuxコンテナはコンテナを構成する複数の要素技術の組み合わせである。自分のやりたいことに対して、Dockerをはじめ既存のコンテナエンジンが複雑すぎるケースがある。そこで、自分の用途にあわせてコンテナエンジンを自作することを考えてみる。libcontainerに代表されるように、Linuxコンテナエンジンを自作しやすい環境が整いつつある。今後は、巨大なコンテナエンジンに対して、UNIX哲学に基づいて制御可能な小さなコ
近年 Docker というオープンソース・ソフトウェアが流行していますが、仮想化などの設計、実装をおこなう基盤技術者(基盤屋)の使うツールだと思っていませんか? 実はアプリケーション設計・開発者(アプリ屋)がDockerを覚えておくと、ソフトウェア開発プロジェクトの初期に構築するGitやSubversionなどの構成管理システム、Redmineなどのチケット管理システム、JenkinsなどのCIサーバを簡単に構築、運用することができるようになります。またある程度使い方を理解すればITレベルのテスト環境の運用にも応用できるようになります。 本セッションでは、"アプリ屋"の方々が明日から使えるように、Dockerの基本と、Subversion/Redmine/Jenkinsを元にした構築・保守の方法について紹介します。Read less
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く