docker 分配固定 ip

2021-09-08 01:53:39 字數 1435 閱讀 1824

為docker容器單獨分配ip,這樣就可以像使用vm一樣,進行遠端連線。

實驗環境:windows7主機,centos7虛擬機器192.168.1.3 ,容器系統centos.6.7(安裝在虛擬機器192.168.1.3)

1、首先建立子網(主機192.168.1.3中執行)

docker network create --subnet=172.18.0.0/16 mynetwork

#檢視建立子網

docker network ls

2、分配ip(主機192.168.1.3中執行)

docker run -itd --name test --net mynetwork --ip 172.18.0.3 centos:6.7 bash

可以exec進入容器檢視ip確實分配成功

進入容器:

docker exec -it test /bin/bash

3、安裝ssh服務端和客戶端:(容器test中執行)

yum -y install openssh-server openssh-clients

安裝passwd,設定密碼:

yum install passwd

passwd root

修改配置/etc/ssh/sshd_config 開啟:

rsaauthentication yes

pubkeyauthentication yes

authorizedkeysfile .ssh/authorized_keys

passwordauthentication yes

4、開機啟動:(容器test中執行)

service sshd start

chconfig sshd on

5、ssh登入:(主機192.168.1.3中執行)

ssh 172.18.0.3

注意:另開乙個192.168.1.3的終端執行ssh連線,不要關閉了容器test。雖然本實驗不會有這種情況,因為第2步帶了-d

注意:開機啟動在docker中無法生效,docker中reboot出錯

6、儲存為新的映象:(主機192.168.1.3中執行)

docker commit -m 'install openssh' -a 'joker' 0dbaafe5adc6 joker/centos6:ssh

7、windows主機上ssh連線docker

在windows主機上ping172.18.0.3不通,也無法ssh連線

docker run -it -p 2222:22 joker/centos6:ssh /bin/bash #建立並執行容器,將容器的22埠對映到主機2222埠(主機192.168.1.3中執行)

service sshd start #(容器中執行)

最後可以在windos7主機上通過ip 192.168.1.3,埠2222 ssh 連線容器

**:

Docker容器固定IP分配

我們在使用docker run 建立docker 容器時,可以用 net 選項指定容器的網路模式,docker 有以下4 種網路模式 host模式,使用 net host 指定。container模式,使用 net container name or id 指定。none模式,使用 net none...

Docker容器固定IP分配

我們在使用docker run 建立docker 容器時,可以用 net 選項指定容器的網路模式,docker 有以下4 種網路模式 host模式,使用 net host 指定。container模式,使用 net container name or id 指定。none模式,使用 net none...

Docker容器固定IP分配

我們在使用docker run 建立docker 容器時,可以用 net 選項指定容器的網路模式,docker 有以下4 種網路模式 host模式,使用 net host 指定。container模式,使用 net container name or id 指定。none模式,使用 net none...