RSS

カテゴリー別アーカイブ: Linux

Chrome OS の Linux 開発環境に他のマシンからアクセスするには

Chrome OS では「Linux 開発環境」と呼ばれる仮想マシンで Debian 相当の Linux が利用できる。

しかし、この Linux は仮想マシン上で動いているので、独自の IP アドレスを持っていて他のマシンからのアクセスはできない。

しかし、「ポートフォワーディング」という機能を設定することにより、限定的ながら他のマシンから特定のポートを介して Linux 開発環境上に設けたサーバをアクセスできるようになる。

なお、この Linux 開発環境から外部のサーバへのアクセスは特別な設定をせずにアクセスできる。例えば、apt コマンドなどでモジュールのインストールや更新が可能である。

ポートフォワード設定方法

  • Chrome book の画面で「設定」ウィンドウを開く。
  • 「詳細設定」の下の方にある「デベロッパー」を開く。
  • 「ポート転送」を選ぶ。
  • 「追加」ボタンをクリックしてポート追加画面を開く。
  • アクセスを許可するポート番号を追加する。

これにより、追加したポートは Chrome OS のポートのように外部から扱えるようになる。

例えば、Chrome OS の IP アドレスが 192.168.1.5 で追加したポートが 8080 の場合、192.168.1.5:8080 として外部からアクセス可能になる。(ただし、セキュリティ設定によっては不可)

IP アドレスの確認 (参考)

「設定」画面でネットワークを選び、接続済みのルータを選ぶと、接続情報が表示されるが、その中に IP アドレスが含まれている。

 
コメントする

投稿者: : 2024/01/30 投稿先 ChromeOS, Linux

 

タグ: ,

WSL の Ubuntu 20.04LTS を 22.04LTS にアップグレードしてみた。

Windows 10 のときにインストールした WSL 上の Ubuntu 20.04LTS ですが、Windows 11 にアップグレードした後、Ubuntu も 22.04LTS がリリースされました。

そこで、この WSL 上の Ubuntu 20.04LTS から 22.04LTS にアップグレードしてみました。

参考にしたサイト

基本的に上のページの通りにしたらうまく行きました。

ただし、WSL の Ubuntu はリブートやパワーオフができないので、リブート指示の場面では、一旦、閉じてから開きなおしました。

下の画像はアップグレード後の確認画面です。

手順の概要

現 Ubuntu 20.04LTS を最新状態にする。

$ sudo apt update && sudo apt upgrade -y

再起動

WSL の Ubuntu は sudo reboot コマンドが動作しないので、画面をいったん閉じてから開きなおしました。

バージョン確認

この段階では 20.04LTS であることを確認します。

$ lsb_release -a

22.04LTS へのアップグレード開始

次のコマンドでアップグレードが開始されます。この後、時間がかかるので注意。

途中、続けるかどうかの質問が英語で表示されますが、エラーがない限り「了解」します。

$ sudo do-release-upgrade -d

バージョンの確認

アップグレードが終わると、再起動が求められますが、これは WSL ではできないので、画面をいったん閉じて開きなおします。

そして、”lsb_release -a” コマンドででバージョン確認を行い Description: Ubuntu 22.04 LTS になっていることを確認します。(上の画面参照)

 
コメントする

投稿者: : 2022/07/18 投稿先 アプリやWindows機能, Linux, Windows

 

タグ: , ,

Windows 11 WSL Ubuntu のインストール

Windows 11 に Ubuntu 22.04LTS をインストールしてみました。

Ubuntu のサポートページに沿ってやればいいのですが、これは英語版の例なので少し読み替えが必要です。

Install WSL

WSL をまずインストールする必要があります。これは、一種の仮想マシンでこの上に Ubuntu をインストールすることになります。

コントロールパネル (スタートにないときは検索) を開いて 「プログラム / プログラムのと機能」を開き、「Windows の機能の有効化または無効化」をクリックします。

項目一覧が表示されるので、下の方の「仮想マシンプラットフォーム」をチェックして OK をクリックします。

(注意) 「Linux 用 Windows サブシステム」もチェックしておいた方がよさそうです。(チェックしなくてもインストールできるが、ユーザとパスワード指定ができず root ユーザになってしまった)

