前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker - 搭建私有云、映射数据卷、网络

Docker - 搭建私有云、映射数据卷、网络

原创
作者头像
stark张宇
发布2023-02-15 18:06:57
5.5K0
发布2023-02-15 18:06:57
举报
文章被收录于专栏:stark张宇stark张宇

概述

云服务已经成长为一个技术绕不过去的既成事实,仓库的管理、数据的应用、管理和安全,容器间的通信,充分的学习这些技术,是实现微服务的基础。

搭建docker私有云仓库

代码语言:txt
复制
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

测试是否成功:

代码语言:txt
复制
curl -i localhost:5000/v2/

把自定义镜像push到私有仓库,先试用tag命令更换成私有云格式的镜像名称,如果遇到问题,修改/etc/docker/daemon.json,insecure-registries是镜像加速地址,registry-mirrors私有云仓库ip地址。

代码语言:txt
复制
{
  "insecure-registries":["127.0.0.1:5000"] ,
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

搭建成功后,拉取镜像

代码语言:txt
复制
docker pull 127.0.0.1:5000/server1:1.2

查看长佩私有云里的镜像,顺便在说一句这个东西总是觉得有点眼熟,有点像es的地方,是怎么实现的等有时间再深挖一下。

代码语言:txt
复制
curl -i localhost:5000/v2/_catalog

数据卷

数据卷的挂载是特别重要的部分,因为你需要再容器运行时保持数据的可用,在容器发生意外,可以及时恢复数据。

容器中的管理数据主要有两种方式:

  • 数据卷:容器内数据直接映射到本地主机环境
  • 数据卷容器:使用特定容器维护数据卷

yum update(centos),apt-get update;(Ubuntu)

1.创建一个本地数据卷

代码语言:txt
复制
docker volume create -d local mysql_node2

2.绑定数据卷

  • volume:普通数据卷,映射到主机/var/lib/docker/volumes路径下;
  • bind:绑定数据卷,映射到主机指定路径下;
  • tmpfs:临时数据卷,只存在于内存中。
代码语言:txt
复制
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.数据卷容器

代码语言:txt
复制
docker run -it -v /vData --name vData centos:7
代码语言:txt
复制
 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网络

代码语言:txt
复制
docker network ls

创建自定义网络

代码语言:txt
复制
docker network create 
--subnet=172.20.1.0/24 net1

在创建时指定网段和IP,请使用--net=net1 --ip 172.20.1.3,参考下面的命令:

代码语言:txt
复制
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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 搭建docker私有云仓库
  • 数据卷
  • 网络
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档