いまやWebアプリの開発やデプロイにおいて、コンテナは欠かせないものになってきました。 コンテナ実行環境にも色々ありますが、その中でも支配的なのがDockerでしょう。 ですがDockerは、その構造上いくつかの問題も抱えています。 今回はDockerと互換性を持ちながらも、よりセキュアに運用できるPo…
はじめに WSL2(Windows Subsystem for Linux 2)は、Microsoft Windows上でLinuxカーネルを直接実行できるようにする機能です。 この記事ではWSL2環境にDockerを導入しGPUを用いた機械学習環境を構築する手順を紹介します。 構築イメージは以下の図の通りです。NvidiaGPUを搭載したマシンにWSL2環境を構築します。Dockerを用いてコンテナを用意し、CUDAは各コンテナ内のCUDA Toolkitを用いて利用します。 今回開発するPCのスペックは以下の通りです。 Windows 11 Windows version: 22H2 GPU:NVIDIA Geforce RTX 3060 12GB 設定 1. WSL2を有効化 デフォルトではWSL2環境が無効化されている可能性があるので、始めに有効化しておきましょう。 「コントロール
構築する開発環境について ここで構築する開発環境は次のようなものを考えています。 仮想化ソフトウェア (Hyper-V + WSL2 + VirtualBox) コンテナーソフトウェア (Docker Compose + Docker Engine) 開発エディタ (Visual Studio Code ) バージョン管理システム (Git + Git for Windows + Forgejo) CI/CD (githooks or Gitness or Woodpecker CI or GitBucket + gitbucket-ci-plugin or Jenkins) Intel N100 ミニ PC の特徴は低価格でありながら、仮想化機能を備えており、VirtualBox や Hyper-V といった仮想化ソフトウェアを動作できることが大きな魅力です。メモリ 16GB で SSD
無印 Pico はボードだけです。フラッシュもないので別途用意したマイクロ SD カードに OS を乗せる必要があります。 ほかの製品にはフラッシュメモリと Ethernet ポートがついています。 また、それぞれの製品にはピンヘッダがはんだ付け済みのものとそうでないものがあります。 Pro と MAX は最近発売されたものです。 無印 Pico や Pico Plus は公式の値段だと全然優位性ないのですが、 アリエクだと安く売られているので、値段によってはアリかと思います。 今回は Pico Plus を入手したので、いろいろ試してみたいと思います。 私が買ったときは送料込みで 1400 円ほどでした。 特徴RockChip の RV1103(または RV1106) を使った超小型マイコンボードです。 メイン CPU は Cortex-A7 の 1.2 GHz なので、無印 Raspb
Web版VSCodeがDockerコンテナをWASM環境で起動、Webブラウザ内ローカルマシンとして利用可能に。拡張機能「vscode-container-wasm」登場 WindowsやMacなどのデスクトップPCでVisual Studio Code(以下VSCode)を利用して開発をする場合、同じローカルマシン上でDockerコンテナのLinux環境を起動し、VSCodeのターミナルで接続して操作することは、開発環境としてよくあることだと思います。 これと同じことをWebブラウザ版のVSCodeでも実現する、すなわちWeb版VSCodeが同一Webブラウザ上にWebAssembly化したDockerコンテナを起動し、Web版VSCodeからローカルマシンとして接続し利用できる、実験的実装を実現したVSCodeの拡張機能「vscode-container-wasm」が登場しました。 V
blendOS# Arch Linux made declarative, immutable and atomic. With Android app support and Fedora, Debian, CentOS Stream and Ubuntu containers available, as well as system packages/DEs/kernels from Arch Linux and the AUR. Install blendOS Intro to blendOS Discord Telegram Matrix AnswerOverflow Other Socials Declarative blendOS v4 is fully declarative, allowing you to use custom packages, kernels, dri
この記事はKeployのバージョンv2.0.0-alpha53 を前提に執筆しております。 Keployとは KeployはeBPFを利用して取得できるWebアプリケーションの通信に関するトレース情報を元に、テストとそのテストの実行時に利用するスタブサーバーを生成することができるツールとなります。 公式サイトのトップには以下のようなスローガンが掲げられています。 2 minutes to 90% test coverage! テストに苦労した経験のある方は興味を惹かれるのではないでしょうか。 現在まだアルファ段階のプロジェクトですが、GitHubスター数は2683(2024/01/04現在)、CNCF Landscape にも掲載されているなど、一定の注目を集め始めているOSSです。 開発主体はプロダクトと同名のKeployというインド発のスタートアップで、去年GoogleによるインドのA
弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 シェルスクリプトの世界へようこそ! シェルスクリプトって何? シェルスクリプトは普段 Bash などのシェルで実行しているコマンドを並べて、まとめて実行できるようにしたものです。ファイルのバックアップ、ログファイルの解析、システムのセットアップなど、ターミナルで行っていた一連の作業をまとめてシェルスクリプトに記述することで、シェルスクリプトを実行するだけで自動的に一連の作業を終わらせることができるようになります。また、シェルスクリプトはファイルに保存することになるため、再利用するのも簡単になります。 シェルスクリプトで使うコマンドの多くは UNIX コマンドになると思います
はじめに しまねソフト研究開発センター(略称 ITOC)にいます、東です。 教育用ワンボードマイコンとして販売されている Raspberry Pi (以下ラズパイ)は、教育用のみならず実験用、産業用とさまざまな分野で使われつつあります。一方、マイクロSDカードをメインストレージに使用している事や、OSがクライアントPCよりの設定にしてある事などから、長期安定運用には向かない面も存在します。 このレポートでは、OSや稼働させるソフトウェアの設定など、できるだけ簡易に再現可能な方法により、可能な限りラズパイを安定して長期運用させることを狙います。また、その題材として、デジタルサイネージ(*)を作ってみます。 私は、2000年ごろからフラッシュメモリを使ったFA機器の開発を皮切りに、10年ほど前からは民生用フラッシュメモリ(CF,SD,USBメモリ)を起動デバイスとした機器を開発・運用していまし
Linux システムコールについて調べたことをまとめる。システムコールの仕組みを理解すると、 OS とアプリケーションがどのように連携して動いているのかを理解できるようになります。 システムコールは CPU に依存する処理が多いため、 x86_64 に絞ります。 検証環境]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ]# cat /proc/cpuinfo | head processor : 0 vendor_id : GenuineInte
本書では、小さなOSをゼロから少しずつ作っていきます。 OSと聞くと腰が引けるかもしれませんが、OS (特にカーネル) の基本機能は案外単純です。巨大なオープンソースソフトウェアとしてよく挙げられるLinuxでさえ、バージョン0.01はたった8413行でした。様々な要求に応えるために次第に肥大化していっただけで、当初は大変素朴な実装になっていました。 本書では素朴なコンテキストスイッチ、ページング、ユーザーモード、コマンドラインシェル、ディスクデバイスドライバ、ファイルの読み書きをC言語で実装します。これだけ様々な機能が詰め込まれているのに、コードは合計でたった1000行未満です。 「1000行なら1日でできそう」と思うかもしれませんが、初学者には少なくとも3日はかかるでしょう。OS自作のハマりポイントは「デバッグ」です。アプリケーション開発とは違うデバッグ手法・能力を習得する必要がありま
※在庫数欄の表記が『おひとり様○○点まで』となっている商品は、現時点で、おひとり様(1団体様)あたりのご提供数量を表記の数量へ制限させていただいている商品です。 ※記載する数量のご提供を保証する物ではございません。 ※ご提供数量の制限は、お取り寄せの場合にも適用されます。 ※売場欄に『お取り寄せ商品』と表示される場合、実店舗では保管していない商品です。詳細は店員にご確認くださいます様お願い申し上げます。 ※売場欄に『バックヤード』と表示される場合、店頭に陳列していない商品です。詳細は店員にご確認くださいます様お願い申し上げます。 ※表示在庫は流動的な物です。ご来店時の購入をお約束する物ではございません。 ※表示在庫に関わらず、商品により購入数量を制限している場合がございます。詳細は店頭にてご確認くださいます様お願い申し上げます。
章立て はじめに Docker・Container型仮想化とは Docker一強時代終焉の兆し Container技術関連史 様々なContainer Runtime おわりに 1. はじめに Containerを使うならDocker、という常識が崩れつつある。軽量な仮想環境であるContainerは、開発からリリース後もすでに欠かせないツールであるため、エンジニアは避けて通れない。Container実行ツール(Container Runtime)として挙げられるのがほぼDocker一択であり、それで十分と思われていたのだが、Dockerの脆弱性や消費リソースなどの問題、Kubernetes(K8s)の登場による影響、containerdやcri-o等の他のContainer Runtimeの登場により状況が劇的に変化している。本記事では、これからContainerを利用したい人や再度情報
ChatGPT の API が面白そうだったので気軽に触り始めたらすっかりのめり込んでしまいました。久々に新しいテクノロジーにワクワクしながら過ごしています。 どんなことができるのかと色々と試していたところ、GPT に Linux マシンを渡したらどんなことが起こるのだろうと思ったので gptask というコマンドラインツールを開発して色々と実験をしてみることにしました。 セットアップ まだ実験段階なので gptask は実行可能なバイナリやコンテナイメージは配布していません。そのため、使うにはまず Docker を使ったコンテナイメージのビルドが必要になります。Docker をすでにインストール済みの環境であれば、リポジトリをチェックアウトして次のようにしてコンテナイメージをビルドしてセットアップしてください。
はじめに この記事ではLinuxの新しいsandbox機構であるLandlockのサンプルの使い方を概説します。 詳細で正確な情報は公式のページ https://landlock.io/ やLinux kernelのソースコード中にありますので、必要な場合はそちらを参照してください。 サンドボックスが欲しいわけ 一般的なLinuxディストリビューションとスマートフォンOSの両方を使い、それぞれで様々なアプリを使っている方は大きな違いに気付くと思いますが、前者はユーザーのデータはホームディレクトリと呼ばれる共通のディレクトリに格納され、他のアプリのためのデータを自由に参照できます。それに対し、スマートフォンの場合は各アプリが独自のデータ領域を持ち、他のアプリのデータを参照するには手間のかかるプログラミングとユーザーの同意が必要になります(バイパスできてしまう場合は脆弱性とみなされます)。 L
Linuxにおけるデバイスファイルはデバイスをファイルという概念を通して扱えるようにしたものです。デバイスファイルは通常のファイルと同様に読み書きを行うことができます。しかし実際には、その読み書きはデバイスドライバを通じてデバイスの制御に変換されます。 この記事では、デバイスファイルへの読み書きがどのようにデバイスの制御に変換されるのかを説明します。デバイスファイルはデバイスドライバとファイルの2つのコンポーネントに依存したものであるので、最初にデバイスドライバ、次にファイルについて説明し、最後にデバイスファイルがどのようにデバイスドライバと結び付けられるかを解説します。 この記事の内容は主に詳解 Linuxカーネル 第3版及びhttps://github.com/torvalds/linux/tree/v6.1によります。 目次 デバイスドライバ デバイスドライバの実例 read_wri
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く