centos7安装Docker容器部署nginx服务

多字警告!!!本文没什么图片,都是一些步骤以文字的方式写出来,如果没什么耐心就可以不看啦,毕竟字是真的多,如果是做实验的话那跟着就可以啦

Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。

也就是说,你的服务器就是一头鲸鱼,鲸鱼身上有着很多个箱子,就像我们运行的服务,一个个不同的服务呢,装在一个个不同的箱子里面,相互隔开互不影响

docker

那docker的优点呢
1.运行快,以毫秒为单位;
2.部署简单,容器化,不需要额外添加操作系统;
一台服务器可以布置百甚至上千个运行时;
3.开源,有免费版有商业版
docker-ce:免费版
docker-ee:商业版,主要是解决依赖第三方

缺点:因为是共用资源,所以很难保证安全性
因为我们只有一头鲸鱼啊,资源都是共用的

最好分配2核cpu2G内存吧

我们之前呢已经装好centos了,没有安装也不要慌
添加链接描述

关闭防火墙:systemctl stop firewalld && systemctl disable firewalld

关闭selinux:setenforce 0
修改selinux配置文件之后,重启机器,selinux才能永久生效
vi /etc/selinux/config

在这里插入图片描述

输入getenforce
显示Disabled表示selinux关闭成功

配置时间同步:
yum install -y ntp ntpdate
ntpdate cn.pool.ntp.org

安装基础软件包:yum install -y wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack

安装docker-ce,啥条件啊咱装免费版就好
##配置阿里云的yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2

安装docker-ce
yum install docker-ce -y

启动docker服务
systemctl start docker && systemctl enable docker
查看docker状态:systemctl status docker
显示running就是开启了的

配置阿里云镜像加速器
添加链接描述

点击Centos,可以看到我们的镜像加速器的地址

在这里插入图片描述

创建一个文件:
sudo mkdir -p /etc/docker

创建一个文本里面写上你镜像加速器的地址:
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://你的镜像加速器地址.com”]
}
EOF

在这里插入图片描述

再次进入文件检查一下,如果有地址就是配置成功
vi /etc/docker/daemon.json

再重启一下配置和docker
systemctl daemon-reload
systemctl restart docker

也可以配置多个,地址间逗号隔开
[“https://registry.docker-cn.com”,“http://hub-mirror.c.163.com”]

这样我们拉取镜像的时候就会快很多

我们首先要拉取镜像,然后在此镜像上部署相关服务

镜像的相关操作:

拉取centos的镜像:docker pull centos

查看镜像:docker images

把镜像做成离线压缩包:docker save -o centos.tar.gz(压缩包 的名字) centos(指定本地镜像)

解压:docker load -i centos.tar.gz

删除镜像:docker rmi centos(镜像名称):latest(镜像标签TAG)
查看镜像可以看到镜像的标签

容器相关操作:
创建并启动一个容器:
docker run --name nginx -td centos /bin/bash

nginx:容器的名字
-t:配分一个伪终端
-d:在后台运行
centos:指定启动docker的镜像
/bin/bash:说明你的shell类型为bash,bash shell是最常用的一种shell, 是大多数Linux发行版默认

docker ps:查看运行中的容器
docker ps -a:查看所有容器包括没有运行的容器

docker ps | grep nginx:查看nginx这个容器的详细信息

创建成功之后就可以进入容器:docker exec -it nginx(要进入的容器的名字) /bin/bash

-i:以交互式方式登录到容器

停止运行容器:docker stop nginx(容器的名字)
启动已停止运行的容器:docker start nginx
删除容器:docker rm nginx

了解了容器基础的相关命令之后我们就来部署nginx服务吧,命令多敲几遍就能记住啦

docker run --name nginx -p 80 -itd centos
-p:映射端口

登录到nginx:docker exec -it nginx /bin/bash
然后安装nginx:yum install nginx -y

创建一个静态页面,测试用的啦

创建一个文件:mkdir /var/www/html
进入到这个目录:cd /var/www/html
创建并编辑一个静态html文件:vi index.html

<html>
        <head>
                 <title>nginx in docker</title>
        </head>
        <body>
                <h1>hello,My Name is zhujun</h1>
        </body>
</html>

:wq : 保存退出

然后我们得指定nginx的访问路径呀,我们的这个代码是在我们创建的目录,这个nginx它不知道呀

vi /etc/nginx/nginx.conf :这是nginx的配置文件
进来文件之后,输入/root,这是搜索root的意思,不然那么多的字母找到眼睛都瞎咯

これこれ

就是这里啦,把root那一行的路径改成我们刚刚建的文本所在路径就可以啦,这样呢这个nginx就知道我们访问的是这个路径啦,傻nginx

启动nginx: /usr/sbin/nginx
傻nginx启动起来啦,我们去访问一下docker里面的nginx

因为我们现在在容器里面,所以我们要新开一个窗口,如果用的是CRT远程连接的虚拟机

在这里插入图片描述

如果是其他就百度吧

查看nginx的详细信息:docker ps | grep nginx

可以看到我们物理映射的端口是49153—>80,也可能是49154,49156

我们来curl一下:curl http://192.168.40.180:49153
如果能看到我们敲的那行html代码那就代表可以啦

虚拟机的IP加上映射的端口浏览器访问康康?
比如我虚拟机的192.168.2.100:49153

浏览器是不是能看到 hello,My Name is zhujun?
如果能看到那么,我们的傻nginx就配置好啦

如果你觉得写的还不错,不用一键三连!也不用一键四连!!请给我个赞赞吧,你的支持是我最大的动力!!

码字真的不容易,转载一定要注明出处呀

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值