Windows 機能

この後、Windows の再起動が必要になります。

Installation of WSL from the Microsoft Store

スタートの中から Microsoft Store を見つけて起動します。

検索ボックスに “Windows Subsystem” と入力して “Windows Subsystem for Linux Preview” を見つけてインストールします。

インストール直後にこれを起動しても、まだ Ubuntu が入ってないのでエラーになります。

Download Ubuntu

続けて、Microsoft Store の検索ボックスで “Ubuntu” と入力して、Ubuntu の 最新 LTS 版を見つけて、Ubuntu 本体をインストールします。

LTS 版は「長期サポート版」のことです。

Configure Ubuntu

インストールが終わったら Ubuntu の構成画面が開くので、ユーザ名とパスワードを指定します。

これは、忘れないようにメモしておきましょう。

これが終わると、コマンド入力が可能になります。

ここで、次のコマンドを打って Ubuntu を最新の状態にします。

  • sudo apt update
  • sudo apt full-upgrade

Install and use a GUI package

これは GUI 環境が必要な人だけ実行します。次のコマンドを入力して行うようですが、自分は GUI 環境が不要なので実行していません。

sudo apt install x11-apps

起動方法

スタートメニューに WSL (ペンギンのアイコン) を追加してもいいですが、Windows Terminal に Ubuntu が追加されているはずなので、そこからも起動できます。

(追記) Node.js のインストールは注意が必要

node.js をインストールするには注意が必要です。

普通にインストールすると npm がエラーとなって実行できません。

具体的にはマイクロソフトの記事「Node.js を Linux 用 Windows サブシステム (WSL2) にインストールする」を参照。

(追記) Python3 は標準で入っているが、pip は入れる必要がある

$ sudo apt install python-pip

(追記) .NET と PowerShell は apt コマンドで入らない

.NET と PowerShell は apt コマンドで入らないので、マイクロソフトの記事に基づいてインストールする必要がある。

 
コメントする

投稿者: : 2022/07/18 投稿先 アプリやWindows機能, Linux, Windows

 

タグ: , ,

Linux: USB メモリのフォーマット

試した環境: Ubuntu 22.04LTS

USB メモリを EXT4 にフォーマットしてみました。

スペシャルデバイスの確認

$ sudo fdisk -l で USBメモリがどのスペシャルデバイスなのか確認します。/dev/sda1 がUSBメモリのようです。

デバイス   起動 開始位置 最後から   セクタ サイズ Id タイプ
/dev/sda1           2048 30296063 30294016  14.4G  c W95 FAT32 (LBA)

パーティションの作成

次のコマンドでパーティションを作成します。

$ sudo cfdisk /dev/sda1

フォーマット

次のコマンドで USB メモリを EXT4 形式でフォーマットします。

試していませんが、EXT3 形式なら mkfs.ext3、NTFS なら mkfs.ntfs、FAT32 なら mkfs.fat32 となるようです。

$ sudo mkfs.ext4 /dev/sda1

マウント

あらかじめ作っておいたマウントポイント /mnt/usbmem にマウントします。なお、この名前は他のものでも構いません。マウントポイントはディレクトリなので sudo mkdir /mnt/usbmem のようにして作ります。

$ sudo mount /dev/sda1 /mnt/usbmem
$ ls /mnt/usbmem
lost+found

参考:ディスクフォーマット形式について

EXT4: Linux の標準的なフォーマット形式 (2022年時点)。Linux のディスクとして扱えるので、USBメモリをWindows などと共用しないなら一番便利。

EXT3: Linux の旧形式。USBメモリを古いバージョンのLinuxと共用する場合は便利。

NTFS: Windows のディスク形式。USBメモリをWindows と共用する場合はお勧めだが、ファイル所有者が常に root になるのでLinux側としては不便。

FAT32: 多くのデバイスに対応したディスク形式で容量制限が32GBまで。ファイル所有者が常に root になるのでLinux側としては不便。

EXFAT: 多くのデバイスに対応したディスク形式で容量制限がほぼないと考えてよい。その代わり、古いデバイスでは認識しないこともある。ファイル所有者が常に root になるのでLinux側としては不便。

 
コメントする

投稿者: : 2022/06/10 投稿先 Linux

 

