搭建Docker环境和部署Nginx服务整体难度不大,但由于网络原因,需要使用到阿里云的容器镜像服务支持。
操作环境:macOS Mojave 10.14.3、Terminal 2.9.1
服务器环境:CentOS 7.7
温馨提示:在操作过程中,如果出现命令行无法输入或者无法执行时,有可能是服务器超时断连了,SSH重连即可 。
背景知识
此次任务主要包含虚拟机、容器、Docker、Nginx、容器镜像服务ACR五大概念。
虚拟机:由于不同用户的计算机环境配置也不同,为了让开发的软件能够更好的兼容用户电脑,虚拟机方案孕育而生。虚拟机支持在一种操作系统里面运行另一种操作系统,还原软件的原始环境。但虚拟机方案有着明显的缺点,一是资源占用多,二是启动较慢,毕竟这是一个完整的操作系统。
容器技术:相比于虚拟机,容器技术并没有虚拟整套操作系统,而是对进程进行隔离,并且同样支持应用在不同环境之间的轻松迁移,同时还可以保留应用的全部功能。整体启动较快,资源占有也较少。
Docker:Docker是目前最流行的容器解决方案之一,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。完整的Docker组成部分:Client 客户端、Daemon 守护进程、Image 镜像、Container 容器。
Nginx:简单来说,Nginx 是一款轻量级、高性能的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。在建站时,我们常常会需要使用到 Nginx 。
容器镜像服务 ACR :容器镜像服务 ACR(Alibaba Cloud Container Registry)默认实例版提供基础的容器镜像服务,包括安全的应用镜像托管能力、精确的镜像安全扫描功能、稳定的国内外镜像构建服务以及便捷的镜像授权功能,从而方便用户进行镜像全生命周期管理。在云服务器使用 Docker 的体验过程中,结合容器镜像服务 ACR 可以使体验更加的“一体化”。
安装 Docker CE
1.前期的连接 ECS 服务器等步骤参考第一天的任务笔记。
2.输入命令yum install -y yum-utils device-mapper-persistent-data lvm2
,用于安装 Docker 的依赖库。
3.输入命令yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
,用于添加Docker CE的软件源信息。
4.输入命令yum makecache fast
,然后输入命令yum -y install docker-ce
,用于安装 Docker CE。
如图表示安装成功:
5.输入命令systemctl start docker
,用于启动Docker 服务。
配置阿里云镜像仓库(镜像加速)
1.通过左侧提供的一键复制登陆url,在浏览器的隐身窗口打开,使用子用户名称和密码进行登录。
2.直接在搜索栏搜索容器镜像,点击容器镜像服务登录控制台。(如有弹出开通服务窗口,关闭即可)。
3.点击镜像中心,选择镜像加速器,获得加速地址。输入代码:
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://kqh8****.mirror.aliyuncs.com"]
}
EOF
将其中的https://kqh8****.mirror.aliyuncs.com
替换成阿里云提供的专属加速器地址,即可加速官方镜像的下载。
4.输入命令systemctl daemon-reload
,用于重新加载服务配置文件。
5.输入命令systemctl restart docker
,用于重启 Docker 服务。
使用Docker安装Nginx服务
1.输入命令docker search nginx
,用于查看 Docker 镜像仓库中Nginx的可用版本。
2.输入命令docker pull nginx:latest
,用于拉取最新版的Nginx镜像。出现Status: Downloaded newer image for nginx:latest
表示已下载最新版Nginx镜像。
3.输入命令docker images
,用于查看本地镜像。
4.输入命令docker run --name nginx-test -p 8080:80 -d nginx
,用于运行容器。其中name nginx-test表示容器名称,p 8080:80表示将本地8080端口映射到容器内部的80端口,d nginx表示设置容器在后台一直运行。
5.浏览器地址栏输入http://<ECS公网地址>:8080
,访问Nginx服务。
小结
合理的利用好阿里云提供的容器镜像服务,可以在云上充分地发挥Docker的效能,提高生产效率。