![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Docker
文章平均质量分 88
开化者
永远都是一名代码小白
展开
-
Swarm集群
Swarm是Docker公司推出的用来管理docker集群的平台,几乎全部用GO语言来完成的开发的,代码开源在https://github.com/docker/swarm, 它是将一群Docker宿主机变成一个单一的虚拟主机,Swarm使用标准的Docker API接口作为其前端的访问入口,换言之,各种形式的Docker Client(compose,docker-py等)均可以直接与Swarm通信,甚至Docker本身都可以很容易的与Swarm集成, 这大大方便了用户将原本基于单节点的系统移植到Sw原创 2023-08-24 10:00:35 · 886 阅读 · 0 评论 -
docker-compose:docker开源项目
docker-compose技术,就是通过一个 .yml 配置文件,将所有的容器的部署方法、文件映射、容器连接等等一系列的配置写在一个配置文件里,最后只需要执行docker-compose up命令就会像执行脚本一样的去一个个安装容器并自动部署他们,极大的便利了复杂服务的部署。//运行docker-compose命令的时候,如果文件内有Dockerfile,可以提前 执行:docker-compose build 或者在up -d 的时候添加--build 选项。但没有资源管理功能,需要k8s。原创 2023-08-24 10:00:03 · 646 阅读 · 0 评论 -
Docker数据卷-附服务器搭建案例
对于一些容器我们我往往需要经常的修改配置文件,频繁的进入容器显得很麻烦。对于容器(mysql)中的数据,我们希望可以持久化到本地,作为一种备份。docker run -v 数据卷名(自动创建):容器内路径。用来实现容器与宿主机之间或容器与容器之间的数据共享。2.运行Tomcat容器,并挂载数据卷到网页根目录。1.创建两个容器,数据卷共享testvolume1。4.追踪查看容器日志,修改数据卷内容,看日志变化。5.数据卷容器共享,并设置容器内目录只读。数据卷容器:容器间数据双向同步共享。原创 2023-08-24 09:59:54 · 654 阅读 · 0 评论 -
Docker跨主机网络
下面我们就来创建一个 macvlan 网络。同一 Docker Overlay 网络中的容器可以通信,但不同网络之间无法通信,要实现跨网络访问,只有将容器加入多个网络。同理,因为是自定义网络,符合自定义网络的特性,可以直接通过docker容器的名称相互通信,当然也可以在自定义网络的时候,指定它的网段,那么使用此网络的容器也可以指定IP地址。在docker02上创建的网络,我们可以看到它的SCOPE定义的是global(全局),意味着加入到consul这个服务的docker服务,都可以看到我们自定义的网络。原创 2023-08-24 09:59:45 · 741 阅读 · 0 评论 -
Docker单机网络
none模式可以说是桥接模式的一种特例,docker会为容器创建独有的network namespace ,但不会为这个命名空间准备虚拟网卡,IP地址,路由等,需要用户自己配置。docker会为容器创建独有的network namespace,也会为这个命名空间配置好虚拟网卡,路由,DNS,IP地址与iptables规则。将容器放在自定义的网络(数据局域网)中,容器之间是可以相互通信的,这样的话,我们就不需要使用 --link(旧技术,已淘汰) 来实现通信了。原创 2023-08-24 09:59:32 · 699 阅读 · 0 评论 -
Docker镜像仓库
修改完配置文件后,在当前目录执行./install.sh,Harbor服务就会根据当前目录下的docker-compose.yml开始下载依赖的镜像,检测并按照顺序依次启动,并且注意,harbor默认使用的是80端口,最好确认是否有冲突,或者也可以在docker-compose.yml中修改对应的端口。这里注意,既然是私有仓库,肯定是要考虑多台DockerHost共用的情况, 如果有其他的DockerHost想要使用私有仓库,仅需要修改docker的配置文件,指定私有仓库的IP和端口即可。原创 2023-08-24 09:59:08 · 2764 阅读 · 0 评论 -
Dockerfile Docker镜像
bootfs(boot file system)主要包含bootloader和kernel,bootloader主要是引导加载kernel,Linux刚启动时会加载bootfs文件系统,在Docker镜像的最底层是bootfs。比如有多个镜像都从相同的Base镜像构建而来,那么宿主机只需在磁盘上保留一份base镜像,同时内存中也只需要加载一份base镜像,这样就可以为所有的容器服务了,而且镜像的每一层都可以被共享。举一个简单的例子,加入基于 centos:7 创建一个的镜像,这就是新镜像的第一层;原创 2023-08-24 09:58:27 · 652 阅读 · 0 评论 -
Docker的底层原理与简单基础命令
然而同 VM 不同的是,容器的进程间交互实际上还是 host 上具有相同 pid 名字空间中的进程间交互,因此需要在 IPC 资源申请时加入名字空间信息,每个 IPC 资源有一个唯一的 32 位 id。mnt 名字空间允许不同名字空间的进程看到的文件结构不同,这样每个名字空间 中的进程所看到的文件目录就被隔离开了。不同用户的进程就是通过 pid 名字空间隔离开的,且不同名字空间中可以有相同 pid。所有的 LXC 进程在 Docker 中的父进程为Docker进程,每个 LXC 进程具有不同的名字空间。原创 2023-08-24 09:57:59 · 679 阅读 · 1 评论 -
docker安装与加速
2、通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。dockerhub是在国外,我们在下载镜像的时候,速度非常慢,且经常会出现`timeout`的情况,因此,我们这里决定配置一个加速器,能够帮组我们快速的下载镜像,常用的加速器有很多,这里我们说两个。Docker 的可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展或拆除应用程序和服务。原创 2023-08-23 14:24:55 · 1207 阅读 · 0 评论