前の記事:golangとDockerとOOM を書いた後で Go側の事情に変化があったため、 あの記事に書かれた方法は現実的な選択肢ではなくなってしまいました。 この記事では私が使っているGo 1.14以降でのOOM対策と、 どうしてそうせざるを得なかったのか解説をお届けします。 TL;DR Goの64ビット版はVSZの最小要求量が大幅に拡大した (500MB超) 前の記事で紹介した方法が現実的ではなくなった VSZの制限をRSSに転用する=最低でも500MBのRSSを設定することになる 代わりに自プロセスのRSSを監視して閾値を超えたらアポトーシスするようにした RSS取得用のkoron-go/phymemパッケージを作成した Background あの記事を書いた翌月末にGo 1.14がリリースされました。 その変更点の中に以下の記述があります。 The page allocator
こんにちは、あるいはこんばんは。だいたいサーバサイドのエンジニアの(@taclose)です☆ もうあと1か月でISUCON13ですね!お祭りですね! という事で、今日はWindows上でISUCONの環境を構築して、是非練習してもらえたらなと記事を書きました! これを参考にしながら是非、みなさんもトライしてみてください! 読者ターゲット 前書き 手順1:Docker Composeを使えるようにする(Rancher Desktopのインストール) 手順2:WSL2(Ubuntu 22.04)を準備する 手順3:WSL2上でdockerのプロセス操作が出来るようにする IntegrationsにUbuntuが表示されない方 手順4:Ubuntuのセットアップ 手順5:ISUCON11の環境構築 ISUCON11をforkする ISUCON11のclone~起動まで ISUCON11を触ってみ
3年くらい前にWEB屋の自分が機械学習株価予想プログラムを開発した結果 | マサムネットって記事を書いたっきり、機械学習にも株にもあんまり手を付けていなかったのですが、この年末年始、思い切っていろいろ進めてみました。 それで、なかなかに良い感じの結果が得られたので、そのままサービスとして稼働するまでに至った技術的経緯を書いていきます。 サービスそのものへのリンクは、有料サービスですので宗教上の理由などでリンクしたら見られない人もいるかと思いますのでここには張りません。個人的な考えとしては、技術者が適切に稼げる仕組みを作っていくことは重要だと思いますが、つまりは有料だろうと成果物であるサービスへの案内くらい張ったらええやんと思うんですがここではそういうことを論じる場ではありませんのでとにかくサービスそのもののリンクは控えておこうと思います。とはいえ、実際のサービスを見ないと判断しようが無いと
Apple Silicon上でLinux向けx86_64の環境が欲しくなったり、x86_64向けのバイナリやイメージを作らないといけなくなる事態は、稀に良くあると思う。 colimaを使うと、Aarch64なMac上であっても、かなり楽にx86_64のLinux環境とDocker環境が手に入る。 最近のcolimaには実は --arch というオプションがあり、x86_64又はaarch64であればあっさりと環境を作ることができるようになっている。 デフォルトで入ってくる環境と区別するため --profile オプションを明示する必要がある。 $ colima --profile colima-x64 start --arch x86_64 colimaの作ったDockerインスタンスは colima list で一覧できる。 $ colima list PROFILE STATUS AR
はじめに 本記は「Dockerをこれから触ろう/学ぼうとしている人向け」の記事になります! Dockerの歴史 実際にDockerを動かすハンズオン が記載されています! Dockerとは そもそもDockerて何もの? 一言でいうと、「軽量な仮想環境」を構築するツールです。 今までエンジニアが開発を行う際、「Hyper-V」や「Vagrant」「VirtualBox」など、PC上に仮想のPCを作成する仮想化ツール( ハイパーバイザー型)を利用してきました。 便利な上記のツールですが、それらは皆大きな課題を抱えていました。 「環境構築に時間がかかる」「起動にも時間がかかる」「ファイルサイズが大きい」 そんな課題を解決してくれるのが、Dockerというコンテナ型の仮想化技術です。 従来のハイパーバーザー型の仮想化技術とは違い、アプリケーションの実行をホストOSが行っているため、「GuestO
kind は Kubernetes クラスターを Docker 上で動かすツールです。 github.com コンテナオーケストレーションツールである Kubernetes 自体をコンテナ上で動かす・・ちょっとイメージしづらいですが、コンテナをノード *1 として利用することで、Minikube のようなシングルノードではない真のマルチノードが構成できて、コンテナ仮想化の恩恵により構築も速い。要らなくなったらサクッと消せる Immutable なクラスター環境が手に入ります。 Docker Desktop for Mac 環境に kind をインストールします。Docker Desktop の Kubernetes は無効化しておきます。kubectl も最新版をインストールしておきました。 kubernetes.io kind コマンドを実行するユーザが sudo なしで docker
What’s Changed Since the Tech Preview Earlier this year, we released a technical preview of our vision for the future of Docker development on Windows using WSL 2. We received lots of feedback from Windows Insiders via different channels, and collated common failure cases. We also used it ourselves a lot, and took the time to evaluate its architecture. Based on this analysis, we worked hard to red
背景 jwilder/dockerize: Utility to simplify running applications in docker containers ufoscout/docker-compose-wait: A simple script to wait for other docker images to be started while using docker-compose この辺は全部試したが, PHP から接続しようとすると Connection Refused が多発する。TCP で接続可能になってから実際に利用可能になるまで若干のラグがあるため,もっと確実な方法を探していた。 対処法 sh -c 'docker-compose logs -f <MySQLコンテナ名> | { sed "/\[Entrypoint\]: MySQL init proces
We’re thrilled to announce the General Availability of Docker Compose Version 2 (aka V2)! We launched the first version of Compose V2 in June of 2021. Thanks to your feedback, we’ve made numerous improvements since our initial rollout — and have seen a steady increase in adoption over the last 10 months. We’re hearing a lot of good things about V2! Currently, 78% of Docker Compose users running t
分散Erlangシステムを楽しむには複数のPCがあるといいのですが、それだと準備が大変で敷居を高く感じるかもしれません。 Dockerを使えば一つのPC上に複数の仮想ホストを簡単に立ち上げられます。それらを別々のPCに見立てれば、気軽に遊べるのではないでしょうか。 やりたいこと Dockerで仮想Linuxマシンを三つ起動してそれらを別々のPCと見立てる それぞれの仮想Linuxマシンでノードを起動する すべてのノードを接続 後は自由に遊ぶ ノードとは 分散Erlangのドキュメントによると A distributed Erlang system consists of a number of Erlang runtime systems communicating with each other. Each such runtime system is called a node. 分散
みなさん、こんにちは! AWS事業本部の青柳@福岡オフィスです。 前回、前々回と、ARMアーキテクチャの「Graviton2」と Docker のネタをお送りしましたが、今回は第3弾をお届けします。 前回のブログ記事 の中で、Docker Hubの「マルチCPUアーキテクチャサポート」について紹介しました。 前回は 「マルチCPUアーキテクチャ」に対応しているDocker Hubの公式イメージをプルして利用する という流れでした。 今回は一歩進んで 「マルチCPUアーキテクチャ」に対応するDockerイメージを自分でビルドしてDocker Hub上に公開する という一連の作業を試してみたいと思います。 「マルチCPUアーキテクチャサポート」とは? Docker Hubにおける「マルチCPUアーキテクチャサポート」とは、x86 (AMD64) やARM64など複数のアーキテクチャ向けのイメー
この記事は新野淳一氏のブログ「Publickey」に掲載された「ローカル環境を汚さずDockerコンテナのオーバーヘッドもなく、開発環境を自在に構築できる「Devbox 0.2.0」登場」(2022年12月22日掲載)を、ITmedia NEWS編集部で一部編集し、転載したものです。 Dockerコンテナの技術を用いることで、プログラミング言語のランタイムやライブラリ、ミドルウェアなどの開発環境一式を比較的容易に導入することが可能になりました。 ただしDockerコンテナにもファイルシステムのオーバーヘッドなどがあり、Dockerコンテナ内の開発環境ではコンパイルなどに時間がかかってしまう場合があったと開発ツールベンダのJetpack Technologiesは自社の経験から指摘します。 そこで同社がオープンソースで開発しているのが「Devbox」です(ちなみにMicrosoftによる仮想
以下を実現するGithub Actionsを作る方法を紹介する。 Dockerイメージのビルドには BuildKit を使う Github Actionsのもつキャッシュの仕組みを有効にする DockerイメージのタグにはYYYYMM-(コミットハッシュの頭7桁)のように、コミットごとにユニークになる値を使う mainブランチをビルドする際には、latestタグも付与する このBuildKitとGithub Actionsのキャッシュを組み合わせる方法は、Dockerの公式ドキュメントに、Optimizing the workflow として掲載されている。 これに自分のアレンジを加えた方法として紹介する。 まず、BuildKitを有効にするには、以下のdocker/setup-buildx-action@v1を先に組み込む。 - name: Set up Docker Buildx id
Dockerfiles are fundamental tools for developers working with Docker, serving as a blueprint for creating Docker images. These text documents contain all the commands a user could call on the command line to assemble an image. Understanding and effectively utilizing Dockerfiles can significantly streamline the development process, allowing for the automation of image creation and ensuring consiste
私は今回の件より前から CircleCI を使っておらず、最近は主に GitHub Actions でCIを構築していてこの件で被害は被っていないのだけど、軽く調べてみたところ Android project を JDK 9+ でビルドすることに強い興味をを持っている自分には結構興味深いことがわかったのでもう少し詳細に調べてまとめることにした。 何があったの 日本時間で 2020-08-18 のお話 CircleCI の Android Docker Image が更新され、JDK 8 ベースから JDK 11 ベースになった*1 これらの image を使ってCIを行っている Android project でビルドが失敗するものが発生した Twitter が少し賑やかになった 原因1: なぜビルドが失敗するようになったの この blog を書き始めてから調べて知った付け焼き刃な部分もあ
Last year we announced that Docker had released a preview of Docker Desktop with WSL 2 integration. We are now pleased to announce that we have completed the work to enable experimental support for Windows Home WSL 2 integration. This means that Windows Insider users on 19040 or higher can now install and use Docker Desktop! Feedback on this first version of Docker Desktop for Windows Home is welc
The latest release series of BuildKit, v0.11, introduces support for build-time attestations and SBOMs, allowing publishers to create images with records of how the image was built. This makes it easier for you to answer common questions, like which packages are in the image, where the image was built from, and whether you can reproduce the same results locally. This new data helps you make inform
PKIベースでAWSのIAMロールを使える IAM Role Anywhereが発表されました。早速使えるようだったのでOpenSSLでCA構築して使ってみた手順を残しておきます。 環境汚さないためにDocker使っています。 AWS Identity and Access Management introduces IAM Roles Anywhere for workloads outside of AWS What is AWS Identity and Access Management Roles Anywhere? - IAM Roles Anywhere Extend AWS IAM roles to workloads outside of AWS with IAM Roles Anywhere | AWS Security Blog [HostOS] RootCA用のDo
【Django】VSCode+RemoteContainersを使ってDjangoのコンテナ(Docker)開発環境をサクっと構築するPythonDjangoDockerPython3VSCode はじめに RemoteContainers、とても便利ですよね。おかげでPyCharmからVSCodeに浮気しそうです。 Django+RemoteContainersについて書かれた記事が無かったので、最小構成でDjango開発環境を構築する手順を投稿します。 RemoteContainersとは 超簡単にコンテナを作成・接続することができるVSCodeの拡張機能です。 Dockerコマンドを一つも手打ちすることなく環境構築を終わらせることができます。 この記事を読む分にはその程度の理解で問題ありません。 事前準備 1.Dockerfileを用意する python:3.8のイメージを使用すれば
Docker and GitHub continue to work together to make life easier for developers. GitHub today announced a new container registry: GitHub Container Registry. GitHub and Docker both occupy essential components in the developer workflow for building and deploying cloud native applications so we thought we would provide some insight into how the new tooling benefits developers. Found at ghcr.io, the ne
原文: Container Image Retention Policy | Docker https://www.docker.com/pricing/retentionfaq こちらに書かれている内容を把握するためのものです。 TL;DR(今北産業) Docker Hub の Free プランは、6ヶ月間使っていない(inactive)イメージが削除対象で、2020 年 11 月 1 日から適用 「inactive」タグとは、一定期間(現在の Free プランは 6ヶ月間)使われていないイメージ(pullもpushもしていない)が対象 Docker Hub の容量は 15PB で、半年以上使われていないイメージが 4.5PB →運用最適化とサービス強化のため実施 コンテナ・イメージ保管ポリシー (Container Image Retention Policy) FAQ Docker
Docker is pleased to announce that we have created a new open community to develop the Compose Specification. This new community will be run with open governance with input from all interested parties allowing us together to create a new standard for defining multi-container apps that can be run from the desktop to the cloud. Docker is working with Amazon Web Services (AWS), Microsoft and others i
🆙 2021/03/21 docker公式アクションを使ってイメージを作る記事を書きました sminamot-dev.hatenablog.com 🆙 2020/06/20 crazy-max/ghaction-docker-buildx の利用をv1 -> v3に更新 あらすじ 前回おうちk8sの環境がめでたく整いました 🎉 sminamot-dev.hatenablog.com さて何か動かすためにDockerイメージを作ろ、と思ってまずは適当に以下のような(なんの意味もない)イメージを作りました FROM alpine:3.11 ENTRYPOINT ["echo", "hogehoge"] Macでビルド後DockerHubに上げて、いざラズパイ上で動かしてみると… $ sudo docker run --rm sminamot/multi-arch-sample stand
Dockerが手放した「Docker Enterprise」が、Mirantisから「Docker Enterprise 3.1」として登場 Docker社は、それまで自社製品として企業向けに販売していたコンテナ基盤ソフトウェア「Docker Enterprise」と関連ビジネスを、2019年11月にMirantisに売却しました。 そしてDocker社は現在、Docker DesktopとDocker Hubを中心としたデベロッパー向けツールにフォーカスしています。 参考:Docker社が新戦略を明らかに。Docker Desktopの拡張によってコンテナ開発を容易に、Docker Hubを開発エコシステムの中核にすると 一方のMirantisは、もともとOpenStack専業のシステムインテグレータとして登場し、その後もクラウド基盤構築を中心とするビジネスを展開。そのMirantisが
普通に Docker を使っている分にはあまり気にしなくてもいい領域だが、Docker in Docker などの使い方をすると、ここらへんの知識がないと理解できない。ので、そこらへんをまとめた記事。 Docker Engine は、主に以下の 3 つのコンポーネントからなるクライアントサーバー型アプリケーションです。 1. サーバー。長時間稼動する種類のプログラムでありデーモンプロセスと呼ばれる( dockerd コマンド)。 2. REST API。プログラムとデーモンとの間での通信方法を定義し、何をなすべきかを指示する。 3. コマンドラインインターフェース(command line interface; CLI)クライアント( docker コマンド)。 1が右の Docker で、3が左の Docker で、2は真ん中の矢印。 いつもdocker runとかdocker buil
こんにちは、優勝しました。 背景 Juliaを使おうとしたら様々な環境構築時のトラブルに見舞われました。終わりです。 使えるけどストレスなところ グラフの描画が遅い matplotlibと比較してしまう PyPlotが使えない -> ローカルPCのpyenvのせい Plotsを使うことにした グラフを描画しても画像に焼いてブラウザから見るしかなかった 困ったこと pkgのインストールにたまに失敗する すでに削除したはずのpkgが原因で実行時にエラーがこびりつく これらは全部ローカル環境でJuliaを使おうとしているために起こる問題です。原因解決するのも時間かかるし、将来的なことを考えてDockerを使うことを決意しました。 Dockerの構成 全部Jupyter Labに投げる方針です。Jupyter公式のイメージを持ってくるだけで、Python、Julia、Rが使えるらしいです。 Doc
はじめに DockerでWasmを実行できるDocker+Wasmがテクノロジープレビューとして発表されました。 公式ドキュメントにはDocker Desktopのバイナリしか公開されていませんでしたが、GitHubリポジトリにWasm対応のDocker Engineをインストールする方法がありました。 個人アカウントのリポジトリですが、Docker社の人がCloud Native Wasm Day North America向けにつくったリポジトリのように思われます。 本記事は、上記の方法でWasm対応のDocker Engineをインストールして試した結果のまとめになります。 環境 ホストOS:Ubuntu 22.04.1 作業ログ 以下を参考にインストールを進めます。 Docker+Wasmのインストール 前提条件 以下がインストールされていること Docker Docker Com
Docker Desktopとは 最近のトレンドのひとつに「コンテナ」があります。高速に独立したアプリケーション実行環境を作れる「Docker」は、アプリ開発者からシステム運用者まで、幅広く活用されているソフトウェアです。 DockerをMacやWindows上で簡単に扱えるよう、Dockerデーモン、CLIコマンド、GUIフロントエンド等々とあわせてパッケージングしたプロダクトが「Docker Desktop」です。そのDocker Desktopが、最近ついにLinuxに対応しました。 Dockerなら昔からLinux上で動くし、パッケージも用意されているし、別にGUIとかいらないし、何の意味があるかわからないよ……という方も多いでしょう。またDocker Desktopが有料化されたというニュースを聞いて、抵抗を感じる方もいるかもしれません。 結論から言ってしまうと、Docker D
2020年11月に発表されたMacBook Airから搭載されているM1チップというCPUがあります。こちらは従来のMacに搭載されていたCPUがx86/64の命令セットとは異なり、ARMアーキテクチャを採用しているという違いがあります。発売から1年以上たち、インテル製のCPUを搭載したMacがラインナップから無くなったので、次もしMacを購入するとなるとM1チップ搭載のMacを購入することになります。 今回は、その際に問題が起こりがちなDockerでの開発環境の構築について、紹介していきたいと思います。 DockerでMySQLを動かしてみる まずは、dockerコマンドでMySQLを指定して動かしてみようと思います。 % docker run -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest Unable
M1搭載Macの環境を汚さずにDeep Learningしたい!(Docker, PyTorch, TensorFlow, VSCode, Jupyter)MacDeepLearningDockerVSCodeM1 DockerでDeep Learningしたいが、、、 せっかく新しく買ったM1搭載Macなのだから、環境はできるだけ汚さずに開発したいなぁ、という方は少なくないと思われます。 環境をクリーンに保つ方法の一つがDockerですけれども、 Deep Learningに必要なPyTorchとTensorFlowを両方利用できるいいarm64用Dockerイメージが見つからなかったので、なければ作れということで、作ってみました。 (PyTorchのビルドは何の苦労もなくできましたが、TensorFlowのビルドが辛いこと辛いこと、、、ビルドを開始して数時間経過後にエラーやらOut o
Docker Compose Watch, a tool to improve the inner loop of application development, is now generally available. Hot reload is one of those engineering workflow features that’s seemingly minor and simple but has cumulative benefits. If you can trust your app will update seamlessly as you code, without losing state, it’s one less thing pulling your focus from the work at hand. You can see your fronte
In the ancient times of containers (really more like 4 years ago) Docker was the only player in the container game. That's not the case anymore though and Docker is not the only, but rather just another container engine on the landscape. Docker allows us to build, run, pull, push or inspect container images, but for each of these tasks there are other alternative tools, which might just do better
フォトグラメトリとは? 最近,このような動画がバズっていました. 鎌倉、銭洗弁天をまるごとVR化! 建築デジタルアーカイブの試み。 リプ欄からVR体験可能です。#Photogrammety pic.twitter.com/Qsf3ZwjQDM — 龍 lilea (@lileaLab) May 21, 2019 鎌倉の銭洗弁天という場所を"フォトグラメトリ"という技術を用いて作られたようです. フォトグラメトリとは、物体を様々な方向から撮影した写真をコンピューターで解析し、3Dモデルを立ち上げる技術です。 フィギュアのような小さなものから、建築や都市といった大きなものまで3Dモデルにすることができます。 引用:フォトグラメトリ入門 撮影方法~3Dモデル作成 ざっくりというと,写真から3Dモデルを生成する技術です. 最近,私がxRTech Tokyoに参加し,そういや,3か月前くらいにOSS
米クラウドサービスのMirantisは11月13日(現地時間)、米コンテナ管理サービスのDockerから「Docker Enterprise」事業を買収したと発表した。買収総額などの詳細は公表されていない。Dockerは同日、米Benchmark Capitalなどから3500万ドル(約38億円)の出資を受け、開発者向けビジネスにフォーカスしていくと発表した。 Docker EnterpriseはDockerの主力サービスだったが、同社は発表文で、立ち上げ以来中核としてきた開発者事業と成長中のエンタープライズ事業は非常に異なるビジネスであるため、エンタープライズ事業を手放して開発者事業に集中すると説明した。 Dockerは現在CTO(最高技術責任者)を務めるスコット・ジョンストン氏をCEOに指名し、新たな体制下でDocker DesktopおよびDocker Hubに注力していく。 Mir
はじめに ここでは VS Code 開発コンテナー用カスタム Docker イメージの開発方法について説明します。 動作確認は Linux 環境を使っているため、Windows や macOS とは違っている場合があります。できるだけ Docker が動作する環境であれば動くようにはしています。 この記事の対象者の前提は下記となります。 Visual Studio Code(VS Code)が使えること Docker が使えること Node.js で NPM を使ったパッケージ管理について基本的なことを知っていること Docker Compose の基本的な使い方を知っていること Linux の基本的な使い方を知っていること 使用する環境は下記です。 Visual Studio Code Docker 拡張機能: ms-azuretools.vscode-docker Dev Contai
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く