我真没想到我会被搞半天,真的是很简单的操作。这个还是和本地安装一个虚拟机再部署的话还是有点区别的。

主要的是什么,几个命令,和你需要注意的几个地方。都是十分细节的问题。有时候你真的需要自己亲自动手做一遍,才会知道什么叫做眼高手低。今天不会先写docker的原理介绍了,简单记录这个过程。

首先打开你的服务器,我的是阿里云轻量级服务器。

在这里插入图片描述

我们访问的时候需要从公网这里去访问。

我用了一个FinalShell进行连接,一次创建好连接信息以后就直接点开就行。

在这里插入图片描述

自己安装过旧版本的docker最好卸载掉。

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

这些命令还记个,在这里插入图片描述直接复制cv大法。

你要确保你的机器上有完整的yum命令,不过一般都是有的,万一某些人是在虚拟机上用的系统呢?
阿里云的服务器一般是可以用的。

没有yum的话,就11安装上。

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

你要设置一个镜像源,这样加快以后下载相关东西的速度。

# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

然后我们安装docker,就用这一行,如果你是初学者的话。

yum install -y docker-ce

这些我都做过了,所以没有截图。

现在验证的话可以看下docker的版本,输入这个命令。

docker -v

在这里插入图片描述

看视频老师说docker启动的话,会用到各种端口,所以要关闭防火墙,如果你是在云服务器上的话就不要这样做了。关闭端口的话在自己虚拟机可还行。

这个根据自己选择(不要关闭云服务防火墙)

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

然后启动docker

systemctl start docker  # 启动docker服务

systemctl stop docker  # 停止docker服务

systemctl restart docker  # 重启docker服务

然后安装nginx

我还是首先确认自己的镜像,只有一个redis
在这里插入图片描述
然后安装

其实你可以去docker hub官网看看,期间需要一个注册登录。
docker hub
在这里插入图片描述
查询点进去
在这里插入图片描述

后面这个数字指定了版本,如果你不指定,默认安装最新。

docker pull nginx:1.17.8

在这里插入图片描述
安装完成后你去看镜像确认一下
在这里插入图片描述
然后我们就启动这个nginx,需要配置端口相关。

 docker run --name nginxtest01 -p 9092:80 -d nginx:1.17.8

在这里插入图片描述
在这里插入图片描述
-p后面我们也叫断后映射。你需要知道就是将来我们通过公网ip地址加上这个端口9092可以对nginx默认页面进行一个访问。

有一个疑问,为什么配置对内配置为80?因为nginx默认的端口监听是80。当然你可以改。

Nginx 的实现原理是:用 Nginx 监听 80 端口,当有 HTTP 请求到来时,将 HTTP 请求的 HOST 等信息与其配置文件进行匹配并转发给对应的应用。

docker容器在启动时的一种模式为HOST。在这种模式下。该容器的网络ip和端口都是与宿主机保持一致。

我们设置了9092 端口后,你需要去防火墙开放这个端口。不然外界是无法访问的。
怎么开放呢?我开始是这样尝试的。用命令。

firewall-cmd --zone=public --add-port=9092/tcp --permanent //开放端口
 firewall-cmd --reload //网关重启

在这里插入图片描述
当然在这之前你可以看你的服务器网关开放了哪些端口
在这里插入图片描述

netstat -ntlp   //查看当前所有tcp端口

你这里配置网关开放端口不行的话,你可以去云服务器的控制台界面指定开放。
在这里插入图片描述
我当时又做了这一步就可以了。

访问路径,主机外网ip加上端口号。
在这里插入图片描述
我的默认端口做了个人博客部署80端口这样用了。
在这里插入图片描述
好多人nginx部署这里连接不通,其实这里还有很多坑,仔细一点就好。
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:
腾讯云入驻

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