Docker容器服务搭建(一)
前言
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口。
特点
轻量级、镜像管理、环境一致性、可移植性、应用环境隔离、应用资源限制
一、安装
系统:CentOS7.x
安装时,需要先确认下系统内默认源的Docker,搜索出默认源的包,只是旧版本。
~]# yum search docker
一般旧版本很多新特征没有,我们选择新版下载。由于外网网络不太稳定,一般都选择国内镜像源。
~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo \ -O /etc/yum.repos.d/docker-ce.repo #加载阿里云源到本地yum仓库源
接着执行下载安装即可。
~]# yum install docker-ce –y #ee企业版,ce是社区版(一般企业都用这) ~]# yum install docker-ce-24.0.0 –y #上面默认最新版,也可以指定版本
~]# systemctl start docker #开启docker ~]# systemctl enable docker #开机启动docker ~]# docker info #安装完可以查看信息
大致会看到这些信息(部分信息),一般就成功了。
二、目录
安装完之后,具体安装的目录需要了解下。后续很多工作可能会涉及。默认目录/var/lib/docker,进入目录看到以下列表。简单介绍几个基础目录,其他则去官网查看。
containers是保存容器信息,image是docker镜像,network是docker网络配置,volumes是卷的信息,主要保存容器永久数据。
三、部署项目
这里项目为Nginx为例,先用Docker命令查看下容器情况。然后部署完之后在查看是否成功,然后访问容器项目。
~]# docker ps #查看本地启动了哪些容器,及其信息 ~]# docker ps -a #包含不在运行的容器
一般部署时,会先从本地拉取镜像(若已经存在),然后在远程下载容器镜像,不同版本镜像也不同。docker run是docker主要的命令之一,所以很多操作都会以run进行。
~]# docker run -d --name nginxName -p 80:80 nginx:1.23 #若创建并运行nginx容器,-d后台运行 --name容器名称 -p映射 宿主端口:容器端口,指定版本1.23
若查看运行成功,则直接查看日志,然后进入容器。使用ls查看,发现多docker-entrypoint.d 和 docker-entrypoint.sh,
前者是一个目录,下面含有多个sh文件,有些需要启动就执行某些文件,则需要放到这个文件夹中。后者就是容器的启动文件。
~]# docker ps -a #尽量带-a,因为有些容器没启动成功,ps看不到 ~]# docker logs nginxName –f #查看nginx日志
~]# docker exec –it nginxName bash #进入容器
~]# exit #退出容器
Nginx的配置文件在/etc/nginx下面,项目文件在/usr/share/nginx/html下面。
访问Nginx项目,可以使用外部网页(若是公网),或者在宿主命令行输入curl访问。
~]# curl 127.0.0.1:80 #就可以看到nginx页面信息
以上就是docker容器服务的基础搭建,后面会整理容器的深入使用。
官方镜像库:https://hub.docker.com
国内可访问:https://hub-stage.docker.com/
文档接口:https://docs.docker.com/reference/cli/docker/container/run/
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器