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/
Docker Part5
レス数が950を超えています。1000を超えると書き込みができなくなります。
2020/12/02(水) 19:13:07.36ID:y3Zdr8oB
853login:Penguin
2021/03/13(土) 14:35:10.80ID:OkB9sWH0854login:Penguin
2021/03/13(土) 16:08:24.37ID:w6Cw4gKa namespaceを作るとUID、GIDの範囲が自動的に割り当てられ
同じnamespace内のポッドは同じUIDとグループIDになる
これによって他のnamespaceやホストマシンで動いてるプロセスが使用してるファイルなど、
無関係のファイルを読み書き出来てしまうのを防ぐ
何も指定しないとUIDとGIDは範囲内で使える最初の値になるようだ
だから同じ名前空間内のボリュームだったら
どのポッドも読み書きできるね
同じnamespace内のポッドは同じUIDとグループIDになる
これによって他のnamespaceやホストマシンで動いてるプロセスが使用してるファイルなど、
無関係のファイルを読み書き出来てしまうのを防ぐ
何も指定しないとUIDとGIDは範囲内で使える最初の値になるようだ
だから同じ名前空間内のボリュームだったら
どのポッドも読み書きできるね
855login:Penguin
2021/03/13(土) 19:00:33.35ID:CGLHT5pS podがどうのこうのと言っている時点で既にDockerの話じゃないんだけどな。
不特定のnode, podに対してUSER指定させたらマルチテナント環境でバッティングするから
ランダムにしよーぜなんてのはDockerレベルで考える事じゃない。
不特定のnode, podに対してUSER指定させたらマルチテナント環境でバッティングするから
ランダムにしよーぜなんてのはDockerレベルで考える事じゃない。
856login:Penguin
2021/03/13(土) 19:28:22.80ID:nRE6g312 今話をしてるのはUIDの話であって
USER指定の話ではない
USER指定の話ではない
857login:Penguin
2021/03/13(土) 19:29:16.54ID:nRE6g312 >>6
Chromeでもエラー出るようになったwww
Chromeでもエラー出るようになったwww
858login:Penguin
2021/03/13(土) 19:30:38.61ID:nRE6g312 レスする場所間違えたw
2021/03/13(土) 19:38:27.51ID:fBnyEFkA
ほらなdockerならではの面倒くささあるじゃん
860login:Penguin
2021/03/13(土) 19:45:58.13ID:nRE6g3122021/03/13(土) 19:52:26.34ID:fBnyEFkA
はいいつもの奴NG
862login:Penguin
2021/03/13(土) 19:54:41.63ID:nRE6g312 ほらな?逃げただろ。こいつは反論が一切できない。
なぜならNGにして見えないからだw
まあ実際は見てるんだろうがな
だから実際には反論できないというが正解
なぜならNGにして見えないからだw
まあ実際は見てるんだろうがな
だから実際には反論できないというが正解
863login:Penguin
2021/03/13(土) 20:04:57.71ID:w6Cw4gKa2021/03/13(土) 20:07:48.66ID:WuKb+LRj
ランダムなら何度も繰り返し攻撃したらそのうち通るんじゃね
865login:Penguin
2021/03/13(土) 20:12:17.05ID:nRE6g312 この流れでコンテナのサンドボックスが破られるぐらいなら
最初からDocker(コンテナ)を使わずに、サンドボックスの外で
直接動かせばいいとか言うんだろうなw
最初からDocker(コンテナ)を使わずに、サンドボックスの外で
直接動かせばいいとか言うんだろうなw
2021/03/13(土) 21:43:02.83ID:9K/sAZAs
OpenShiftのためだけにUID指定するながベストプラクティスってやべえな
2021/03/17(水) 19:41:38.74ID:ajiqTOqm
Dev image作る人
Ops image使う人
☝あってる?
Ops image使う人
☝あってる?
868login:Penguin
2021/03/18(木) 01:46:57.24ID:4WrbQg+w >>867
あってる
ただしDevが作るイメージとは自分たちで開発したアプリのイメージ
自分たちで開発してないアプリ、オープンソースなどは
Docker公式や開発公式が作ってることが多いので
そういうのをイメージする作業は開発とは言わない
アプリ開発の一環としてDockerイメージも作る
あってる
ただしDevが作るイメージとは自分たちで開発したアプリのイメージ
自分たちで開発してないアプリ、オープンソースなどは
Docker公式や開発公式が作ってることが多いので
そういうのをイメージする作業は開発とは言わない
アプリ開発の一環としてDockerイメージも作る
869login:Penguin
2021/03/18(木) 09:38:04.69ID:QA403diq Introducing fixuid: Tool for Changing Docker Container UID/GID at Runtime
https://boxboat.com/2017/07/25/fixuid-change-docker-container-uid-gid/
One of the most helpful things about using Docker containers for development is that it reduces developer onboarding time from a few days to a few hours or less.
Developers are able to clone a repository, start a container or run Docker compose, and start contributing immediately.
Development containers are often very different from production containers.
They usually include package managers, build tools, SDKs, remote debugging, and more.
Source code can be mounted into the development container via a host mount and changes can be immediately re-rendered via live-reload build tools.
This is where the road gets bumpy – Docker containers run as a single user. Users/groups, UIDs/GIDs, and file ownership must be decided when an image is built with docker build.
Host volumes, however, are owned by a user on the host and the host user's UID may or may not match the container user's UID.
There's an issue in the Moby repository with over 100 comments about this very topic.
Host volumes are mounted using bind mounts in Linux.
There is no way to remap UIDs/GIDs using bind mounts so often development containers end up with a mismatch of UIDs/GIDs.
This is why we created fixuid, a tool to change a Docker container's user/group and file permissions that were set at build time to the UID/GID that the container was started with at runtime.
To explain how fixuid solves this problem, let's take a look at a story about Alice and Bob, who are both developers working with development Docker containers.
https://boxboat.com/2017/07/25/fixuid-change-docker-container-uid-gid/
One of the most helpful things about using Docker containers for development is that it reduces developer onboarding time from a few days to a few hours or less.
Developers are able to clone a repository, start a container or run Docker compose, and start contributing immediately.
Development containers are often very different from production containers.
They usually include package managers, build tools, SDKs, remote debugging, and more.
Source code can be mounted into the development container via a host mount and changes can be immediately re-rendered via live-reload build tools.
This is where the road gets bumpy – Docker containers run as a single user. Users/groups, UIDs/GIDs, and file ownership must be decided when an image is built with docker build.
Host volumes, however, are owned by a user on the host and the host user's UID may or may not match the container user's UID.
There's an issue in the Moby repository with over 100 comments about this very topic.
Host volumes are mounted using bind mounts in Linux.
There is no way to remap UIDs/GIDs using bind mounts so often development containers end up with a mismatch of UIDs/GIDs.
This is why we created fixuid, a tool to change a Docker container's user/group and file permissions that were set at build time to the UID/GID that the container was started with at runtime.
To explain how fixuid solves this problem, let's take a look at a story about Alice and Bob, who are both developers working with development Docker containers.
870login:Penguin
2021/03/19(金) 13:01:11.32ID:edcYEDQK nix使ったらDockerイメージのマージはできないけど
nixのパッケージ使ってDockerイメージ作れば似たような事は出来るね
使いたいCLIツールのパッケージが依存してるランタイムのバージョンが違ってても共存させる事が出来る
No dependency hell
ビルド時にだけ必要なパッケージと
実行時に必要なパッケージが明確に区別されてるので
要らない一時ファイルを誤ってDockerイメージに含める心配がない
nixpkgsのパッケージが豊富だし
無くても自分で書けば良い
GitHubで自作パッケージを公開し、ビルド済みバイナリをcachixに置いておけば
複数のプロジェクトから再ビルドせずに使い回せる
https://mao.5ch.net/test/read.cgi/linux/1597591176/98
98 login:Penguin sage 2020/08/28(金) 11:22:41.35 ID:0ih4XZ3G
イメージのマージ機能はいつになったらサポートされんだ
devcontainer作るときいちいちインストール方法調べてDockerfile書くの不便なんだが
nixのパッケージ使ってDockerイメージ作れば似たような事は出来るね
使いたいCLIツールのパッケージが依存してるランタイムのバージョンが違ってても共存させる事が出来る
No dependency hell
ビルド時にだけ必要なパッケージと
実行時に必要なパッケージが明確に区別されてるので
要らない一時ファイルを誤ってDockerイメージに含める心配がない
nixpkgsのパッケージが豊富だし
無くても自分で書けば良い
GitHubで自作パッケージを公開し、ビルド済みバイナリをcachixに置いておけば
複数のプロジェクトから再ビルドせずに使い回せる
https://mao.5ch.net/test/read.cgi/linux/1597591176/98
98 login:Penguin sage 2020/08/28(金) 11:22:41.35 ID:0ih4XZ3G
イメージのマージ機能はいつになったらサポートされんだ
devcontainer作るときいちいちインストール方法調べてDockerfile書くの不便なんだが
2021/03/19(金) 13:14:23.15ID:dlChmxiq
前にも言ったと思うけど
俺らが本当に欲しかったものってdockerじゃなくてスマートなパッケージマネージャ(とリポジトリ)なんだよね
Container imageってアイデアは失敗だった
俺らが本当に欲しかったものってdockerじゃなくてスマートなパッケージマネージャ(とリポジトリ)なんだよね
Container imageってアイデアは失敗だった
872login:Penguin
2021/03/19(金) 13:43:46.78ID:edcYEDQK 一応nixにもnixパッケージ使って隔離されたNixOS環境を作る
nixos-containerってのがあるがDockerみたいに完璧な隔離ではないらしい
nixos-containerの隔離が完璧になって
自前のバイナリキャッシュも
ローカルのnixストアみたいにGCで最小構成で保存出来たら
Dockerみたいに使えるかも
nixos-containerってのがあるがDockerみたいに完璧な隔離ではないらしい
nixos-containerの隔離が完璧になって
自前のバイナリキャッシュも
ローカルのnixストアみたいにGCで最小構成で保存出来たら
Dockerみたいに使えるかも
873login:Penguin
2021/03/19(金) 15:13:07.02ID:edcYEDQK あらゆるCLIツールがnixでインストール可能になれば
開発環境ではnix-shell使って
本番では必要なパッケージを一つに固めたDockerイメージをk8sとかで使うってやり方が実現できる
そんな世界をまず目指そう
開発環境ではnix-shell使って
本番では必要なパッケージを一つに固めたDockerイメージをk8sとかで使うってやり方が実現できる
そんな世界をまず目指そう
2021/03/19(金) 15:28:10.83ID:OafZaxWN
そうじゃなくて
開発も本番もパッケージはホストにインストールするんだよ
で本番はコンテナにパッケージを読み取り専用でマウントすんの
全部固めたイメージなんてものは要らない
開発も本番もパッケージはホストにインストールするんだよ
で本番はコンテナにパッケージを読み取り専用でマウントすんの
全部固めたイメージなんてものは要らない
875login:Penguin
2021/03/19(金) 16:22:12.70ID:R4CRH11B >>871
> 俺らが本当に欲しかったものってdockerじゃなくてスマートなパッケージマネージャ(とリポジトリ)なんだよね
パッケージマネージャーだけだと
実行するときの分離ができないだろ
「俺らが」じゃなくて「お前が」欲しいものはパッケージマネージャーなので
Dockerでパッケージマネージャー相当のことがしたい
できないのは苦痛だなどと言わないように
お前の目的にあってないのよ
Dockerは開発者が自分で作ったアプリを
デプロイするためのツールだって何度も言ってるだろ
> 俺らが本当に欲しかったものってdockerじゃなくてスマートなパッケージマネージャ(とリポジトリ)なんだよね
パッケージマネージャーだけだと
実行するときの分離ができないだろ
「俺らが」じゃなくて「お前が」欲しいものはパッケージマネージャーなので
Dockerでパッケージマネージャー相当のことがしたい
できないのは苦痛だなどと言わないように
お前の目的にあってないのよ
Dockerは開発者が自分で作ったアプリを
デプロイするためのツールだって何度も言ってるだろ
876login:Penguin
2021/03/19(金) 16:25:51.54ID:edcYEDQK それをやろうとしてるのはnixos-containerじゃね
コンテナ起動時にパッケージへのシンボリックリンクを動的につくるか、
PATHをパッケージの絶対パスで埋め尽くせばDockerでも行けそう
後はバイナリキャッシュのバイナリだけを利用するとか、実行時に必要なパッケージだけをダウンロードするモードがnixにないとか
その辺がなんとかなれば
本番で不要なビルド用パッケージを落としたりソースからビルドとかしたくないし
nix expressionの評価が遅いって問題もあるが
それはnix flakesで解決しそう
dockerTools.buildLayeredImage使えば
パッケージ毎にイメージレイヤーを作ってくれるので
ストレージ効率は良い
ただ、Dockerのレイヤー数は128までなので
それを超えると最後の方のレイヤーは合体される
これも最後のイメージレイヤーは各パッケージへのシンボリックリンクになる
ビルド用パッケージは除外されるし
現状では最適解
コンテナ起動時にパッケージへのシンボリックリンクを動的につくるか、
PATHをパッケージの絶対パスで埋め尽くせばDockerでも行けそう
後はバイナリキャッシュのバイナリだけを利用するとか、実行時に必要なパッケージだけをダウンロードするモードがnixにないとか
その辺がなんとかなれば
本番で不要なビルド用パッケージを落としたりソースからビルドとかしたくないし
nix expressionの評価が遅いって問題もあるが
それはnix flakesで解決しそう
dockerTools.buildLayeredImage使えば
パッケージ毎にイメージレイヤーを作ってくれるので
ストレージ効率は良い
ただ、Dockerのレイヤー数は128までなので
それを超えると最後の方のレイヤーは合体される
これも最後のイメージレイヤーは各パッケージへのシンボリックリンクになる
ビルド用パッケージは除外されるし
現状では最適解
877login:Penguin
2021/03/19(金) 16:25:59.68ID:R4CRH11B >>874
なんでパッケージマネージャーが欲しいやつがDockerなんて使おうとするんだろ?w
例えばapacheのDockerイメージ、nginxのDockerイメージ
どちらもポート80で起動する
というDockerイメージを、同一のホストで複数起動する場合どうすればいいのか?
Dockerイメージを変更すること無く、待受ポート番号を変更するにはどうすればいいのか?
それができるように作られたのがDockerなんだが
ファイルを置くだけのパッケージマネージャーじゃこんな事はできない
実行時のプロセスの分離を行う仕組みが必要
なんでパッケージマネージャーが欲しいやつがDockerなんて使おうとするんだろ?w
例えばapacheのDockerイメージ、nginxのDockerイメージ
どちらもポート80で起動する
というDockerイメージを、同一のホストで複数起動する場合どうすればいいのか?
Dockerイメージを変更すること無く、待受ポート番号を変更するにはどうすればいいのか?
それができるように作られたのがDockerなんだが
ファイルを置くだけのパッケージマネージャーじゃこんな事はできない
実行時のプロセスの分離を行う仕組みが必要
2021/03/19(金) 16:30:28.16ID:OafZaxWN
2021/03/19(金) 16:32:48.59ID:OafZaxWN
>>877
nginxのパッケージを入れて2つの隔離されたnginxプロセスを起動するだけだろ
nginxのパッケージを入れて2つの隔離されたnginxプロセスを起動するだけだろ
880login:Penguin
2021/03/19(金) 16:54:59.80ID:edcYEDQK 独自のコンテナランタイムとか作らないってこと?
今使ってるコンテナのイメージレイヤーは削除出来たらだめって挙動をパッケージでやるのは
独自のコンテナランタイム作らずには難しくね
今コンテナで使ってるパッケージを削除してしまったり
逆に古いパッケージが消えないってなりそう
今使ってるコンテナのイメージレイヤーは削除出来たらだめって挙動をパッケージでやるのは
独自のコンテナランタイム作らずには難しくね
今コンテナで使ってるパッケージを削除してしまったり
逆に古いパッケージが消えないってなりそう
881login:Penguin
2021/03/19(金) 16:57:33.68ID:R4CRH11B >>879
> nginxのパッケージを入れて2つの隔離されたnginxプロセスを起動するだけだろ
パッケージを1つだけ入れて2つのnginxプロセスを起動したりしたいんだよ
それもnginxの設定を変更せずに
> nginxのパッケージを入れて2つの隔離されたnginxプロセスを起動するだけだろ
パッケージを1つだけ入れて2つのnginxプロセスを起動したりしたいんだよ
それもnginxの設定を変更せずに
882login:Penguin
2021/03/19(金) 17:00:54.27ID:R4CRH11B Dockerとパッケージマネージャーは使う目的が全く違うんだから
パッケージマネージャーが欲しい人がDockerをパッケージマネージャーの代わりとして使って
「Dockerはパッケージマネージャーで代用できる!」なんて適当なことを言わないでくれ
それはお前がDockeをパッケージマネージャーという
間違った用途で使ってるだけだ
パッケージマネージャーが欲しい人がDockerをパッケージマネージャーの代わりとして使って
「Dockerはパッケージマネージャーで代用できる!」なんて適当なことを言わないでくれ
それはお前がDockeをパッケージマネージャーという
間違った用途で使ってるだけだ
2021/03/19(金) 17:37:12.28ID:OafZaxWN
作るとしたらこんな感じだろうな
デベロッパ
myapp:
name: MyApp
version: 2.0
packages:
- ruby == 3.0.0
- hoge.com/hoge-cli == 1.2
files:
- src: ./src
dst: /myapp
volumes:
- name:myappvol
path:/var/myapp
envvars:
HOGE: fuga
entrypoint: /myapp/bin/myappentrypoint.sh
godpkgmgr push . https://my.repos.com
//メタデータとfilesがリポジトリに送信される
ユーザー
godpkgmgr run MyApp:2.0 -v ./tmp:myappvol
//rubyとhoge-cliがローカルにあるなら再利用なければpull
//MyApp:2.0のfilesとメタデータをpull
//コンテナにpaclagesとfilesをマウント、メタデータを設定、entrypointを実行
な?
image要らんだろ
デベロッパ
myapp:
name: MyApp
version: 2.0
packages:
- ruby == 3.0.0
- hoge.com/hoge-cli == 1.2
files:
- src: ./src
dst: /myapp
volumes:
- name:myappvol
path:/var/myapp
envvars:
HOGE: fuga
entrypoint: /myapp/bin/myappentrypoint.sh
godpkgmgr push . https://my.repos.com
//メタデータとfilesがリポジトリに送信される
ユーザー
godpkgmgr run MyApp:2.0 -v ./tmp:myappvol
//rubyとhoge-cliがローカルにあるなら再利用なければpull
//MyApp:2.0のfilesとメタデータをpull
//コンテナにpaclagesとfilesをマウント、メタデータを設定、entrypointを実行
な?
image要らんだろ
884login:Penguin
2021/03/19(金) 17:40:09.91ID:R4CRH11B ただの設定ファイルの形式変えてるだけじゃん
イメージいらないって、イメージなくしてどうやって起動速度上げるのさ?
どうやって全く同じイメージだと保証できるのさ?
同じ設定ファイルから作ったとしても一年後にやって同じイメージが出来る保証はない
イメージいらないって、イメージなくしてどうやって起動速度上げるのさ?
どうやって全く同じイメージだと保証できるのさ?
同じ設定ファイルから作ったとしても一年後にやって同じイメージが出来る保証はない
2021/03/19(金) 17:41:25.80ID:OafZaxWN
済まない
↑のリポジトリのURLは適当に架空のURLを書いたつもりだったが存在するドメインだったので無視してくれ
↑のリポジトリのURLは適当に架空のURLを書いたつもりだったが存在するドメインだったので無視してくれ
886login:Penguin
2021/03/19(金) 17:41:45.06ID:R4CRH11B あとrubyしか書いてないけど、ディストリに含まれる
全てのライブラリのバージョンも書かないと駄目だろw
全てのライブラリのバージョンも書かないと駄目だろw
2021/03/19(金) 17:43:20.26ID:OafZaxWN
2021/03/19(金) 17:44:11.55ID:OafZaxWN
>>886
rubyに必要な依存はrubyパッケージのメタデータに書く
rubyに必要な依存はrubyパッケージのメタデータに書く
889login:Penguin
2021/03/19(金) 17:44:28.53ID:R4CRH11B 多数の仮想マシンに同一のイメージを配布することは出来るが
多数の仮想マシンに設定ファイルから一からインストールするなんて時間かかるし
すべてのファイル(OSに含まれる全てのファイル)を、そのリポジトリとやらに
アップしてそれをダウンロードして使うってならそれがDockerのイメージの仕組みです
としか言いようがない
多数の仮想マシンに設定ファイルから一からインストールするなんて時間かかるし
すべてのファイル(OSに含まれる全てのファイル)を、そのリポジトリとやらに
アップしてそれをダウンロードして使うってならそれがDockerのイメージの仕組みです
としか言いようがない
890login:Penguin
2021/03/19(金) 17:45:41.12ID:R4CRH11B メタデータから再インストールするのは
時間がかかるって言ってます。
完成済みのファイルをコピーしたほうがずっと速い
それがイメージ
時間がかかるって言ってます。
完成済みのファイルをコピーしたほうがずっと速い
それがイメージ
2021/03/19(金) 17:46:00.56ID:OafZaxWN
2021/03/19(金) 17:47:13.88ID:OafZaxWN
893login:Penguin
2021/03/19(金) 17:47:17.37ID:R4CRH11B パッケージだけあったって、インストールの順番で
出来上がるものは違うだろうが
あとからnanoをインストールするのと
あとからvimをインストールするので
同じものが出来ると思うか?
出来上がるものは違うだろうが
あとからnanoをインストールするのと
あとからvimをインストールするので
同じものが出来ると思うか?
894login:Penguin
2021/03/19(金) 17:48:07.12ID:R4CRH11B > 重複を避けて少量のファイルをpullしたほうが速い
だからそれがイメージ
だからそれがイメージ
2021/03/19(金) 17:48:43.45ID:OafZaxWN
>>893
インストール順番に依存しないようにするための賢いパッケージマネージャだろ
Dockerfileは手続き型だから順番を気にしないといけないがnixのような関数型のパッケージマネージャならそれを克服できるというわけだ
インストール順番に依存しないようにするための賢いパッケージマネージャだろ
Dockerfileは手続き型だから順番を気にしないといけないがnixのような関数型のパッケージマネージャならそれを克服できるというわけだ
896login:Penguin
2021/03/19(金) 17:48:57.75ID:R4CRH11B パッケージだけあったって、同じイメージは作れないんだが?
インストール済みの状態のファイル=レイヤーが必要
インストール済みの状態のファイル=レイヤーが必要
897login:Penguin
2021/03/19(金) 17:50:15.00ID:R4CRH11B nixのような関数型のパッケージマネージャは
バージョンごとに複数のパッケージをインストールするというだけ
バージョンごとに複数のパッケージをインストールするというだけ
2021/03/19(金) 17:50:59.98ID:OafZaxWN
>>894
imageでは重複をうまく回避できない
RUN xxx
RUN apt-get hoge
RUN yyy
RUN apt-get hoge
たったこれだけで別物と見なされてhogeの重複ダウンロードされる
これじゃ効率が悪すぎる
imageでは重複をうまく回避できない
RUN xxx
RUN apt-get hoge
RUN yyy
RUN apt-get hoge
たったこれだけで別物と見なされてhogeの重複ダウンロードされる
これじゃ効率が悪すぎる
899login:Penguin
2021/03/19(金) 17:51:01.77ID:R4CRH11B そしてnixのような関数型のパッケージマネージャは
ポート番号を変えて起動とかしてくれない
Dockerの目的をパッケージマネージャーは満たしてくれてない
ポート番号を変えて起動とかしてくれない
Dockerの目的をパッケージマネージャーは満たしてくれてない
2021/03/19(金) 17:51:39.00ID:OafZaxWN
>>896
パッケージバージョンを完全に指定すれば同じ
パッケージバージョンを完全に指定すれば同じ
2021/03/19(金) 17:52:20.03ID:OafZaxWN
>>899
起動時のオプションで変えるだけ
起動時のオプションで変えるだけ
902login:Penguin
2021/03/19(金) 17:52:25.64ID:R4CRH11B903login:Penguin
2021/03/19(金) 17:53:01.24ID:R4CRH11B >>901
「パッケージマネージャー」に起動時のオプションを変更する機能があるんですか?w
「パッケージマネージャー」に起動時のオプションを変更する機能があるんですか?w
2021/03/19(金) 18:00:43.65ID:OafZaxWN
2021/03/19(金) 18:01:54.86ID:OafZaxWN
906login:Penguin
2021/03/19(金) 18:08:57.50ID:edcYEDQK nixはbrewやyum, apt-getみたいなのじゃないぞ
nixはパッケージマネージャーの皮を被ったビルドツールだ
ビルド結果をS3に保存できるのはバイナリキャッシュ機能のおかげ
ビルド時のフラグや依存関係などを利用して生成したユニークIDを自動的にパッケージに付ける
少しでも設定変えればIDも変わる
パッケージはみんな/nix/storeの下に入る
/usrを直接変えるような事はしない
使う時は各パッケージの/binにsymlinkをはる
nixはパッケージマネージャーの皮を被ったビルドツールだ
ビルド結果をS3に保存できるのはバイナリキャッシュ機能のおかげ
ビルド時のフラグや依存関係などを利用して生成したユニークIDを自動的にパッケージに付ける
少しでも設定変えればIDも変わる
パッケージはみんな/nix/storeの下に入る
/usrを直接変えるような事はしない
使う時は各パッケージの/binにsymlinkをはる
2021/03/19(金) 19:25:31.64ID:r5P2gC/O
次スレわっちょい付けますか?
2021/03/19(金) 19:28:27.86ID:hGR6Rk9p
今の所不要じゃね
2021/03/19(金) 20:02:51.86ID:ydlHbAph
//docs.docker.com/compose/compose-file/
compose.yml っていうファイル名が 1.27.0+ から使えるらしいんだけど、1.27.4 の環境で読み取ってくれない
1.27.0+ の + って以上って意味じゃないのかな
ワッチョイあったほうがいいと思ってたけど、age てるやつを NG すれば問題ないことに気付いたよ
compose.yml っていうファイル名が 1.27.0+ から使えるらしいんだけど、1.27.4 の環境で読み取ってくれない
1.27.0+ の + って以上って意味じゃないのかな
ワッチョイあったほうがいいと思ってたけど、age てるやつを NG すれば問題ないことに気付いたよ
910login:Penguin
2021/03/19(金) 22:28:07.78ID:R4CRH11B2021/03/19(金) 22:30:05.10ID:dlChmxiq
機能を追加すればいいだけ
というか実行に関してはdockerでいいかもね
パッケージマネージャが管理してるディレクトリをマウントするだけだから
というか実行に関してはdockerでいいかもね
パッケージマネージャが管理してるディレクトリをマウントするだけだから
912login:Penguin
2021/03/19(金) 22:47:24.53ID:R4CRH11B パッケージマネージャーにない機能
パッケージマネージャーとは関係ない機能を追加して
Docker相当のものを作るってことは
本当に欲しかったものはパッケージマネージャーではないということだろう
パッケージマネージャーとは関係ない機能を追加して
Docker相当のものを作るってことは
本当に欲しかったものはパッケージマネージャーではないということだろう
913login:Penguin
2021/03/19(金) 22:48:53.43ID:R4CRH11B >>911
「パッケージマネージャが管理してるディレクトリ」=Dockerのイメージ
「パッケージマネージャが管理してるディレクトリ」に
OS標準コマンドも入ってるんですか?入ってませんね。
Dockerの劣化版
まず「パッケージマネージャが管理してるディレクトリ」に
カーネル以外のすべてのファイルを入れることから始めましょう
「パッケージマネージャが管理してるディレクトリ」=Dockerのイメージ
「パッケージマネージャが管理してるディレクトリ」に
OS標準コマンドも入ってるんですか?入ってませんね。
Dockerの劣化版
まず「パッケージマネージャが管理してるディレクトリ」に
カーネル以外のすべてのファイルを入れることから始めましょう
914login:Penguin
2021/03/24(水) 17:58:02.87ID:FIcallii Kubecost raises $5.5 million to help teams monitor and reduce their Kubernetes spend
http://blog.kubecost.com/blog/announcing-kubecost-first-round/
http://blog.kubecost.com/blog/announcing-kubecost-first-round/
915login:Penguin
2021/03/25(木) 15:28:49.08ID:+f1vIM7g 創業2年で5億かぁ…
2021/03/28(日) 01:08:56.41ID:hxUNtDrJ
さ
917login:Penguin
2021/03/28(日) 01:54:05.77ID:2P/rKl6w すまんが、ユーザーにビルドの権限だけ与える(実行権限なし)ことってできないんかな?
918login:Penguin
2021/03/28(日) 06:50:48.30ID:vAibOhoV >>917
ビルドマシンと実行マシン分けたらいいだけじゃね?
ビルドマシンと実行マシン分けたらいいだけじゃね?
919login:Penguin
2021/03/28(日) 09:48:48.15ID:QMhp1XDK docker in dockerすれば
VMを使った牢獄の代わりになると思う
VMを使った牢獄の代わりになると思う
2021/03/28(日) 10:24:13.19ID:gSeZ2/tw
GitHub Actionsとかで自動ビルドすれば
921login:Penguin
2021/03/28(日) 15:48:09.15ID:1NFy3up22021/04/03(土) 17:28:38.66ID:RxgrSHyR
>>917
ビルドはJenkinsとかにやらせてユーザーが出来るのはJenkins上のWebボタンを押すことだけで良いんじゃね
ビルドはJenkinsとかにやらせてユーザーが出来るのはJenkins上のWebボタンを押すことだけで良いんじゃね
923login:Penguin
2021/04/03(土) 21:42:28.00ID:SCQDyQM3 >>917
早く出てこいよ
早く出てこいよ
2021/04/03(土) 23:38:46.20ID:aeUpR8Fe
山浦清透、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
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
925login:Penguin
2021/04/07(水) 10:34:24.16ID:+R9vNIAU スレチであれだけど、最近よくマスコミや政治家が言ってる「デジタル推進」
とか「デジタル改革」って言葉の意味がわからなくて困惑してる。
たぶん、情報技術(ソフト・ハードとも)を使った各種処理の効率化・省人化
を図ったり、新たなサービスの創出で社会を活性化させたり、セキュリティ面
の強化とか、そういうことが言いたいのかなぁって想像してはいるんだけど。
でもそれだったらIT革命とかIT推進とかIT庁の方がまだ意図が見えるような。
別にアナログ技術だから不便・遅れているってわけでもなかろうに。
とか「デジタル改革」って言葉の意味がわからなくて困惑してる。
たぶん、情報技術(ソフト・ハードとも)を使った各種処理の効率化・省人化
を図ったり、新たなサービスの創出で社会を活性化させたり、セキュリティ面
の強化とか、そういうことが言いたいのかなぁって想像してはいるんだけど。
でもそれだったらIT革命とかIT推進とかIT庁の方がまだ意図が見えるような。
別にアナログ技術だから不便・遅れているってわけでもなかろうに。
2021/04/07(水) 11:29:58.28ID:NzwhU5o2
IT を広い意味で使うと何もかもが it になりそう製造業も情報からだよねっと
そして誤爆かなと思っております
そして誤爆かなと思っております
2021/04/07(水) 12:15:45.40ID:J3p3B2Dm
なんのスレだ?
2021/04/12(月) 12:59:52.47ID:i8zJNg4j
docker-machineってメンテ止まってる?
もう使わないほうがいいのかなこれ
もう使わないほうがいいのかなこれ
2021/04/12(月) 13:46:43.17ID:+hWGpe2Y
docker-machineは使う理由がなくなったよな
あれは、リモートにdockerサーバーがある場合にそれを操作するもので
・どっかのクラウドがdockerサーバーを提供しててそこにつなぐ
→ローカルでやるしなぁ
・Windowsで仮想マシンに入れたDockerにつなぐ
→Docker for Windows使うから仮想マシン使わないしなぁ
こんな感じで使う理由がない
まああれ単に接続先の環境変数を変えるだけでしょ?
メンテ終わっても使えるとは思うよ
あれは、リモートにdockerサーバーがある場合にそれを操作するもので
・どっかのクラウドがdockerサーバーを提供しててそこにつなぐ
→ローカルでやるしなぁ
・Windowsで仮想マシンに入れたDockerにつなぐ
→Docker for Windows使うから仮想マシン使わないしなぁ
こんな感じで使う理由がない
まああれ単に接続先の環境変数を変えるだけでしょ?
メンテ終わっても使えるとは思うよ
2021/04/24(土) 18:59:37.63ID:OnnP5g+1
過疎ってるね
dockerもいよいよオワコンかな
dockerもいよいよオワコンかな
931login:Penguin
2021/05/18(火) 10:44:56.10ID:uSuJalCX 別に過疎ってるわけじゃないけどな。
スレチに答えてもしゃーないってだけ。
スレチに答えてもしゃーないってだけ。
2021/05/18(火) 11:31:49.85ID:meCXSbYd
>>930
たかが2chの一スレから判断しようとすな!
たかが2chの一スレから判断しようとすな!
933login:Penguin
2021/05/20(木) 15:21:12.63ID:DVPorPa2 https://trends.google.co.jp/trends/explore?date=all&geo=JP&q=docker
まあ、Dockerが徐々にオワコン化しそうなのは、その通りだけどね。
結局面倒臭い割には解決できる問題が限定的すぎるるんだよ。
まあ、Dockerが徐々にオワコン化しそうなのは、その通りだけどね。
結局面倒臭い割には解決できる問題が限定的すぎるるんだよ。
2021/05/20(木) 15:30:13.34ID:1220+Fxs
2021/05/20(木) 15:37:23.40ID:dv9bYuSQ
Dockerに代わるものってなんかあったっけ?
2021/05/20(木) 15:38:52.59ID:jE+d/Fxl
でも結局個人開発で使うんならDocker一択でね?
ほかはビジネス用ばっかだし
ほかはビジネス用ばっかだし
2021/05/20(木) 15:44:42.15ID:1220+Fxs
>>935
ないよw
Googleトレンドなんて検索キーワードの数なんだから、普及すれば減るのは当たり前
Linuxなんて完全にオワコンじゃんw
https://trends.google.co.jp/trends/explore?date=all&geo=JP&q=linux
ないよw
Googleトレンドなんて検索キーワードの数なんだから、普及すれば減るのは当たり前
Linuxなんて完全にオワコンじゃんw
https://trends.google.co.jp/trends/explore?date=all&geo=JP&q=linux
938login:Penguin
2021/05/20(木) 15:48:34.58ID:DVPorPa2939login:Penguin
2021/05/20(木) 15:51:25.30ID:DVPorPa2 >>936
個人開発するならそもそもコンテナ化の必要がない。
個人開発するならそもそもコンテナ化の必要がない。
2021/05/20(木) 15:59:09.70ID:nbAHJ6Nf
VM用意すれば心置きなくいじくりまわせるよねw
余計な知見()なんかいらないしww
余計な知見()なんかいらないしww
2021/05/20(木) 16:14:08.50ID:QqXlbgki
再現できるVMをつくるのはいがいとめんどい。
Dockerだとらくちんちん。
Dockerだとらくちんちん。
2021/05/20(木) 16:16:21.52ID:jE+d/Fxl
>>939
環境構築済のものがすぐ使えるのがいい
環境構築済のものがすぐ使えるのがいい
2021/05/20(木) 16:46:08.51ID:nbAHJ6Nf
まぁVMはシステムだからなぁ
1プロセスしか面倒見切れない人はDockerでいいと思うょ
1プロセスしか面倒見切れない人はDockerでいいと思うょ
2021/05/20(木) 17:52:50.29ID:QqXlbgki
2021/05/20(木) 18:19:17.97ID:1220+Fxs
2021/05/20(木) 18:21:16.30ID:1220+Fxs
2021/05/20(木) 18:22:28.74ID:1220+Fxs
948login:Penguin
2021/05/20(木) 18:52:00.37ID:DVPorPa22021/05/20(木) 18:54:56.46ID:1220+Fxs
2021/05/20(木) 21:42:33.76ID:cTdK2CMJ
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年以上のプロよりも、技術力が上になってる!
WSL2, Linux, Node.js(Webpack, Babel), Docker Compose, CircleCI,
VSCode(Remote Container, Remote WSL)、データベース
さらに最近は、AWS Fargate, Terraform, React, Vue.js
Docker Compose までが学校の初心者コース
もし、どこかの学校が新技術を採用したら、
競争上、他の学校も採用せざるを得ないから、
どんどん未経験者の技術力が上がっていく
今では、1年の未経験者が10年以上のプロよりも、技術力が上になってる!
951950
2021/05/20(木) 21:50:59.66ID:cTdK2CMJ 初心者は皆、YouTube で有名な雑食系エンジニア・KENTA のサロンとか、
AWS のくろかわこうへいのサロンへ行くから、
AWS Fargate をやる
だから、EC2 もいらない。
サーバーレス。OS レス
OSの事は、何も知らない
AWS のくろかわこうへいのサロンへ行くから、
AWS Fargate をやる
だから、EC2 もいらない。
サーバーレス。OS レス
OSの事は、何も知らない
2021/05/21(金) 06:09:45.40ID:tYg5cszE
開発もqiitaのコピペだしな。何も知らなくても大丈夫だよ
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 指摘だけで半泣き→翌日欠勤。注意に「弱すぎる」24歳部下。42歳上司が「育成キャンセル」を決断した本当の理由【FORZA】 [少考さん★]
- 「18歳で2500万の差エグい…」こどもNISAスタートで心配される若者の"異常な格差”、「最速で埋めるのが愛♥」という親も [パンナ・コッタ★]
- タイムズカー、個人情報最大660万件流出 氏名、住所、生年月日、電話番号、メアド、運転免許情報、学生証などの画像 ★5 [おっさん友の会★]
- 「高市総理はリフレ論者ではない」 米財務長官「リフレ政策やめるべき」発言後、経済閣僚火消し相次ぐ [蚤の市★]
- 「国の陰謀だ!」年金月24万円・貯蓄400万円の夫婦、72歳夫が年金事務所に怒鳴り込み…きっかけは〈9月に届いた年金機構からの通知〉 [おっさん友の会★]
- 「元AKBで1番の勝ち組」東海てつや&峯岸みなみの大豪邸「レベル違いすぎる」「想像をはるか超えてとんでもない」 [ヴァイヴァー★]
- EUなど46カ国+GoogleやBMWなどの大企業が一斉にレアアースの海底開発に大反対、使用しない宣言 [245325974]
- トランプ「EUはディゼール燃料の備蓄を放出しろおおおおあおお!!!」いよいよあかん模様 [668970678]
- 


ぷよぷよ金メダルおめでとう!🏡



- ナビダイヤル、10月から通話料を値上げ。携帯電話からの発信は1分33円から44円に [663766621]
- 高市政府、支持率が急に回復! 識者「何かしらのプラス材料があった」😲 [518915984]
- 【高市悲報】10月から電気代15%アップwwwwwww [834922174]