タグ: , , ,

Ubuntu 22.04LTS を古いPCにインストールしてみた

3年前に購入した安い (性能が低い) PC に最近リリースされた Ubuntu 22.04LTS をインストールしてみました。(なお、この記事は 2002 年 5 月に書いています)

インストールした PC は

 HP280 Pro G4

という機種です。諸元は次の通り。

  • CPU : Celeron G4930
  • メモリ : 8GB (オリジナルは4GBだが8GBに増設)
  • ディスク : M.2 SSD 128GB
  • DVD ドライブ
  • USB 2.0、3.0
  • ネットワーク: 有線LAN 1Gbps (Wifi なし)
  • Bluetooth なし

Wifi と Bluetooth がないのは不便なので USB にドングルを挿している。

インストールメディアの作成

まず、”Ubuntu 22.04″ でググって Ubuntu のサイトから ISOイメージをダウンロードしました。

これを USB メモリや DVD-R に書き込んでインストールメディアを作りますが、この PC の場合は幸いなことに DVD ドライブが付いているので、インストール DVD を作りました。

このダウンロードファイルを単純に書き込むとインストールメディアにならないので、イメージとして書き込みます。

フリーで使える ISO Workshop というソフトをインストールしてあったので、これを利用してインストールメディアを作成しました。

DVD ドライブがないマシンだと USB メモリが必要になりますが、新品またはデータが空っぽのもので最低 4GB くらいのサイズが必要です。(8GBくらいあったほうが安心)

この場合もダウンロードしたファイルをただコピーするだけではダメで、インストールイメージを作るためのソフトが必要になります。(Rufus というのがポピュラーなようです)

インストール

インストールにはネットワーク環境が必要です。

このマシンは有線LANしかないので、LANケーブルをつないでおきます。

DVD をドライブにセットし、マシンを再起動します。

・・・しかし、Windows が起動してしまいました。

BIOS の設定変更が必要なようです。

HP の場合は F10 キーを押しながら再起動を行うと、BIOS 画面が表示されます。(一般的に会社ごとに異なるが、F10 や Delete キーが多い)

「ブート」という項目を探して、ブートデバイスの順序を変更します。この場合は DVD ドライブを先頭にします。

BIOS 画面を終了すると、自動的に再起動が開始されて DVD ドライブからアクセス音が聞こえてきました。

この後、インストールオプション画面が表示されるので、一番上のオプション (Try….) を選んで実行します。

この後がすごく時間がかかるので、しばらく別のことをしたほうがいいです。

「終わったかな」と思い、PC を見に行くと Ubuntu 画面が表示されていました。

この画面は「お試し画面」で、ディスク (SSD) へのインストールはまだ終わっていません。

画面左のアイコン一覧の一番上のアイコンあるいは右下の2つのアイコンの上のほうを選んで実行します。

この後、インストール先のディスク (Windows が入っている) を上書きするかどうか聞かれるので、上書きを実行します。

この後、しばらく時間がかかるので、お茶でも飲みながら別のことをします。

しばらくして、見に行くと Ubuntu 画面が表示されていれば OK です。

システムを最新版にアップデート

次のコマンドを実行してシステムを最新の状態にします。

sudo apt update
sudo apt -y upgrade

アプリなどのインストール

次にサーバ類やアプリケーションをインストールします。ここでは次のようなものをインストールしました。

サーバ

  • openssh-server
  • apache2
  • mariadb-server

アプリケーションなど

  • vim
  • g++
  • 7zip
  • git
  • python3
  • open-jdk (defaultバージョン)
  • PHP (+ mysqli + sqlite3 + mbstring)
  • sqlite3
  • VS Code
  • 好みのブラウザ
  • 好みのエディタ
  • 好みのペイントソフト
  • 好みのメディアプレーヤー
  • 好みのオフィス (Libre Office は最初から入っている)
  • 勉強したい言語やツール

終わったら、最後に apt upgrade しておきます。

動作環境の整備と動作確認

日本語ディレクトリ名を英語に戻す

インストールオプションで日本語を選択するとディレクトリ名も日本語になります。でも、端末でコマンド入力する場合など、IME を使う必要があり面倒です。

これを英語名にするには、次のコマンドを実行するだけです。(ホーム内のディレクトリ名を英語にする)

