SSH接続できるDockerコンテナを作成したので、その手順をまとめておく。
環境
Docker Desktop(Windows10 Pro)。
Dockerイメージ
今回はDocker HubにあるDocker公式のCentOS7イメージ(centos:centos7)を使う。Docerfileを用意してこのイメージにOpenSSHをインストールし、SSHの設定を変更する。変更する設定はrootでのログイン許可、ポートを20022に変更するなど。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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で使えるようにする。
1 2 3 4 5 6 7 8 9 10 11 | version: "3" services: server: build: context: . dockerfile: Dockerfile container_name: server privileged: true command: / sbin / init ports: - 20022 : 20022 |
ホストからコンテナにSSH接続する
起動したコンテナにホストからSSH接続してみる。まずはコンテナを起動する。
次にホストからSSH接続する。
0 件のコメント:
コメントを投稿