Docker Linux 快速安装及 Nginx 部署
前言
最近正在部署一套新的 Linux 服务器环境,基于 Docker 来部署所有的应用,顺便整理了一套经过验证的操作手册,以便大家遇到类似需求时,可以直接拿来用。
本文会涉及以下知识点:Docker 的 Linux 安装和卸载、Docker 用户组的创建、基于 Docker 的 Nginx 部署及简单配置。
Docker 的 Linux 安装
笔者这里采用的是 TencentOS Server 的云服务器,完全兼容 CentOS 8 版本。在安装时,大家可进行版本对照。
卸载旧版本
如果服务器是新购买的,可跳过该步骤。如果服务器上已经安装过 Docker,则可使用如下命令进行卸载:
当然,如果安装的过程中出现错误希望重新安装,也可采用上面的命令进行卸载。
添加 Docker 镜像源
直接访问 Docker 官方的镜像源进行安装、下载时往往会出现网络问题,在使用时可先修改 Docker 的镜像源。
通常可用使用阿里云地址、腾讯云地址等,这里因为使用的是腾讯云服务器,则使用腾讯云的镜像源。
执行以下命令,添加镜像源:
其中,dnf 命令是 "Dandified Yum" 的简称,它是一种软件包管理器,用于自动安装、更新和删除包,同时也处理依赖关系。它是 Fedora、CentOS 和 RHEL 等基于 RPM 的 Linux 发行版的默认包管理器。
在 CentOS 8 之前,yum 是默认的包管理器。从 CentOS 8 开始,dnf 成为默认的包管理器,但是 yum 仍然可以使用。如果你的操作系统暂不支持 dnf 命令,可采用传统的 yum 命令。
可执行以下命令,查看已添加的 Docker 镜像源:
上述命令会列出所有可用的 docker-ce 软件包。
为了兼容性,后续命令我们统一采用 yum 命令来进行安装和操作。
Docker 安装及启动
在 Docker 安装之前,往往需要进行一些基础依赖的安装,同时也会设置随机启动的操作。
Docker 安装
安装所需依赖包:
在安装之前,查询可安装的版本(可省略):
下面是安装 Docker 的重点,只有一步:
验证是否安装成功:
Docker 启动
启动 Docker 服务和设置开机启动:
启动完成之后,可执行如下命令进行验证是否安装成功:
如果控制台打印类似如下信息,则表示安装启动成功:
Docker 用户组管理
默认情况下,Docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。
出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。
在 Centos8 下建立 docker 用户组并使用 docker 用户来操作 docker,可以按照以下步骤进行。
以 root 用户身份登录 CentOS 8 系统,创建一个名为 docker 的新用户组:
接下来,添加用户到 docker 组。将 username 替换为你的用户名:
这个命令将把你的用户添加到 docker 组。
验证你的用户是否已经被添加到 docker 组中,运行以下命令:
如果一切顺利,你应该能看到 docker 出现在列出的组中。
让上述改动生效需要重新登录或者使用以下命令:
最后,验证是否可以无需 sudo 权限就能运行 Docker。运行以下命令:
如果一切顺利,你应该能看到 hello-world 程序的输出。
基于 Docker 的 Nginx 部署
这里讲解一下 Nginx 的安装步骤以及 nginx.conf 的简单配置。
NGINX 镜像安装
在安装 Nginx 的 Docker 镜像之前,可先进行镜像搜索:
从搜索到镜像中选择符合条件的镜像,然后进行拉取:
拉取镜像之后,就可以进行对应镜像的配置和启动容器了。
这里为了获取 Nginx 的基础配置文件,先简单启动一个 Nginx 容器,当获得对应的配置文件之后,删除该容器,再重新启动一个正式的容器。
通过上述操作,可获得宿主机上一些关于 Nginx 的基础配置和目录文件。
下面可以进行 Nginx 容器的正式部署了:
上述命令的基本解释:
-d:表示在一直在后台运行容器。
-p 80:80:对端口进行映射,将本地 80 端口映射到容器内部的 80 端口。443 端口的映射同理。
--name:设置创建的容器名称。
-v:将本地目录(文件)挂载到容器指定目录。
需要注意的事,一般启动 Nginx 容器时,需要同时把容器的 80 端口和 443 端口同时与宿主机进行映射,以免从 HTTP 请求向 HTTPS 请求切换时出现容器端口未映射的情况。
NGINX 配置
这里展示一个简单的 Nginx 配置:
在上述配置中,重点关注一下 HTTPS 的配置,其中 ssl_certificate 和 ssl_certificate_key 两项涉及到的证书文件,通常会放在/etc/nginx/conf.d 下,这样即可在宿主机对应的目录下替换证书文件以及修改 Nginx 的配置文件了。
当然,Nginx 的日志输出,通常也存储在容器挂载的宿主机对应文件内。
小结
至此,关于 Linux(CentOS 8)中如何修改镜像源,如何安装 Docker,如何启动 Docker,如何配置独立的 Docker 用户组,如何部署 Nginx 容器及 Nginx 的简单配置等已经讲解完毕。希望能够对大家有所帮助。
版权声明: 本文为 InfoQ 作者【这我可不懂】的原创文章。
原文链接:【http://xie.infoq.cn/article/2e6c8a5f6866870b7a508b510】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论