![](https://img-blog.csdnimg.cn/direct/1785981436b444bab0be42bc99001e32.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Docker
文章平均质量分 95
Docker容器化技术学习总结
MelodyYN
实践
展开
-
1.初识Docker与容器
Docker是基于Go语言实现的开源容器项目。Docker是为解决了运行环境和配置问题的软件容器,方便做持续集成并有助与整体发布的容器虚拟化技术。通过镜像(images)将作业系统核心除外,运作应用程式所需要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运作。原创 2024-04-15 09:35:18 · 868 阅读 · 0 评论 -
2.核心概念与安装配置
Docker 利用容器(Container)独立运行的一个或一组应用,应用程序或服务运行在容器里面,容器就类似于一个虚拟化的运行环境,可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。容器为镜像提供了一个标准的和隔离的运行环境,它可以被启动、开始、停止、删除。Docker 是一个 C/S 模式的架构,后端是一个松耦合架构,众多模块各司其职。官方的yum源安装docker比较慢, 我们配置国内比较快的yum源(阿里云)原创 2024-04-17 14:43:23 · 947 阅读 · 0 评论 -
2.5.Docker镜像的分层结构
Docker中的镜像分层,支持通过扩展现有镜像,创建新的镜像。类似Java继承于一个Base基础类,自己再按需扩展。新镜像是从 base 镜像一层一层叠加生成的。每安装一个软件,就在现有镜像的基础上增加一层。原创 2024-04-27 22:51:35 · 631 阅读 · 0 评论 -
3.Docker常用镜像命令和容器命令详解
Docker运行容器前需要本地存在对应的镜像, 如果镜像不存在,Docker会尝试先从默认镜像仓库下载(默认使用Docker Hub公共注册服务器中的仓库),用户也可以通过配置,使用自定义的镜像仓库。可以使用 docker [image] pull命令直接从 Docker Hub 镜像源来下载镜像。命令格式:。OPTIONS参数:docker pull 镜像名称 docker pull 镜像名称:latest使用镜像代理服务来加速Docker镜像获取过程,可以在Docker服务启原创 2024-04-22 23:06:51 · 848 阅读 · 0 评论 -
4.Docker本地镜像发布至阿里云仓库、私有仓库、DockerHub
Docker仓库是集中存放镜像的地方,分为公共仓库和私有仓库。注册服务器是存放仓库的具体服务器,一个注册服务器上可以有多个仓库,而每个仓库下面可以有多个镜像。例如对于仓库地址private-docker.com/ubuntu来说,private-docker.com是注册服务器地址,ubuntu是仓库名。原创 2024-04-28 16:02:53 · 1599 阅读 · 0 评论 -
5.Docker数据管理
数据卷机制为数据管理提供了方便的操作支持。通过数据卷和数据卷容器对容器内的数据进行共享、备份和恢复等操作, 这些机制即使容器在运行中出现故障,用户也不必担心数据发生丢失, 只需要快速地重新创建容器即可。 在生产环境中推荐在使用数据卷或数据卷容器之外,定期将主机的本地数据进行备份, 或者使用支持容错的存储系统, 包括 RAID 或分布式文件系统。 另外, 有些时候不希望将数据保存在宿主机或容器中, 还可以使用 tmpfs类型的数据卷, 其中数据只存在内存中, 容器退出后自动删除。原创 2024-05-07 22:58:33 · 969 阅读 · 0 评论 -
6.Docker端口映射与容器互联
连接系统依据容器的名称来执行。因此,首先需要自定义一个好记的容器命名。好记;当要连接其他容器时候,即便重启也可以使用容器名而不用改变。使用--name也可以使用/web容器的名称是唯一的。如果已经命名了一个叫web的容器,当你要再次使用web这个名称的时候,需要先用docker rm命令删除之前创建的同名容器。在执行docker [container] run 的时候如果添加–rm标记,则容器在终止后会立刻删除。注意,–rm 和-d参数不能同时使用。原创 2024-05-07 16:37:03 · 544 阅读 · 0 评论 -
6.5.Docker数据管理和端口映射应用
接下来通过挂在容器卷实现容器移除后再次重启容器数据维持不变。把webapps.dist目录换成webapps,再次访问localhost:8080,访问成功。修改字符集操作后,重启mysql容器再次查看字符集编码并测试插入中文。可以在Dockerhub中查看容器如何使用,包括拉取和启动等。本次绑定了数据卷,因此移除容器后再次重启容器,数据依然存在。新建my.cnf,通过容器卷同步给mysql容器实例。-p 小写,主机端口:docker容器端口。原创 2024-05-10 00:47:07 · 926 阅读 · 0 评论 -
7.使用Dockerfile构建镜像
Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的配置文件脚本。Dockerfile定义了进程需要的一切东西。Dockerfile涉及的内容包括执行代码或者是文件、环境变量、依赖包、运行时环境、动态链接库、操作系统的发行版、服务进程和内核进程等等。Dockerfile官网详解创建镜像的方式以及镜像和容器的关系如下图所示:编写Dockerfile文件docker build 命令构建镜像docker run以镜像运行容器实例。原创 2024-05-17 15:18:03 · 839 阅读 · 0 评论 -
8.Docker微服务实战
修改 resource下application.properties配置文件。选择需要的配置或者直接在pom文件中手动添加。DockerApplication启动类。创建空项目并在其中创建一个Module。OrderController业务类。,这样可以使用jdk8。编写Dockerfile。打jar包上传至节点。原创 2024-05-19 23:29:35 · 769 阅读 · 2 评论 -
9.Docker网络
容器间的互联和通信以及端口映射容器IP变动时候可以通过服务名直接进行网络通信而不受到影响(下面例子证明)在CentOS7的安装过程中如果有选择相关虚拟化的的服务安装系统后,启动网卡时会发现有一个以网桥连接的私网地址的virbr0网卡(virbr0网卡:它还有一个固定的默认IP地址192.168.122.1),是做虚拟机网桥的使用的,其作用是为连接其上的虚机网卡提供 NAT访问外网的功能。docker0:bridge模式对应的名称默认为docker0.自己创建一个network并使用。原创 2024-05-22 18:13:06 · 1181 阅读 · 0 评论 -
10.Docker Compose容器编排
docker建议我们每一个容器中只运行一个服务,因为docker容器本身占用资源极少,所以最好是将每个服务单独的分割开来。但是这样我们又面临以下问题: 如果我需要同时部署好多个服务,那么每个服务需要单独编写Dockerfile文件、构建镜像、构建容器等步骤,非常麻烦。所以docker官方给我们提供了docker-compose多服务部署的工具。原创 2024-06-16 00:41:00 · 1159 阅读 · 2 评论