首页 > 其他分享 >Docker操作逻辑及搭建web

Docker操作逻辑及搭建web

时间:2023-01-01 23:25:09浏览次数:31  
标签:容器 web -- nginx usr Docker docker 搭建

Docker操作逻辑

当我们使用pull从docker仓库中将镜像下载到本地,也就是可以通过docker images查看到pull到的镜像,下载后,可以通过docker run将镜像启动运行在容器(Contaier)中,就可以对容器进行start/stop/kill...等操作。

当然如图所示的images,也可以进行在本地的备份,通过save保存到本地机器,或者通过load恢复到docker的images中

在公司中,不可能去只是用一个centos镜像,可能会用到nginx等的服务,这里就以nginx为例,最后可以通过docker commit制作一个镜像,可以push到仓库中,供用户下载使用

dockerfile是一种作镜像的技术,在后面的学习中会用到,到时再说

Docker部署Web集群
实验环境

一台已经安装docker的linux服务器:192.168.1.11

实验目的

在docker中使用centos镜像,运行3个容器,容器中安装了nginx作为web服务器,而linux本地也安装nginx进行代理,最后通过访问本地nginx对3个运行web的容器进行轮询

实验步骤

Docker容器部署nginx
将nginx的tar包拖入本地

使用centos镜像运行一个容器web
docker run -itd --name web centos /bin/bash
进入web容器准备安装nginx
docker exec -it web /bin/bash
首先查看容器ip,这个环境相当干净,什么都没有,所以各种命令都需要安装

使用yum provides可以查看到某个命令属于哪个软件包

yum provides ip/ifconfig/scp
yum install net-tools # ifocnfig
yum -y install openssh-clients # scp
yum -y install iproute # ip

准备nginx的环境
yum -y install gcc gcc-c++ pcre-devel zlib-devel openssl-devel make

因为需要使用scp给docker容器传送nginx的包,所以需要查看容器的ip

ip a 查看到容器ip为172.17.0.4

exit 退出查看本地ip,docker0网卡为72.17.0.1

方法一:容器中
scp [email protected]:/root/nginx-* ./
方法二:物理机中,web为容器名,或者使用容器id
docker cp nginx-* web:/root

安装正常步骤在容器中安装nginx
tar zxf nginx-1.11.1.tar.gz -C /usr/src/
cd /usr/src/nginx-1.11.1/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-pcre && make && make install
useradd nginx
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx

修改nginx的默认页面,为了轮询时可以分辨
vi /usr/local/nginx/html/index.html

全部删除,修改为

172.17.0.4

启动nginx
nginx
netstat -anpt | grep 80

制作镜像
web容器中的环境已经全部将nginx搭建完成,所以只需要将容器制作成镜像,即可使用

将容器做成镜像

docker commit 容器名/id image_name:tag
docker commit web chai/centos-ssh-nginx:latest

查看镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
chai/centos-ssh-nginx latest 7f39e05251d7 7 seconds ago 527MB
busybox latest 83aa35aa1c79 13 days ago 1.22MB
httpd latest c5a012f9cf45 3 weeks ago 165MB
centos latest 5e35e350aded 4 months ago 203MB

web集群
使用镜像在做一个web

运行web2容器

docker run -itd --name web2 chai/centos-ssh-nginx /bin/bash

进入容器中

docker exec -it web2 /bin/bash

查看到ip为172.17.0.5

修改nginx主页文件
vi /usr/local/nginx/html/index.html

全部删除,修改为

172.17.0.5

启动nginx并退出当前容器
nginx
exit

重复步骤制作第三台web

运行web3容器

docker run -itd --name web3 chai/centos-ssh-nginx /bin/bash

进入容器中

docker exec -it web3 /bin/bash

查看到ip为172.17.0.6

修改nginx主页文件
vim /usr/local/nginx/html/index.html

全部删除,修改为

172.17.0.6

启动nginx并退出当前容器
nginx
exit

本地nginx代理
同样在本地正常安装nginx
yum -y install pcre-devel zlib-devel openssl-devel
tar zxf nginx-1.11.1.tar.gz -C /usr/src
cd /usr/src/nginx-1.11.1
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-pcre && make && make install
useradd nginx
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx

修改配置文件做代理
vim /usr/local/nginx/conf/nginx.conf # 修改配置文件

在第34行添加upstream模块

upstream webserver {
    server 172.17.0.4 weight=1;
    server 172.17.0.5 weight=1;
    server 172.17.0.6 weight=1;
    }

修改location模块为:

    location / {
        proxy_pass http://webserver;
    }

启动nginx,放行80端口

验证
使用一台客户端,访问linxu本地ip,不断刷新即可,看到不同的三个页面

http://192.168.1.11

标签:容器,web,--,nginx,usr,Docker,docker,搭建
From: https://www.cnblogs.com/xiaotao188/p/17019222.html

相关文章

  • 安装Docker——镜像加速
    Docker的安装Docker的官网必须是Centos7版本,最好是7.7的内核,docker目前不支持Centos8Docker源路径的寻找因为官网的Docker的repo源是通过走国外的网站来获取的,对于网......
  • Docker配置mysql主从复制
    ---先创建master实例dockerrun-p3307:3306--namemysql-master\-v/mydata/mysql-master/log:/var/log/mysql\-v/mydata/mysql-master/data:/var/lib/mysql\-v/myd......
  • Django视频教程 - 基于Python的Web框架(全13集)
    Django是由Python驱动的开源模型-视图-控制器(MVC)风格的Web应用程序框架,使用Django可以在即可分钟内快速开发一个高品质易维护数据库驱动的应用程序。下面是一大坨关于Django......
  • Docker容器之——Docker常用命令
    1.docker帮助命令dockerversion#显示docker版本信息dockerinfo#显示docker信息系统,包括镜像和容器数量docker--help#docker帮助命令2.docker镜像命令docke......
  • docker基础之镜像概念(四)
     什么是镜像镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时库、环境变量和配......
  • 【JavaWeb】Http get请求乱码、post请求乱码,html页面乱码、jsp页面乱码,控制台tomcat日
    目录​​1、乱码原因和解决思路​​​​2、准备知识(新手必读,老司机跳过)​​​​2.1字符集​​​​2.2URL编码​​​​2.3 javawebservlet ​​​​3 浏览器编码/解码......
  • 基于 Dojo toolkit 实现 web2.0 的 MVC 模式
    前言MVC模式是设计模式中的经典模式,它可以有效的分离数据层,展示层,和业务逻辑层。Web2.0技术由于其良好的用户体验被广泛应用于WEB应用的展示层。但是在传统的web开发......
  • 第一节课django环境搭建
    第一课django环境搭建前言Web框架:url,请求对象,响应对象,模板引擎常见框架:Django框架<全能型框架MTV>/Web.py/flask框架<已经停止维护>/Tornado<facebook维护>Web应用框架......
  • spring boot——spring boot的基本配置——spring boot的全局配置文件——设置端口以
                   ===================================================================            ......
  • web项目开发---第三天
    ssm核心业务crm项目的简介:CustomerrelationshipManagement客户关系管理系统销售或者贸易型公司使用。企业级应用,内部员工使用。java开发的传统软件。CRM项目的宗旨......