Webブラウザ上では図形が正しく表示されないことがあるので,どうぞダウンロードしてご覧ください ( https://t.co/M08v9IO54E ) ・Dockerの今までの歩み ・Kubernetes統合版Docker ・`docker build` の後継・代替 ・Docker CLI & daemon の代替 ・イメージ配信プロトコル ・ランタイムとセキュリティRead less
こんにちは! SmartHRエンジニアの @tei-k です。 SmartHR ではインフラに AWS の Elastic Beanstalk (以降 EB ) を使っています。 Rails アプリですので、去年までは Ruby Platform 上で動いたのですが、今年から Docker Platform へ切り替えました。 ここでは移行するまでの工夫をご紹介できればと思います。 EB の概要 EB は、インフラストラクチャーを意識せず簡単にアプリケーションの構築、デプロイ、Auto Scaling などをマネジードしてくれる PaaS となります。 Ruby、Go など様々な言語や Docker にも対応しているため、すべての言語のアプリを EB 上で動かせるでしょう! 詳細は公式ドキュメントご参考下さい。 移行の背景 Ruby Platform には以下の制限や要望がありました。 最
You probably want to use Docker with Go, because: Packaging as a container is required if you’re running it on Kubernetes (like me!)You have to work with different versions of Go on the same machine.You need exact, reproducible, shareable and deterministic environments for development as well as production.You need a quick and easy way of building and deploying a final compiled binary.You might wa
エンジニアの@macs_6です。 このブログでは社内のAWS EC2上で運用しているアプリケーション群をECS移行したプロジェクトについて紹介します。 ローカルの開発環境をDockerした話は以前の記事(複数の rails プロジェクトが共存する開発環境を Docker 化した話を晒してみる)で西辻が紹介しているので、そちらを参照して下さい。 概要 プロジェクトを始める前に感じていた課題 目指す状態 ECSを選択する理由 設計 移行のために必要な作業 Digdagによるスケジューリングについて ECSを使って見て気づいたこと 今後やりたいこと プロジェクトを始める前に感じていた課題 ローカル・本番で再現性のある環境を簡単に作れるようにしたい 簡単にスケールできるようにしたい コストを抑えたい ECS移行プロジェクトを始める前にはこれらの3つの事に課題感を持っていました。 1.ローカル・本番
DisclaimerThis content is part of / inspired by one of our online courses/training. We are offering up to 80% OFF on these materials, during the Black Friday 2019. You can receive your discount here. I’ve been using Docker for years now, in my previous professional experiences and for my company (eralabs.io) customers and I wanted to share my knowledge, that’s why I started Painless Docker Course.
At work we came across a problem set where we needed to stop one of our golang application gracefully in Amazon ECS. This application Shepard’s many transactions that are in flight, and it is not acceptable for us to merely stop the container without at least changing state of those transactions, if not actually completing the transactions. After some research into how docker stops containers it s
モバイルアプリサービス部の五十嵐です。 先日、あるRailsアプリケーションの開発環境を同僚のマシンに作成しようとしたところ、gemのインストールに1日かかってしまいました。環境構築は手順化されていたのですが、トラブったのは主にNative Moduleを利用する libv8 、 therubyracer 、 rmagick などのおなじみの面々です。手順を作った時は、これらのgemのインストールに必要なライブラリを brew install で最新バージョンをインストールするだけでよかったのですが、時が経ちライブラリの最新バージョンが更新されていたことが主な原因でした。この状況はいかんな〜と思い、Railsアプリケーションの開発環境もDockerにすることにしました。 本記事では、Railsアプリケーションの開発環境をDockerにするときに検討したことや問題点などを書いています。なお、
はじめまして(?)。taiyohと申します。 幾つか事業部を渡り歩いた後、現在はLobiにて新規機能の開発などを行っております。 皆様は3/3発売のNintendo Switchの予約はお済みでしょうか。僕は早速1/21の午前中に近所の電器店に駆け込んで予約をしました。ゼルダ、Splatoon2、ゼノブレイド2と、既にやりたいソフトがいくつかあるので大変楽しみです。2017年も何とか生きていけそうです。どうぞ宜しくお願いします。 さて、昨年の2016年末ですが、Lobiアカウントを利用したトーナメントサイトというものをリリースしましたので、そのちょっと技術っぽい観点についてお話させていただきます。なお、技術っぽいと書きながら実装やインフラ成分は低めです。その点予めご了承ください。 Lobiトーナメントはゲーム大会をより簡単に開催・参加できるようにしたサービスです。大会のエントリーから大会終
https://amakan.net/ のこの辺の改善の続き。 amakanをUnicornからPumaに移行した - ✘╹◡╹✘ amakanでyarnを使うようにした - ✘╹◡╹✘ amakanでRuby 2.3.3を使うようにした - ✘╹◡╹✘ amakanを Ruby 2.3.3 から 2.4.0-preview3 に移行した - ✘╹◡╹✘ amakanのフロントエンドを色々改善した - ✘╹◡╹✘ amakanをSidekiqに移行した - ✘╹◡╹✘ amakanの開発環境をDockerに移行した - ✘╹◡╹✘ amakanの本番環境をDockerに移行した - ✘╹◡╹✘ CIのビルドに時間が掛かるようになった これはわりとしんどい。CircleCIのDockerのバージョンが古く、イメージのキャッシュをしづらいため、毎度新規にイメージをビルドしていることが原因。キャ
Docker for macが出てから、しばらく使っていたけれど、 どうしてもディスクの喰い方がつらくて、Docker for macを卒業。 現在のローカルのDockerの環境は Parallels + CoreOS Stable channel + Docker client という構成に。 というか戻った。 paralllels + CoreOSのところは一旦置いておいて MacにDocker clientだけをスマートに入れる方法はないかと模索したところ toolboxのソースにあるDockerfile.osxにヒントが。 36 RUN curl -fsSL -o dockerbins.tgz "https://get.docker.com/builds/Darwin/x86_64/docker-${DOCKER_VERSION}.tgz" && \ 37 tar xvf dock
mysql を含むものをテストする際に例えば go だと、lestrrat/go-test-mysqld とかを使います。 perl には Test::Docker::MySQL っていうのがあって、面白いなと思ったので、(雰囲気 go-test-mysqld インターフェースで)go で書いてみました。 github.com go で mysql の立ち上げを docker に寄せると、go-sql-driver/mysql が pure go なので簡単にバージョンの固定が出来て良いです。 最近は、開発にも docker を使っているので、アプリケーションのコードも docker な事が多いです。そうなると、docker run ... go test となるので、そのコンテナの中から mysql コンテナをさらに立ち上げる必要があります。 とりあえずって事で コンテナに docker
このエントリは Docker Advent Calendar 2016 - Qiita の2日目です。 こんにちは。CTOの馬場です。 みなさんお世話になった(と思われる)Docker日本語ドキュメントは @zembutsuさんが個人で翻訳されています。 GitHubで作業されていて、Pull Requestを受け付けてくれているので、 ぜひ参加しましょう! 環境構築 いまはSphinxがあればビルドできるので、 インストールしておきましょう。 pip install Sphinx 2016/12/1時点で Sphinx 1.4.8 でHTML生成できることを確認しています。 生成は1行ぽんと実行するだけ。 make html これで build/html 配下にHTMLが生成されます。 別の方法として、もし手元の環境に手を加えたくないなーという場合はDockerを活用しましょう。 リポジ
Go でアプリケーションを作ると、そのまま他になにもなくとも実行できるバイナリが出来あがります。この特性によりデプロイが大変楽です。 このような特性があるので、 Go を使う場合 Docker のようなオーケストレーションツールを使わなくても多くのサーバーにアプリをデプロイしていくことも可能かと思われますが、そこはまあ Docker という巨人に乗っておくと楽なことが多いです。具体的には swarm と docker-compose が便利なので Docker 上で実行したい。 ここで問題となってくるのが何も考えずに Docker イメージを作るとイメージサイズが膨れあがってしまってシングルバイナリによる手軽さなどが損なわれてしまうという点です。 たとえば golang:alpine のような比較的小さいイメージを使ってもファイルサイズはバイナリサイズ + 300MB ほどにもなってしまい
誰? @zembutsu a.k.a Masahito Zembutsu さくらインターネット株式会社 技術本部 (@zembutsu_works 仕事用) Docker Authorized Trainer HashiCorp や Docker のドキュメント翻訳や技術検証 https://pocketstudio.net http://docs.docker.jp 過去の発表スライド http://www.slideshare.net/zembutsu Topics ハンズオン概要 swarm モードの基本的概念 手順 概要と目的 Docker 1.12 から組み込まれた swarm モードを試します。 3台のノードでクラスタを構築します クラスタ上で、Nginx サービス(コンテナ)を起動 スケールアップ・ダウンや、ルーティング・メッシュ、ローリング・アップデート、自動復旧までの流れ
@joker1007 self.inspect @joker1007 パーフェクトRuby, パーフェクトRails 著者 Asakusa.rb, Yokohama.rb, Shibuya.rb データ分析基盤構築, Bigquery, インフラ全般 fluent-plugin-bigqueryメンテナ (株)Repro 宣伝タイム 現在のECSの活用状況 主要システムはほぼECSに移行完了 メインWeb, API, 各種非同期処理ワーカー クラスタは基本で15台 ASでその倍から3倍ぐらいまで増える 開発者用ステージング、QA環境等にも利用 何故ECS化したのか ミドルウェアのバージョン管理の容易さ Ruby, nginx, fluentd ... TaskDefinitionのリビジョンでロールバックできる 無停止デプロイメントの簡易化 AutoscaleのためのAMI管理不要 pul
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 実際には、まだ本当の本番環境では運用できてなくて開発用のステージングで運用が開始できたぐらいで、他にもやること一杯あるんだけど、ある程度知見が溜まったのでまとめておく。 ちなみに、規模はそんなに大きくないがデータ量は多いアプリケーションで運用環境はAWSのECSを想定しており、現時点で普通のEC2ノードとコンテナで並行稼動している。 docker-swarmなりで自前でコンテナプールを構築してもいいのだが、そうするとサービスディスカバリとか考えなければいけないことが増えるので、後回しにしている。 (注: かなりサービス固有の事情が含まれ
さくらインターネット、コンテナ型仮想化技術「Docker」を利用した 新たなホスティングサービス「Arukas」を開発 〜無料で利用できるオープンβテストを実施〜 自社運営のデータセンターでインターネットインフラサービスを提供するさくらインターネット株式会社(本社:大阪市中央区、代表取締役社長:田中 邦裕)は、Docker, Inc.(本社:米国サンフランシスコ、CEO:Ben Golub、以下:Docker社)が開発するコンテナ型仮想化技術「Docker」を利用した新たなホスティングサービス「Arukas(アルカス)」を開発しました。この「Arukas」を無料でご利用いただけるオープンβテストを、2016年9月末まで実施いたします。 「Docker」は、Docker社より2013年に公開されたオープンソースのコンテナ型の仮想化ソフトウエアです。「Docker」で実現されるコンテナ型仮想化
近年 Docker というオープンソース・ソフトウェアが流行していますが、仮想化などの設計、実装をおこなう基盤技術者(基盤屋)の使うツールだと思っていませんか? 実はアプリケーション設計・開発者(アプリ屋)がDockerを覚えておくと、ソフトウェア開発プロジェクトの初期に構築するGitやSubversionなどの構成管理システム、Redmineなどのチケット管理システム、JenkinsなどのCIサーバを簡単に構築、運用することができるようになります。またある程度使い方を理解すればITレベルのテスト環境の運用にも応用できるようになります。 本セッションでは、"アプリ屋"の方々が明日から使えるように、Dockerの基本と、Subversion/Redmine/Jenkinsを元にした構築・保守の方法について紹介します。Read less
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く