$ LANG=C xdg-user-dirs-update --force

独自ディレクトリの作成

ホーム内に次のようなディレクトリを作りました。

  • bin コマンドを置いておく。
  • temp 一時データ用
  • workspace 作業用
  • lib 共有ライブラリ用

.bashrc と .profile

 パスを通したりAliasの定義などを行う。

固定IP化と他の PC からのアクセス

次の記事を参考に行いましたが、インタフェース名 enp0s3 は違っていました。事前に “ip -4 a” コマンドなどで自分の環境はどうか確認しておきます。

https://linuxfan.info/ubuntu-2004-server-static-ip-address

具体的には “enp1s0” に変更しました。あとは固定 IP アドレス以外は同じです。

ウェブサイト

HTML の置き場は /var/www/html ですが、所有者・グループが “root” なのでアクセスするには sudo が必要です。面倒なら所有者・グループを変更してしまっても OK です。

MariaDB にユーザ用データベースを作る

$ sudo mysql

により、root として MariaDB にログインする。

以下のコマンドを打って、新規ユーザ ‘user’、データベース ‘user’ を作る。

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 32
Server version: 10.6.7-MariaDB-2ubuntu1 Ubuntu 22.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database user charset=utf8;
Query OK, 1 row affected (0.001 sec)

MariaDB [(none)]> create user 'user' identified by '********';
Query OK, 0 rows affected (0.005 sec)

MariaDB [(none)]> grant all on user.* to 'user';
Query OK, 0 rows affected (0.005 sec)

MariaDB [(none)]>

CGI

CGI の置き場は /usr/lib/cgi-bin です。これも所有者・グループが “root” なのでアクセスするには sudo が必要です。

以前は /var/www の下にあったのですが、その方がアクセスしやすいのでシンボリックリンクを作りました。

次のような CGI (hello.cgi) を上のフォルダに作り、chmod で実行権を与えてブラウザから開くと実行できました。

#!/usr/bin/env perl
print "Content-Type: text/html\n\n";
print "<h1>Hello, World!</h1>";

PHP

PHP は何もしなくても動作しましたが、phpinfo() を見ると MySQL, MBString, SQLite3 の拡張モジュールがなかったので、/etc/php/8.1/apache2/php.ini を修正してウェブサーバを再起動します。

修正方法は extension = mysqli などを検索してコメントを外します。

その他、timezone を Asia/Tokyo にしたり、必要なら include_path, extension_dir を設定します。

Wifi と Bluetooth

この PC にはイマドキには珍しく Wifi も Bluetooth も付いていなかったので、安い中華製アダプタを USB に挿しています。

最初は認識されず、ぜんぜん動かなかったのですが、翌日、電源を入れたら動くようになっていました。

ドライバのインストールに時間がかかったようです。

ただ、Wifi はアンテナがしっかり立っているにも関わらず、ときどきダンマリになる不具合が発生しました。

やはり、有線LANのほうがよさそうなので有線LANにもどしました。

Bluetooth は中華性の安い Bluetooth スピーカに接続できて音がなることは確認しましたが、やはりケーブルでつないだほうが安心できるので、音声ケーブル接続で使っています。

なお、Wifi も Bluetooth も「設定」の中にこれらの設定項目があります。サーバの場合は、どこかのテーブルをいじったりしないといけないので大変そうです。

 
コメントする

投稿者: : 2022/05/15 投稿先 Apache2, Linux, MySQL, PHP

 

タグ: , , , , ,

curl コマンドのメモ

HTML 取得 (GET メソッド)

curl http://127.0.0.1/ のように URL を指定する。

HTTP ヘッダ取得

-I オプションを付けるとヘッダだけ表示する。

curl http://127.0.0.1/ -I

フォーム (POST メソッド)

-XPOST オプションを付けると POST メソッドを使ってリクエストを行う。
-H オプションでヘッダを定義できる。
-d オプションでリクエストデータを定義できる。

curl -XPOST http://127.0.0.1/cgi-bin/Command/index.cgi -H “Content-Type: application/x-www-form-urlencoded” -d “c=Echo&text=ABCD”

REST (JSON)

