SSH接続できるDockerコンテナを作成したので、その手順をまとめておく。
環境
Docker Desktop(Windows10 Pro)。
Dockerイメージ
今回はDocker HubにあるDocker公式のCentOS7イメージ(centos:centos7)を使う。Docerfileを用意してこのイメージにOpenSSHをインストールし、SSHの設定を変更する。変更する設定はrootでのログイン許可、ポートを20022に変更するなど。
FROM centos:centos7
RUN yum -y update \
&& yum install -y openssh-server \
openssh-clients \
&& yum clean all
# rootでのログインを許可
# ポートを22から20022に変更
# rootのパスワードをpasswordに設定
RUN sed -ri 's/^#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config \
&& sed -ri 's/^#Port 22/Port 20022/' /etc/ssh/sshd_config \
&& echo 'root:password' | chpasswd
EXPOSE 20022
docker-compose.ymlの用意
docker-composeでコンテナを起動するためにdocker-compose.ymlを用意する。Dockerfileでイメージをビルドするようにし、SSHで使うコンテナのポート20022をホスト側の20022で使えるようにする。
version: "3"
services:
server:
build:
context: .
dockerfile: Dockerfile
container_name: server
privileged: true
command: /sbin/init
ports:
- 20022:20022
ホストからコンテナにSSH接続する
起動したコンテナにホストからSSH接続してみる。まずはコンテナを起動する。
次にホストからSSH接続する。
0 件のコメント:
コメントを投稿