【Docker】Oracle Linuxコンテナ起動手順とSSH接続まで

「CentOS」の代替候補の一つと言われているLinuxOS「OracleLinux」をDockerコンテナで構築してみました。

前回、「AlmaLinux」のコンテナ構築もしているので参考にしてください。

「Docker」OracleLinuxコンテナ構築手順

Dockerで構築する「OracleLinux」コンテナは以下の公式イメージからダウンロードします。
https://hub.docker.com/_/oraclelinux

コンテナ起動までの手順は以下でまとめました。

「OracleLinux」コンテナイメージダウンロード

「docker pull」コマンドで公式イメージをダウンロードします。
OracleLinuxは「latest」タグがないので、タグなしでpullコマンドを実行すると、エラーとなりダウンロードができません。

公式ページに表記されているタグのバージョンを確認し、ダウンロードします。
今回は「8.4」でダウンロードを実行した例となります。

$ docker pull oraclelinux:8.4
8.4: Pulling from library/oraclelinux
a21928abdd01: Pull complete                                                                                             Digest: sha256:d9d9039c7b33c3c7a163486733665065463a4371b71bcf73a707ef033c06232b
Status: Downloaded newer image for oraclelinux:8.4
docker.io/library/oraclelinux:8.4

「OracleLinux」のイメージがダウンロードされたことを確認します。

$ docker images
REPOSITORY                 TAG       IMAGE ID       CREATED        SIZE
oraclelinux                8.4       845809d06ce6   34 hours ago   247MB

「OracleLinux」コンテナ起動

次に公式イメージから「OracleLinux」コンテナを起動します。

システムデバイスにアクセスできるように、オプション「–privileged」を付与し、「/sbin/init」で起動します。
また、ssh接続もできるように「-p 1222:22」を付与しました。

$ docker run -itd --privileged -p 1222:22 --name oraclelinux --hostname oraclelinx oraclelinux:8.4 /sbin/init
61a078dba3357c43d1020a3386c457646825951448379bdd3c7403b7c684a4ca

「docker ps」コマンドで「OracleLinux」コンテナが起動したことを確認します。

$ docker ps
CONTAINER ID   IMAGE              COMMAND        CREATED         STATUS         PORTS                                   NAMES
dd34b14d1ab2   oraclelinux:8.4    "/sbin/init"   5 seconds ago   Up 3 seconds   0.0.0.0:1222->22/tcp, :::1222->22/tcp   oraclelinux

「OracleLinux」コンテナへアクセス

コンテナ起動後、「OracleLinux」コンテナへアクセスします。

$ docker exec -it oraclelinux /bin/bash
[root@oraclelinx /]#
[root@oraclelinx /]#

コンテナアクセス後、以下コンテナのアップデートを実行します。

[root@oraclelinx /]# dnf -y update
[root@oraclelinx /]# dnf -y upgrade

「OracleLinux」コンテナへSSH接続

次に「OracleLinux」コンテナへSSH接続を実施します。
「OracleLinux」コンテナ起動時はすでに「sshd」サービスは起動しているようです。

[root@oraclelinx /]# systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-07-14 07:43:35 UTC; 7min ago
     Docs: man:sshd(8)
           man:sshd_config(5)

------中略------

Jul 14 07:43:35 oraclelinx systemd[1]: Starting OpenSSH server daemon...
Jul 14 07:43:35 oraclelinx sshd[61]: Server listening on 0.0.0.0 port 22.
Jul 14 07:43:35 oraclelinx sshd[61]: Server listening on :: port 22.
Jul 14 07:43:35 oraclelinx systemd[1]: Started OpenSSH server daemon.

ssh接続前にコンテナでrootパスワードを新規作成します。

[root@oraclelinx /]# passwd
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

コンテナからログアウトし、以下でコンテナにssh接続を実施します。
パスワードは上記で設定したものとなります。

$ ssh -p 1222 root@localhost
root@localhost's password:
[root@oraclelinx ~]#
[root@oraclelinx ~]#
[root@oraclelinx ~]#

正常にコンテナにSSH接続ができれば完了となります。
「OracleLinux」コンテナの起動・SSH接続までは以上となります。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!