JSON でリクエストを行い JSON でレスポンスを行う場合も POST とほぼ同じだが、Content-Type が “application/json” になり -d オプションの内容が JSON になる。

curl -XPOST http://127.0.0.1/cgi-bin/Command/postJSON.cgi -H “Content-Type: application/json” -d “{\”id\”:1000,\”title\”:\”HELLO\”,\”path\”:\”/home/user\”}”

 
コメントする

投稿者: : 2021/11/27 投稿先 Linux

 

Linux で iso イメージをマウント

server-memo.net の 「isoイメージをマウントする方法」を参照。

要点
mount -o loop -t iso9660 [isoイメージファイル] [マウント場所]
umount [マウント場所]


sudo mount -o loop -t iso9660 /tmp/dvd.iso /media/
sudo umount /media/

 
コメントする

投稿者: : 2021/07/31 投稿先 Linux

 

Bash: 大文字の拡張子を小文字に変換する

とあるディジタルカメラで撮った画像ファイルの拡張子が .JPG なのですが、一般的に画像ファイルの拡張子は .jpg を使います。

あるフォルダに入っているたくさんの JPEG ファイルの拡張子を .JPG から .jpg にしたいのですが、rename コマンドではうまくいきませんでした。

そこで、シェルスクリプトで行ったらうまくいきました。

#!/bin/bash
for fname in *.JPG; do
  mv $fname ${fname%.JPG}.jpg;
done
 
コメントする

投稿者: : 2021/07/26 投稿先 Linux

 

タグ: ,

Raspberry Pi4 に 外付け HDD をつないでみた。

Raspberry Pi4 ですが、ディスク領域に SD カードを使っているので、実用的に使うには外付け HDD が必須です。

次のようにしたら、無事接続できました。

sudo mkdir /mnt/hdd
sudo mount /dev/sda2 /mnt/hdd

/mnt/hdd はマウントポイントなので適当に変更してよい。

/dev/sda2 は環境によって変わるかもしれない。この HDD の場合は、/dev/sda1 は管理用パーティションだったため sda2 にデータ領域が割り当てられていた。

どんなパーティションがあるかは、sudo fdisk -l で表示できる。

 
コメントする

投稿者: : 2021/07/01 投稿先 Linux

 

Ubuntu 20.04LTS に Docker をインストールしてみた。

Ubuntu 20.04LTS に Docker をインストールしてみました。

まず、Install Docker Engine (docker.com の) を開きます。

Supported Platform の表で Ubuntu を選びます。

Installation methods の手順を素直に実行していきます。(注意) 何ステップもあります。

以下は、そのときのコマンド実行イメージです。

最後のほうに Hello from Docker! と表示されていますが、これは Docker が正しく動作していることを意味します。

