Docker キャプテンは、その分野の専門家であり、Docker の知識を他の人と共有することに情熱を注いでいるコミュニティの選ばれたメンバーです。 「Docker Captains Take 5」は定期的なブログシリーズで、キャプテンを詳しく見て、Dockerの最高のヒントから猫と犬のどちらを好むかまで、同じ幅広い質問をします(個人的には好きです クジラ そして カメ こっち)。 今日はインタビューです ニック・ジャネタキス 2016年からドッカーキャプテンを務めています。 彼はフリーランスのフルスタック開発者/教師であり、米国ニューヨークを拠点としています。
Dockerを最初に知ったのはいつ/どのようにですか?
私はフリーランスのWeb開発の仕事をしていて、Ruby on Railsで作成されたWebアプリケーションの開発環境をセットアップするのが苦痛な状況に遭遇し続けました。 アプリが異なれば、Rubyのバージョン要件も異なり、PostgreSQLとRedisのバージョンも異なります。
Windows開発ボックスで手動でプロビジョニングされたLinux VMを実行し、そこで開発のほとんどを行ったことを覚えています。 私はそのLinux VM内で直接LXCを使い始めました。
物事を自動化するために多くの時間を費やした後、それはそれほど悪くはありませんでしたが、それから私のクライアントのマシンとプロダクションですべてを実行するのは常に歌と踊りでした。
2014年に私は最初にDockerを発見しました。 当時はバージョン1.4くらいだったと思います。 Dockerについて読んで、試してみるのに十分安定していると判断したことを覚えており、それ以来使用しています。
お気に入りのDockerコマンドは何ですか?
それは確かに ドッカーです-構成します。 これは私の最もよく使われるコマンドです。
そもそも私がDockerを使うようになった理由があります。 私がしなければならないのは1つまたは2つのコマンドを実行するだけで、私の技術スタック全体がすべての主要なプラットフォームで稼働するという約束です。
確かに2014年には fig upと呼ばれていましたが、将来的には docker-compose up がネイティブのdockerコマンドに置き換えられる予定ですが、同じ概念がこれらすべての年に適用されています。
Dockerを使用するために他の人が知らないと思う一番のヒントは何ですか?
開発と運用で同じ docker-compose.yml ファイルを使用しても、 docker-compose.override.yml ファイルを使用してバージョン管理から無視することで、各環境で異なるコンテナーを柔軟に実行できます。
これは、開発中にPostgreSQLのローカルコピーまたはWebpack開発サーバーを実行するのに非常に便利ですが、本番環境では、nginxまたはCDNからプリコンパイルされたアセットを提供しながら、クラウドプロバイダーのマネージドPostgreSQLデータベースを使用します。
私はしばらく前に 私のブログでこれについてのビデオ を作りました。 そういえば、私のサイトには 100 +のDocker関連の投稿やビデオ があります。 私はそこで学んだことをすべて投稿する傾向があります。
あなたが行った/見た中で最もクールなDockerデモは何ですか?
Webサーバー、バックグラウンドワーカー、PostgreSQL、Redisを約5秒で起動するために 初めてdocker-compose を実行したとき、物事がうまくいくことを知っていました。
これは、特定のプレゼンテーションや録画されたデモの一部ではありませんでした。 Dockerには足があり、6か月で消える次の誇大宣伝されたテクノロジーではないことを自分自身に示していました。
私は通常、おもちゃのデモを見たり、現実世界以外のユースケースで何かを魅力的に見せるために何かのスライバーを見たりすることには興味がありません。 私はすべて、私の日常に役立つ実用的な例についてです。 そのため、完全にDocker化された/本番環境に対応したWebアプリが docker-composeup で起動されているのを見るのと同じくらい基本的なことはクールだと思います。
過去6か月間に取り組んだことで、特に誇りに思っていることは何ですか?
私のフリーランスのクライアントの一部が本番環境に対応した方法でWebアプリケーションをデプロイするのを支援しています。 アイデアやコードを、人々がやりたいことを行うのに役立つソリューションに変換することは非常に満足のいくことです。
私は新しいことを学ぶのを本当に楽しんでいますが、私にとって、コードは常に目的を達成するための手段でした。 旅は楽しくて本当に楽しいですが、結局のところ、AからBに行くことが目標であり、他の人が目標を達成することができるのを見るのはいつも嬉しいことです。
また、 ランニングインプロダクションポッドキャストの26のエピソードもリリースしました。
毎週新しいゲストが登場するショーで、作成したWebアプリをどのように構築してデプロイしたか、使用した技術スタック、最高のヒントと学んだ教訓について話します。 ちなみに、個人の開発者から非常に人気のある企業に至るまで、非常に多くの人々が日常的にDockerを使用しています。
今年のDockerの最大の発表は何だと思いますか?
何が来るのかわかりませんが、開発でDockerを使用することの最大の時間のシンクの1つは、アプリケーションのパッケージ依存関係レイヤーを1つの変更から無効にすることであるため、レイヤーの差分とスマートレイヤーの更新が問題になることを願っています。 それは、Python の要件.txt ファイル、Rubyの Gemfile 、またはNodeの package.json ファイルのようなものを変更することになります。
依存関係を変更するには、通常、すべての依存関係が再構築されるまで5〜10分待つ必要がありますが、Dockerがなければ、同じプロセスは10秒以内に終了する可能性があります。 レイヤーの差分と更新が可能であれば、Dockerでも10秒に短縮できます。
これは、レイヤーの差分とスマートな更新を行うための非常に歓迎すべき変更です。 特に、依存関係を定期的に変更する新しいプロジェクトでは特にそうです。
今年のDockerの最大の課題は何だと思いますか?
言うのは難しいですが、Dockerが開発者エクスペリエンスに新たな焦点を当てているため、過去数年間、Dockerはターゲット顧客が誰であり、収益を生み出す方法を理解しようとして少し散らばっているように感じられたため、私は楽観的です。
Dockerがついに彼らが何をしたいのかを理解してくれてうれしいです。 私もそれを見下すような意味では言いません。 私はあなたの本当の召しとターゲットオーディエンスを見つけるのがどれほど難しいかを知っています。
最大の課題は、おそらくDockerを持続可能なビジネスにする方法を理解することでしょう。 Dockerが80%のアップグレード/ 10%サイドグレード/ 10%のダウングレードから100%のアップグレードに変換され、Web開発のようなものでは、常にDockerを使用するのが簡単になります妥協なし。
私はファンタジーの世界に住んでいるかもしれませんが、物事がその時点に到達した場合、ビジネス上の問題は、公的資金または誰もが自分のしていることを続け、地球上で考えられる最高の開発者体験を作ることができる会社に買収されることによって自然に解決されると思います。
Dockerコミュニティに関する来年の個人的な目標は何ですか?
Dockerを使用したWebアプリケーションのデプロイに焦点を当てた次のコースを出荷したいと思います。 これは長い間来ており、私は過去2年間で2回コースを書き直しました。
明るい面としては、コースに含めたいものがすべて揃っています。 これは、2014年以降のDockerizedWebアプリの構築とデプロイから学んだすべてです。
リリース時にローンチ割引の通知を受け取るためにサインアップしたい場合は 、https://nickjanetakis.com/courses/deploy-to-production で行うことができます。
コースに加えて、過去5 +年間と同じように、Dockerやその他のWeb開発トピックに関する ブログ と YouTubeビデオ の作成を続けます。
私が作成するブログ投稿、ビデオ、コースのほとんどは実際の経験から来ているので、今年はフリーランスビジネスの一環として、より多くの人々と協力することも楽しみにしています。
DockerCon 2021で一番見たい講演は何ですか?
薄い空気からリクエストを引き出す必要がある場合は、開発者や企業がDockerをどのように使用しているかについてのさまざまなユースケースのデモやプレゼンテーションを実際に見たいと思います。
たぶん、5〜6人がセットアップに~10分を費やすある種のコラボレーションビデオかもしれません。 おそらくこれらのビデオのうちの2つさえ持っています。 1つは大企業、もう1つは単独の開発者または小規模なチームです。 このようにして、複数の視点から使用パターンを確認できます。
遠い未来を見据えて、あなたが最も興奮し、多くの可能性を秘めていると思うテクノロジーは何ですか?
6年前にこの質問をしてくれたら、Dockerと言ったでしょう。
そして、すべてのエディターに完璧なコードエディターが統合され、妥協のない開発エクスペリエンスが非常に高速になる未来を見ることができるため、今日もDockerを使用しています。
それは素晴らしい場所になるでしょう。
急速な火の質問...
パンデミックの間にどのような新しいスキルを習得しましたか?
手を洗う能力にこれほど自信が持てたことはありません。
塩辛い、酸っぱい、甘い?
甘酸っぱいものを選んでもいいですか?
犬、猫、どちらでもない、両方?
ずっとカメ。
ビーチか山か?
私はハイキングが本当に好きで、太陽から逃れることができるので、おそらく山です。 しかし同時に、海を見たり聞いたりすることには、とてもリラックスできるものがあります。 難しい質問です!
最もよく使われる絵文字は?
👍 何かに反応を残すときにGitHubで一般的に手を差し伸べるものです。