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 件のコメント:
コメントを投稿