Docker Part5
レス数が1000を超えています。これ以上書き込みはできません。
DockerはLinuxが持つコンテナ技術を使ったアプリケーション仮想化技術です。
アプリケーションを動かすために必要な各種ライブラリ等を一つのDockerイメージに
まとめることで、さまざまな環境へのデプロイが容易になります。
例えばWindowsやmacOSを使って開発・テストしたDockerイメージを
そのままクラウド上のLinuxの本番環境で使うことができます。
クラウド上の環境が仮想マシンであるため、Dockerは仮想マシンと併用して使うことが多いですが
仮想マシン技術とは無関係の技術です。実際Linux環境において仮想マシンは必須ではありません。
WindowsとmacOSでは仮想マシンを使いますが、これはOSがLinuxではないからです。
Dockerは主にアプリケーションを動かすために設計されているのでデータを保存するのには適していません。
データはDockerイメージの外部、ボリュームを使ってホスト環境に保存するかネットワーク通信で外部サーバーに保存します。
またDockerコンテナは一つのサービスを実行し、複数のサービスが必要な場合はdocker-composeやk8sなどを使って連携させます。
Dockerを仮想マシンの代替として、コンテナ内で複数のサービスを起動しようとすると困難が待ち受けています。
それはDockerの設計方針とあっていないからです。
Dockerイメージ(Dockerfile)はアプリケーション開発者が作成します
動かすのに必要なもの全てがDockerイメージに含まれるので
インフラ担当者はそれを動かすだけ、本来のインフラの作業に集中できるようになります
Dockerは主にウェブ業界でサービスのデプロイの必須技術になりました
情報共有しましょう
http://www.docker.io/
前スレ Docker Part4
https://mao.5ch.net/test/read.cgi/linux/1597591176/
注意 Dockerを仮想マシンの代替として使いたいと考えてる人は、DockerではなくLXCを使いましょう
LXC(Linux Containers)
https://mao.5ch.net/test/read.cgi/linux/1330826939/ >>896
パッケージバージョンを完全に指定すれば同じ >>898
> たったこれだけで別物と見なされてhogeの重複ダウンロードされる
nixのような関数型のパッケージマネージャも
バージョンが異なれば重複ダウンロードされる >>901
「パッケージマネージャー」に起動時のオプションを変更する機能があるんですか?w >>902
imageの場合はバージョンが全く同じでも重複
パッケージマネージャはバージョンが同じなら重複ダウンロードしない >>903
いやいやそうなるように作るべきって話だろ
今はまだ無い賢いパッケージマネージャの話をしてんだ nixはbrewやyum, apt-getみたいなのじゃないぞ
nixはパッケージマネージャーの皮を被ったビルドツールだ
ビルド結果をS3に保存できるのはバイナリキャッシュ機能のおかげ
ビルド時のフラグや依存関係などを利用して生成したユニークIDを自動的にパッケージに付ける
少しでも設定変えればIDも変わる
パッケージはみんな/nix/storeの下に入る
/usrを直接変えるような事はしない
使う時は各パッケージの/binにsymlinkをはる //docs.docker.com/compose/compose-file/
compose.yml っていうファイル名が 1.27.0+ から使えるらしいんだけど、1.27.4 の環境で読み取ってくれない
1.27.0+ の + って以上って意味じゃないのかな
ワッチョイあったほうがいいと思ってたけど、age てるやつを NG すれば問題ないことに気付いたよ >>906
nixは「パッケージマネージャー」
起動時にポート番号やボリュームディレクトリを変更したりする機能はない 機能を追加すればいいだけ
というか実行に関してはdockerでいいかもね
パッケージマネージャが管理してるディレクトリをマウントするだけだから パッケージマネージャーにない機能
パッケージマネージャーとは関係ない機能を追加して
Docker相当のものを作るってことは
本当に欲しかったものはパッケージマネージャーではないということだろう >>911
「パッケージマネージャが管理してるディレクトリ」=Dockerのイメージ
「パッケージマネージャが管理してるディレクトリ」に
OS標準コマンドも入ってるんですか?入ってませんね。
Dockerの劣化版
まず「パッケージマネージャが管理してるディレクトリ」に
カーネル以外のすべてのファイルを入れることから始めましょう Kubecost raises $5.5 million to help teams monitor and reduce their Kubernetes spend
http://blog.kubecost.com/blog/announcing-kubecost-first-round/ すまんが、ユーザーにビルドの権限だけ与える(実行権限なし)ことってできないんかな? >>917
ビルドマシンと実行マシン分けたらいいだけじゃね? docker in dockerすれば
VMを使った牢獄の代わりになると思う GitHub Actionsとかで自動ビルドすれば >>917
ビルドツールを実行させずに
ビルドさせたいってこと?
無理じゃねw >>917
ビルドはJenkinsとかにやらせてユーザーが出来るのはJenkins上のWebボタンを押すことだけで良いんじゃね 山浦清透、1/15
Docker超入門講座 合併版 | ゼロから実践する4時間のフルコース
https://www.youtube.com/watch?v=lZD1MIHwMBY
Windows 10 Home版, WSL2, Ubuntu 20.04 LTS,
Docker Compose, VSCode, Heroku, Ruby on Rails, Git, CI/CD, CircleCI スレチであれだけど、最近よくマスコミや政治家が言ってる「デジタル推進」
とか「デジタル改革」って言葉の意味がわからなくて困惑してる。
たぶん、情報技術(ソフト・ハードとも)を使った各種処理の効率化・省人化
を図ったり、新たなサービスの創出で社会を活性化させたり、セキュリティ面
の強化とか、そういうことが言いたいのかなぁって想像してはいるんだけど。
でもそれだったらIT革命とかIT推進とかIT庁の方がまだ意図が見えるような。
別にアナログ技術だから不便・遅れているってわけでもなかろうに。 IT を広い意味で使うと何もかもが it になりそう製造業も情報からだよねっと
そして誤爆かなと思っております docker-machineってメンテ止まってる?
もう使わないほうがいいのかなこれ docker-machineは使う理由がなくなったよな
あれは、リモートにdockerサーバーがある場合にそれを操作するもので
・どっかのクラウドがdockerサーバーを提供しててそこにつなぐ
→ローカルでやるしなぁ
・Windowsで仮想マシンに入れたDockerにつなぐ
→Docker for Windows使うから仮想マシン使わないしなぁ
こんな感じで使う理由がない
まああれ単に接続先の環境変数を変えるだけでしょ?
メンテ終わっても使えるとは思うよ 別に過疎ってるわけじゃないけどな。
スレチに答えてもしゃーないってだけ。 >>930
たかが2chの一スレから判断しようとすな! https://trends.google.co.jp/trends/explore?date=all&geo=JP&q=docker
まあ、Dockerが徐々にオワコン化しそうなのは、その通りだけどね。
結局面倒臭い割には解決できる問題が限定的すぎるるんだよ。 >>933
いやいや、一つだけじゃ何の比較にもならんやろ
別の単語入れて検索せーや でも結局個人開発で使うんならDocker一択でね?
ほかはビジネス用ばっかだし >>935
ないよw
Googleトレンドなんて検索キーワードの数なんだから、普及すれば減るのは当たり前
Linuxなんて完全にオワコンじゃんw
https://trends.google.co.jp/trends/explore?date=all&geo=JP&q=linux >>934
何かと比較じゃなくて時系列ね。
最も話題になったのは去年の今頃って話。
話題の最盛期に比べて今は7割。
これといって素晴らしい機能がリリースされた訳でも無し。 >>936
個人開発するならそもそもコンテナ化の必要がない。 VM用意すれば心置きなくいじくりまわせるよねw
余計な知見()なんかいらないしww 再現できるVMをつくるのはいがいとめんどい。
Dockerだとらくちんちん。 まぁVMはシステムだからなぁ
1プロセスしか面倒見切れない人はDockerでいいと思うょ >>943
その理屈だとこうなる。w
× 1プロセスしか面倒見切れない人はDocker
○ ヒマ人はVM
実際は臨機応変。 >>938
だから検索数じゃ何がオワコンか判断できないって言ってんの
Linuxみてみろよ。大幅に検索数減ってんだろうが >>939
個人開発とコンテナは全く関係ないとみんなが知ってる中で、
個人開発とコンテナを結びつけてしまった時点で
あんたが理解してないだけってみんなわかってしまったわけだがw >>939
仮想マシン(VM)の中でコンテナを使うっていう
使い方をするのがほとんどなんだが、わかってないんだよな
まあ多くの人はわかってると思うけどね。
だから検索数も減ってるわけで >>945
30年の歴史が在るLinuxと6年7年の歴史しかないDockerを何故同じと看做す?
linuxだって89年代初頭は検索があれば右肩上がりだったろうよ。
Dockerはそこまで枯れてない。WSL2が出たことすら最近。
この状態で減ってるのはヤバイだろ。
>>946
いつものお前だよな!相変わらずコミュ障だな!
病院行けって言ったろww>>936で個人開発とDocker(コンテナ化)を結びつけて話してるのに
お前だけが日本語を理解してないよなwwwホント、不思議な解釈するよね!
話しても時間の無駄だから、お前はもうレスするなよ! >>948
> 30年の歴史が在るLinuxと6年7年の歴史しかないDockerを何故同じと看做す?
だから、最初に言ったんだろ。
何と比べてるんだ?一つだけじゃ何の比較にもならんやろって Ruby on Rails では、
WSL2, Linux, Node.js(Webpack, Babel), Docker Compose, CircleCI,
VSCode(Remote Container, Remote WSL)、データベース
さらに最近は、AWS Fargate, Terraform, React, Vue.js
Docker Compose までが学校の初心者コース
もし、どこかの学校が新技術を採用したら、
競争上、他の学校も採用せざるを得ないから、
どんどん未経験者の技術力が上がっていく
今では、1年の未経験者が10年以上のプロよりも、技術力が上になってる! 初心者は皆、YouTube で有名な雑食系エンジニア・KENTA のサロンとか、
AWS のくろかわこうへいのサロンへ行くから、
AWS Fargate をやる
だから、EC2 もいらない。
サーバーレス。OS レス
OSの事は、何も知らない 開発もqiitaのコピペだしな。何も知らなくても大丈夫だよ 活字を読むのはネットの記事だけという奴らの日本語は酷いよ
外人並み >>950
マジで言ってんならエンジニアやめたほうがいいよ 久々に開発したらdocker-composeがdockerに取り込まれて不要になっとった いつからだろね
知らんけど
もしかするとdocker for winだけかもわからん Linux dockerで動いてるコンテナがdocker for winで動かんなんでやろ
最新版にうpdしたんやけどなー
久々だと感どころが働かへん…今日は残業かなー なんかまだプレビュー機能っぽい気がする。バグもあるようだ。
だから正式にアナウンスされていない。
https://github.com/docker/compose-cli/issues/1149
Windows版とmac版?で本来まだでてはいけない
「docker composeに乗り換えれ」というメッセージが
出てしまっているという話に見える 新しい docker compose について
https://docs.docker.com/compose/cli-command/
The compose command in the Docker CLI is currently available as a Tech Preview.
We recommend that you do not use this in production environments.
意訳 テクニカルプレビューだから実環境で使用すんな docker composeのバグか?
でもdocker-compose upにしても961動かんなぁ
Linuxでやるかしゃあない(;´д`)トホホ… Windows版のDocker Desktopを3.3.3にアップデートしたら
docker-composeのバージョンは 1.29.1で、docker-compose(引数なし=up)で実行したら
最後らへんに Docker Compose is now in the Docker CLI, try `docker compose`ってでるようになった
次リリースされる 1.29.2 ではそのメッセージが削除されてるよ
https://github.com/docker/compose/milestone/59?closed=1
の Remove advertisement for docker compose from up
if not IS_LINUX_PLATFORM:
print('Docker Compose is now in the Docker CLI, try `docker compose up`\n')
Linuxプラットフォーム以外ででるメッセージのようだね >>964
docker-composeの話だから、コンテナの問題は関係ないだろうね
export DOCKER_BUILDKIT=0
しておくとするといいかも。Windowsの環境変数設定の方法は知らんw
docker composeはdocker-composeのエイリアスじゃなくて別実装っぽいな Windows 10, WSL2, VSCode の拡張機能・Remote Container では、Docker Compose
プロジェクトルートの.devcontaner/docker-compose.yml >>967
wsl2実装でextアクセス出来るの? まだどっかコンポーズ取り込まれてなかったんだ久しぶりに見た見に来た 前から疑問だったことがあります。たとえば
task_a.py、task_b.py、task_c.py、、、
というpythonスクリプトが複数あったとします
docker-compose.ymlでそれらを管理実行するときに
@
task_main:
_command: python task_a.py arg1 arg2 && python task_b.py arg3 &&
みたいにまとめるのか、それとも
A各スクリプト毎にserviceを用意して
task_a:
_command python task_a.py arg1 arg2
task_b:
_command python task_b.py arg3
みたいにするのか
どちらがいいのでしょうか? ついにDockerfileが複数行のRUNをサポート
随分時間かかったなぁ webアプリをDockerコンテナ化したいんだけど
コンテナ向きのディレクトリ構造とか調整みたいなのあったりすんの? >>968
Udemy の山浦清透の動画ある。1/15
Docker超入門講座 合併版 | ゼロから実践する4時間のフルコース
www.youtube.com/watch?v=lZD1MIHwMBY
Windows 10 Home 版, WSL2, Ubuntu 20.04 LTS,
Docker Compose, VSCode, Heroku, Ruby on Rails, Git, CI/CD, CircleCI windowsでdockerを使いはじめました
docker pullでイメージをダウンロードしようとしているのですが
回線が不安定なためダウンロードの途中で切断が起きます
一度切断が起きると何故かダウンロード中のファイルの最大サイズが減り、
ダウンロードが終わってもunexpected EOFというエラーが出ます
dockerのダウンローダーが回線切断にうまく対応できていないようなので、
リジューム対応のダウンローダーで前もってファイルをダウンロードしてから
dockerに組み込めばいいのでは?と思いました
そういうことはできるのでしょうか? >>976
単なるtgzファイルだからマニフェスト見て自分で全レイヤを揃えてやればできるけどクソ面倒臭いと思うよ
そんな環境でどうせまともに開発できるわけないんだから無駄な苦労で時間を無駄にするより通信環境を改善すべき >>976
内部サーパーを立てたら?
それ用の設定もあるし、そうでなくてもプロクシを立てたら? >>976
回線をどうにかしたほうがいいんじゃない? 回線が不安定ってどれぐらいのもんなのかなアナログ回線的な感じか遅いの どうせ、タコ足配線された光コラボとか、マンション系LANとかで、
激遅回線なんだと思う。 無線LANなんか切れるときには切れるやろ。
しゃあない。 SoftBankAirとかモバイルWifi系も受信状況悪いとまぁひどいぜ docker install するときcnfigでHyper-v欄が出ないんですけどなんでかわかりますか?
Hyper-v の有効/無効の切り替えは4,5回再起動でやり直しました。 >>987
コンテナイメージはデプロイ先の環境とは別の場所で管理したかったから、GitHubだけで手軽に使えるのは助かるわ
やっとECRを捨てられる すみませんk8sに詳しい方に聞いてみたいことがあります。
VMware Workstation Player 16でUbuntu20.04を2つ立ち上げてマスター、ワーカー役にして、
小さなk8sクラスタを組んで各種kubectlコマンドやコントローラの作成、ゆくゆくはCI/CDの真似事を
してみたいと思ってます。(つづく1/3) 当面のゴールはngix、node+サンプルアプリ、DBMS(Postgresqlならベスト)のpodを立ち上げて、
Ingressによりサンプルアプリページを公開し、3つ目のUbuntuのブラウザで見られるところまでと思います。
現状ネット記事などをもとにnginxのreplicasetを2つ立ち上げて、Welcomeページを見られるところまで到達。
http://iup.2ch-library.com/i/i021419699615874911269.jpg
http://iup.2ch-library.com/i/i021419700715874011270.jpg
(つづく2/3) このあと、できれば簡単なWebDBシステムのdeployment群(WAS、APP、DB)を立ち上げてみたいのですが、
nginx+app+RDBMSのサンプルアプリによるハンズオン教材や、参考になりそうな情報って心当たりあります?
いくつかマッチするWeb連載があったものの、pullするイメージが非公開になってたりnoSQL系のDBだったり、
udemy講座もさがしてみたものの、よさげなのはminikube前提だったり。なにかヒントもらえた嬉しいです。
https://www.udemy.com/course/web-application-with-docker-kubernetes/
(おわり3/3) あ、このスレは何番踏んだ人が次スレ建ててるんですか? https://kubernetes.io/docs/tutorials/で十分じゃね
仕事でEKSは多少齧ってるけど、DBはkubeじゃなくてRDS等のマネージドサービスでポチるのが普通だと思うよ >>993
おお、AWS利用されてるのですね。業務で使いだすとマネージドk8sって耳にします。
個人学習ではなかなかハードル高いですが。。。あとURLありがとうございます! AlmaLinux なんかのDockerイメージってもう配布されているんですか? 試用期間中に開発アプリのdocker環境構築ができなくて首に(´;ω;`)
docker経由でRDBに何か入れたりするのが上手く行かなく、簡単にするものじゃなかったのかと。。。 日本では試用期間中の解雇や本雇用拒否は重大なスキルや経歴の詐称でもない限りそう簡単にできるものではない
Docker未経験と伝えて採用されたなら労基案件だろ 首になった本当の原因がdocker環境構築できない事なのか考えた方がいいな 台湾パイン買ってきて食べてた・・・
>>998
すんなり行けばチュートリアルのコマンド5回くらい貼るだけで構築できる(事になってる)としか思えないので、用意した人の不手際かと。。。
首というか、この辺り自主学習してまた連絡ください的な感じですね(´;ω;`) レス数が1000を超えています。これ以上書き込みはできません。