user@asus:~$ sudo apt-get install \
apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
ca-certificates はすでに最新バージョン (20190110ubuntu1.1) です。
ca-certificates は手動でインストールしたと設定されました。
curl はすでに最新バージョン (7.68.0-1ubuntu2.1) です。
software-properties-common はすでに最新バージョン (0.98.9.2) です。
software-properties-common は手動でインストールしたと設定されました。
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
libfprint-2-tod1
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
apt-transport-https gnupg-agent
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
6,944 B のアーカイブを取得する必要があります。
この操作後に追加で 206 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://jp.archive.ubuntu.com/ubuntu focal-updates/universe amd64 apt-transport-https all 2.0.2ubuntu0.1 [1,708 B]
取得:2 http://jp.archive.ubuntu.com/ubuntu focal/universe amd64 gnupg-agent all 2.2.19-3ubuntu2 [5,236 B]
6,944 B を 2秒 で取得しました (2,940 B/s)
以前に未選択のパッケージ apt-transport-https を選択しています。
(データベースを読み込んでいます … 現在 213103 個のファイルとディレクトリがインストールされています。)
…/apt-transport-https_2.0.2ubuntu0.1_all.deb を展開する準備をしています …
apt-transport-https (2.0.2ubuntu0.1) を展開しています…
以前に未選択のパッケージ gnupg-agent を選択しています。
…/gnupg-agent_2.2.19-3ubuntu2_all.deb を展開する準備をしています …
gnupg-agent (2.2.19-3ubuntu2) を展開しています…
apt-transport-https (2.0.2ubuntu0.1) を設定しています …
gnupg-agent (2.2.19-3ubuntu2) を設定しています …
user@asus:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK
user@asus:~$ sudo apt-key fingerprint 0EBFCD88
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ 不明 ] Docker Release (CE deb) docker@docker.com
sub rsa4096 2017-02-22 [S]
user@asus:~$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
ヒット:1 http://archive.ubuntulinux.jp/ubuntu focal InRelease
ヒット:2 http://archive.ubuntulinux.jp/ubuntu-ja-non-free focal InRelease
取得:3 https://download.docker.com/linux/ubuntu focal InRelease [36.2 kB]
取得:4 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
取得:5 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages [3,056 B]
ヒット:6 http://jp.archive.ubuntu.com/ubuntu focal InRelease
ヒット:7 http://jp.archive.ubuntu.com/ubuntu focal-updates InRelease
ヒット:8 http://jp.archive.ubuntu.com/ubuntu focal-backports InRelease
取得:9 http://security.ubuntu.com/ubuntu focal-security/main amd64 DEP-11 Metadata [24.3 kB]
取得:10 http://security.ubuntu.com/ubuntu focal-security/universe amd64 DEP-11 Metadata [42.0 kB]
212 kB を 3秒 で取得しました (68.0 kB/s)
パッケージリストを読み込んでいます… 完了
user@asus:~$ sudo apt-get update
ヒット:1 http://jp.archive.ubuntu.com/ubuntu focal InRelease
ヒット:2 http://jp.archive.ubuntu.com/ubuntu focal-updates InRelease
ヒット:3 http://jp.archive.ubuntu.com/ubuntu focal-backports InRelease
ヒット:4 http://archive.ubuntulinux.jp/ubuntu focal InRelease
ヒット:5 http://archive.ubuntulinux.jp/ubuntu-ja-non-free focal InRelease
ヒット:6 https://download.docker.com/linux/ubuntu focal InRelease
ヒット:7 http://security.ubuntu.com/ubuntu focal-security InRelease
パッケージリストを読み込んでいます… 完了
user@asus:~$ sudo apt-get install docker-ce docker-ce-cli containerd.io
パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
libfprint-2-tod1
これを削除するには 'sudo apt autoremove' を利用してください。
以下の追加パッケージがインストールされます:
aufs-tools cgroupfs-mount pigz
以下のパッケージが新たにインストールされます:
aufs-tools cgroupfs-mount containerd.io docker-ce docker-ce-cli pigz
アップグレード: 0 個、新規インストール: 6 個、削除: 0 個、保留: 0 個。
85.3 MB のアーカイブを取得する必要があります。
この操作後に追加で 381 MB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://jp.archive.ubuntu.com/ubuntu focal/universe amd64 pigz amd64 2.4-1 [57.4 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu focal/universe amd64 aufs-tools amd64 1:4.14+20190211-1ubuntu1 [104 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu focal/universe amd64 cgroupfs-mount all 1.4 [6,320 B]
取得:4 https://download.docker.com/linux/ubuntu focal/stable amd64 containerd.io amd64 1.2.13-2 [21.4 MB]
取得:5 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-ce-cli amd64 5:19.03.12~3-0~ubuntu-focal [41.2 MB]
取得:6 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-ce amd64 5:19.03.12~3-0~ubuntu-focal [22.5 MB]
85.3 MB を 10秒 で取得しました (8,838 kB/s)
以前に未選択のパッケージ pigz を選択しています。
(データベースを読み込んでいます … 現在 213111 個のファイルとディレクトリがインストールされています。)
…/0-pigz_2.4-1_amd64.deb を展開する準備をしています …
pigz (2.4-1) を展開しています…
以前に未選択のパッケージ aufs-tools を選択しています。
…/1-aufs-tools_1%3a4.14+20190211-1ubuntu1_amd64.deb を展開する準備をしています …
aufs-tools (1:4.14+20190211-1ubuntu1) を展開しています…
以前に未選択のパッケージ cgroupfs-mount を選択しています。
…/2-cgroupfs-mount_1.4_all.deb を展開する準備をしています …
cgroupfs-mount (1.4) を展開しています…
以前に未選択のパッケージ containerd.io を選択しています。
…/3-containerd.io_1.2.13-2_amd64.deb を展開する準備をしています …
containerd.io (1.2.13-2) を展開しています…
以前に未選択のパッケージ docker-ce-cli を選択しています。
…/4-docker-ce-cli_5%3a19.03.12~3-0~ubuntu-focal_amd64.deb を展開する準備をしています …
docker-ce-cli (5:19.03.12~3-0~ubuntu-focal) を展開しています…
以前に未選択のパッケージ docker-ce を選択しています。
…/5-docker-ce_5%3a19.03.12~3-0~ubuntu-focal_amd64.deb を展開する準備をしています …
docker-ce (5:19.03.12~3-0~ubuntu-focal) を展開しています…
aufs-tools (1:4.14+20190211-1ubuntu1) を設定しています …
containerd.io (1.2.13-2) を設定しています …
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /lib/systemd/system/containerd.service.
docker-ce-cli (5:19.03.12~3-0~ubuntu-focal) を設定しています …
pigz (2.4-1) を設定しています …
cgroupfs-mount (1.4) を設定しています …
docker-ce (5:19.03.12~3-0~ubuntu-focal) を設定しています …
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.
Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket.
systemd (245.4-4ubuntu3.2) のトリガを処理しています …
man-db (2.9.1-1) のトリガを処理しています …
libc-bin (2.31-0ubuntu9) のトリガを処理しています …
user@asus:~$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:7f0a9f93b4aa3022c3a4c147a449bf11e0941a1fd0bf4a8e6c9408b2600777c5
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
The Docker client contacted the Docker daemon.
The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/

