云原生学习

学习k8s的实验资料


通过docker部署nginx服务

运行一个容器

[root@karen ~]# docker run --name nginx -p  80 -itd centos 
#-p把容器端口随机在物理机随机映射一个端口
[root@karen ~]# docker ps | grep nginx
ecfa046e9681   centos                                              "/bin/bash"              5 seconds ago   Up 4 seconds   0.0.0.0:49153->80/tcp, :::49153->80/tcp   nginx

在docker里安装nginx

#进入nginx容器
[root@karen ~]docker exec -it nginx /bin/bash 
[root@ecfa046e9681]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
21: eth0@if22: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
#通过上面可以看到容器的ip是172.17.0.3

#yum安装nginx
[root@ecfa046e9681]# rm -rf /etc/yum.repos.d/*
[root@ecfa046e9681]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
[root@ecfa046e9681]# yum install wget -y
[root@ecfa046e9681]# yum install nginx -y 

#安装文本编辑器vim
[root@ecfa046e9681]# yum install vim-enhanced -y

#创建静态页面
[root@ecfa046e9681]# mkdir /var/www/html -p
[root@ecfa046e9681]# cd /var/www/html/
[root@ecfa046e9681]# cat index.html
<html>
        <head>
                 <title>nginx in docker</title>
        </head>
        <body>
                <h1>hello,My Name is xianchao</h1>
        </body>
</html>

#修改nginx配置文件中的root路径,如下
[root@ecfa046e9681]# vim /etc/nginx/nginx.conf
root         /var/www/html/;

#启动nginx
[root@ecfa046e9681]# /usr/sbin/nginx

访问docker里的nginx服务

[root@karen ~]# docker ps | grep nginx
ecfa046e9681   centos                                              "/bin/bash"              12 minutes ago   Up 12 minutes   0.0.0.0:49153->80/tcp, :::49153->80/tcp   nginx

#能查看到nginx容器在物理机映射的端口是49153

[root@karen ~]# curl http://192.168.40.180:49153
<html>
    <head>
         <title>nginx in docker</title>
    </head>
    <body>
        <h1>hello,My Name is xianchao</h1>
    </body>
</html>

#也可以直接访问容器的ip:port
[root@karen ~]# curl 172.17.0.3:80
<html>
    <head>
         <title>nginx in docker</title>
    </head>
    <body>
        <h1>hello,My Name is xianchao</h1>
    </body>
</html>

流量走向: 访问物理节点ip:port(容器在物理节点映射的端口)--容器ip:port(容器里部署的服务的端口)->就可以访问到容器里部署的应用了

页面列表

ITEM_HTML