赞
踩
我在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/
欢迎大家指出文章需要改正之处~
学无止境,合作共赢
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。