1. 程式人生 > 其它 >Docker容器配置遠端登入

Docker容器配置遠端登入

Docker容器配置遠端登入

前言

docker 的網路模式主要有三種,bridge、host、none;

  • pridge是docker安裝後自動建立的虛擬網絡卡,建立容器時預設使用此模式。
  • host是指容器與宿主機共用宿主機的網路
  • none是指不建立網路
  • 檢視docker的網路模式docker network ls

docker 預設的網絡卡不支援固定ip,需自定義網路,使用自定義的網路來固定ip

  • 建立自定義網路docker network create
  • 刪除自定義網路docker network rm
  • 檢視網絡卡資訊docker network inspect

1、建立自定義網路

[root@docker ~]# docker network create --subnet=172.127.0.0/24 --gateway=172.127.0.1 docker-br0
  • --subbet Ip地址
  • --gateway 閘道器
  • docker-br0 是自定義網路名稱

2、建立容器

[root@docker /]# docker run -i -d -h oracledb --name oracle11g --network docker-br0 --ip 172.127.0.100 -p 1122:22 -p 1121:1521 --privileged=true centos:7 /usr/sbin/init
  • -i 互動模式
  • -d 後端執行
  • -h 容器的hostname
  • --network 網絡卡
  • --ip IP地址
  • -p 埠對映
  • --privileged=true 和 /usr/sbin/init 為特權模式引數

3、進入容器安裝ssh服務及必要的依賴包

[root@docker /]# docker exec -it oracle11g /bin/bash
[root@oracledb /]# yum -y update # 更新yum
[root@oracledb /]# yum -y install openssl openssh-server openssh-clients initscripts vim zip unzip wget net-tools

4、修改ssh服務配置檔案

[root@oracledb /]# vim /etc/ssh/sshd_config
  • 取消PermitRootLogin yes的註釋

5、啟動sshd服務

[root@oracledb /]# netstat -lnp | grep 22  
[root@oracledb /]# systemctl restart sshd  # 重啟sshd服務
[root@oracledb /]# systemctl enable sshd   # 開機啟動sshd服務

6、配置容器的root使用者密碼

7、驗證

  • 檢視宿主機1122埠,已監聽
  • xshell遠端連線測試
  • 使用宿主機的1122埠遠端訪問

本文來自部落格園,作者:大齡Java程式設計師,轉載請註明原文連結:https://www.cnblogs.com/yyxp/p/15973459.html