🧨个人主页:明明跟你说过
🚩欢迎🎗️点赞😸关注❤️分享
😸希望本文能够对您有所帮助,如果本文有不足之处,或您有更好的建议、见解,欢迎在评论区留下您的看法,我们一起学习、交流、进步!
目录
容器编排工具:Docker Compose与Kubernetes
一、引言
Docker 容器是一种轻量级的、可移植的、自包含的软件打包方式,用于将应用程序及其所有依赖关系打包到一个统一的环境中,以确保应用程序在不同环境中的一致性运行
以下是 Docker 容器的一些关键特性和优点:
轻量级: Docker 容器与虚拟机相比更轻量级,因为它们共享主机的操作系统内核,避免了虚拟机启动时的额外开销。
可移植性: Docker 容器可以在任何支持 Docker 的环境中运行,无论是开发、测试还是生产环境。
快速部署: Docker 容器可以快速部署,因为它们可以在几秒钟内启动,而不是几分钟或几小时。
隔离性: Docker 容器提供了一定程度的隔离性,使得容器之间的应用程序可以相互独立运行,避免了互相干扰。
版本控制: Docker 容器可以基于镜像构建,这些镜像可以版本控制,方便管理和回滚。
弹性伸缩: Docker 容器可以根据负载需求进行水平扩展或收缩,以适应应用程序的需求。
二、Docker容器的启动
首先,先搜索镜像,这里以nginx为例
如服务器未安装docker,可以参考在CentOS系统中轻松安装和配置Docker指南这篇文章
[root@master1 ~]# docker search nginx
选择适合自己的版本,比如,拉取最新版
[root@master1 ~]# docker pull nginx:latest
#pull 拉取,:latest 代表最新版本
查看镜像是否成功拉取
[root@master1 ~]# docker images | grep nginx
使用docker run命令启动容器
[root@master1 ~]# docker run -itd --name test nginx:latest
#这条命令的含义如下:
# 'docker run':运行一个容器
# '-itd':-i 让容器的标准输入保持打开状态,-t 为容器分配一个伪终端,-d 在后台运行容器
#'--name':为容器指定名称,这里指定的名称是test
#'nginx:latest':指定要运行的镜像为nginx,并使用最新版本
查看容器是否运行
[root@master1 ~]# docker ps | grep nginx
为容器添加端口映射
将容器端口与宿主机端口,使外部用户可以通过宿主机访问到容器服务
[root@master1 ~]# docker run --name test-port -itd -p 8081:80 nginx:latest
# '-p 8081:80':将容器的端口
80
映射到主机的端口8081,如果需要映射多个端口,添加多个'-p port:port'即可
此时通过宿主机IP+8081,就可访问到nginx服务
如果无法正常访问,可能使防火墙没有放行8081端口,可以选择直接将防火墙关闭
[root@master1 ~]# systemctl stop firewalld
为容器添加卷挂载
[root@master1 ~]# docker run --name test-v -itd -v /test:/test nginx:latest
# '-v':将宿主机的/test目录挂载到容器的/test目录上,在宿主机/test创建的文件,在容器中也可以使用