Docker - 搭建私有云、映射数据卷、网络
2023-03-07 09:14:29 时间
概述
云服务已经成长为一个技术绕不过去的既成事实,仓库的管理、数据的应用、管理和安全,容器间的通信,充分的学习这些技术,是实现微服务的基础。
搭建docker私有云仓库
docker run -d -p 5000:5000 --restart=always --name registry
-v /etc/docker/registry/config.yml:/Users/zhangyu/docker/registry/config.yml
-v /Users/zhangyu/docker/registry/data:/var/lib/registry
registry:2
测试是否成功:
curl -i localhost:5000/v2/
把自定义镜像push到私有仓库,先试用tag命令更换成私有云格式的镜像名称,如果遇到问题,修改/etc/docker/daemon.json
,insecure-registries是镜像加速地址,registry-mirrors私有云仓库ip地址。
{
"insecure-registries":["127.0.0.1:5000"] ,
"registry-mirrors": ["https://registry.docker-cn.com"]
}
搭建成功后,拉取镜像
docker pull 127.0.0.1:5000/server1:1.2
查看长佩私有云里的镜像,顺便在说一句这个东西总是觉得有点眼熟,有点像es的地方,是怎么实现的等有时间再深挖一下。
curl -i localhost:5000/v2/_catalog
数据卷
数据卷的挂载是特别重要的部分,因为你需要再容器运行时保持数据的可用,在容器发生意外,可以及时恢复数据。
容器中的管理数据主要有两种方式:
- 数据卷:容器内数据直接映射到本地主机环境
- 数据卷容器:使用特定容器维护数据卷
yum update(centos),apt-get update;(Ubuntu)
1.创建一个本地数据卷
docker volume create -d local mysql_node2
2.绑定数据卷
- volume:普通数据卷,映射到主机/var/lib/docker/volumes路径下;
- bind:绑定数据卷,映射到主机指定路径下;
- tmpfs:临时数据卷,只存在于内存中。
docker run --name mysql-node2 -p 3308:3306
-e MYSQL_ROOT_PASSWORD=rootroot
--mount type=bind,src=/Users/stark/docker/mysql/node2/conf/my.cnf,dst=/etc/mysql/my.cnf
--mount type=bind,src=/Users/stark/docker/mysql/node2/data,dst=/var/lib/mysql
--restart=on-failure:3 -d mysql:5.7
3.数据卷容器
docker run -it -v /vData --name vData centos:7
docker run -d --privileged=true
--volumes-from vData
-v /Users/zhangyu/ChangPei/Code/www/cpserver/db:/data/db
--mount type=bind,src=/Users/zhangyu/ChangPei/Code/www/cpserver/servers,dst=/root/server/nginx/conf/servers
--name serverTest --restart=always
127.0.0.1:5000/server1:1.2 /run.sh
数据卷容器的作用是如果当数据卷内新增文件,会及时同步在运行的实例里,注意:使用--volumes-from参数所挂载数据卷的容器自身并不需要保持在运行状态。
网络
查看本地的docker网络
docker network ls
创建自定义网络
docker network create
--subnet=172.20.1.0/24 net1
在创建时指定网段和IP,请使用--net=net1 --ip 172.20.1.3
,参考下面的命令:
docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=123456
-e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456
--name=node1 --net=net1 --ip 172.20.1.2 pxc
相关文章
- (二)Linux嵌入式开发——软件安装(Ubuntu)
- Linux嵌入式开发——文件系统结构
- Linux嵌入式开发——压缩与解压缩
- C语言之初识指针
- c语言中的常见图形打印
- 初始结构体
- C# 如何部分加载“超大”解决方案中的部分项目
- 武汉腾讯前端一面
- 设计推特(思维游戏01)
- 读书笔记——上瘾:让用户养成使用习惯的四大产品逻辑
- Docker安装RockerMQ消息队列
- 【图像配准】使用OpenCV进行多图配准拼接
- 介绍一款 ABAP 代码搜索工具 RS_ABAP_SOURCE_SCAN 试读版
- 一静一动,一张一弛 - 通过具体的两个例子,学习 ABAP 动态断点的使用诀窍试读版
- SAPGUI 里的 Belize Theme
- selenium源码通读·11 |webdriver/common/touch_actions.py-TouchActions类分析
- WebAssembly 的发展历史概述
- 如何在 Go 语言开发的宿主程序中嵌入 WebAssembly
- 嵌入 WebAssembly 运行时和实例化 WebAssembly 模块的几大要素
- 怎样才能找到一家靠谱的精益生产管理咨询公司