我在windows電腦安裝了一個VM,使用VM開啟了Linux伺服器,執行docker,下載服務映象,然後執行服務,然後遇到了主機無法存取服務的問題。
接下來詳細介紹 設定虛擬機器器網路,讓主機以及區域網其他網路均可存取你的虛擬機器器(如何讓區域網中的其他主機存取虛擬機器器)
cd /etc/sysconfig/network-scripts/ //進入到網路介面卡資料夾中,找到你的網路組態檔
vi ifcfg-eth0 //我的網路組態檔名是ifcfg-eth0,編輯檔案
或者通過下面命令來進行搜尋
ls | grep 'ifcfg-*'
eth0與ens33的關係:目前的主流網路卡為使用乙太網路協定所開發出來的乙太網卡 (Ethernet),因此我們 Linux 就稱呼這種網路介面為 ethN (N 為數位)。 舉例來說,主機上面有一張乙太網卡,因此主機的網路介面就是 eth0 (第一張為 0 號開始)。新的 CentOS 7 開始對於網路卡的編號有另一套規則,網路卡的介面代號與網路卡的來源有關,網路卡名稱會是這樣分類的:
BOOTPROTO=dhcp
ONBOOT=yes
參考命令:
cd /etc/sysconfig/network-scripts/ //進入到網路介面卡資料夾中
mv ifcfg-ethXXX ifcfg-eth0 //名字改為ifcfg-eth0
vi ifcfg-eth0 //編輯檔案
那就新增一個,參考設定如下:
TYPE=Ethernet
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
BOOTPROTO=dhcp
ONBOOT=yes
DNS1=8.8.8.8
service network restart # 重啟網路
ping www.baidu.com # 測試網路
ip addr
cd /var/opt/
wget http://nginx.org/download/nginx-1.22.1.tar.gz
tar -zxvf nginx-1.22.1.tar.gz
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
cd nginx-1.22.1
./configure
make install
# 開啟組態檔,改為喜歡的埠號
vi /usr/local/nginx/conf/nginx.conf
啟動nginx
./usr/local/nginx/sbin/nginx
檢視nginx是否啟動
ps -ef | grep nginx
回到虛擬機器器所在的主機1:控制面板\所有控制面板項\網路連線,設定主機ip地址,點選VMnet8,設定ip
經過一系列設定以後,使用宿主機進行測試存取以下三個地址,我們發現
cd /var/opt/
ls
mkdir docker-test-demo
ls
cd docker-test-demo/
touch Dockerfile
vi Dockerfile
FROM node:9.2.1-alpine
# Install base packages and set timezone ShangHai
RUN apk update && \
apk add tzdata && \
/bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
WORKDIR /app
COPY ./app /app
RUN npm install
EXPOSE 8090
CMD [ "node", "server.js" ]
touch .dockerignore
node_modules
npm-debug.log
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, { 'Content-Type': 'text/plain' });
response.end('Hello World\n');
}).listen(8090);
console.log('Server running at http://127.0.0.1:8090/');
mkdir app
cd app
systemctl start docker
接下來執行
chkconfig docker on
或者
systemctl enable docker.service
下載映象
docker search node
docker pull docker.io/node:9.2.1-alpine
構建映象,不要忘了後面還有一個點點哦
docker build -t node:v1 .
啟動容器指令碼
docker run -d -p 8090:8090 node:v1
在虛擬機器器使用
curl http://localhost:8090/
在宿主機使用
http://192.168.33.128:8090/
在其他區域網電腦使用
http://192.168.1.6:8090/
歡迎大家指出文章需要改正之處~
學無止境,合作共贏