この後、必要なら Post-installation steps for Linux を実行します。これは、Ubuntu 起動時に自動的に Docker も走らせるとか、ユーザを root 以外にするため、グループを作るとかの内容が書かれています。

次に実際に Docker イメージ (Hello World 以外の実用的な) をインストールしてみます。

DockerHub に実用可能な Docker イメージが多数アップロードされているので、そこから適当なものをダウンロードしてインストールしてみます。

このとき、ユーザ登録が必要です。

ここでは、MongoDB をダウンロードしてみました。

画面右手の Copy and paste to this image に出ているコマンド “docker pull mongo” をコピーして実行します。

user@asus:~$ sudo docker pull mongo
Using default tag: latest
latest: Pulling from library/mongo
7595c8c21622: Pull complete
d13af8ca898f: Pull complete
70799171ddba: Pull complete
b6c12202c5ef: Pull complete
f8718c532d71: Pull complete
9035443a91bc: Pull complete
93ca553166d9: Pull complete
bc866a5c284c: Pull complete
6faca936e7b3: Pull complete
1dc2a767b81f: Pull complete
56dee77e3145: Pull complete
b967fd908de0: Pull complete
7cd9ac470a46: Pull complete
Digest: sha256:fe8d42050f2bab7100b729fc658c570e165e7fe6367e5af6836c4850ac35616c
Status: Downloaded newer image for mongo:latest
docker.io/library/mongo:latest
user@asus:~$ sudo docker run mongo
{"t":{"$date":"2020-08-17T04:01:45.098+00:00"},"s":"I", "c":"CONTROL", "id":23285, "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}
{"t":{"$date":"2020-08-17T04:01:45.117+00:00"},"s":"W", "c":"ASIO", "id":22601, "ctx":"main","msg":"No TransportLayer configured during NetworkInterface startup"}
{"t":{"$date":"2020-08-17T04:01:45.118+00:00"},"s":"I", "c":"NETWORK", "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."}
{"t":{"$date":"2020-08-17T04:01:45.120+00:00"},"s":"I", "c":"STORAGE", "id":4615611, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":1,"port":27017,"dbPath":"/data/db","architecture":"64-bit","host":"7a6a05acf7b7"}}
{"t":{"$date":"2020-08-17T04:01:45.120+00:00"},"s":"I", "c":"CONTROL", "id":23403, "ctx":"initandlisten","msg":"Build Info","attr":{"buildInfo":
..............
..............

別のターミナルで、MongoDB が動作しているか確認します。

 
コメントする

投稿者: : 2020/08/17 投稿先 Linux

 

タグ: