Docker创建自己的镜像与上传流程详解
作者:Echoo2787 发布时间:2023-06-16 06:38:04
引入
在部署毕节服务器时遇到了个问题:
  因为在三台服务器做好ovirt-engine
超融合后,在主节点服务器上部署可视化平台需要安装mysql5.7
,但是安装mysql
时需要卸载一些依赖,但是由于怕影响原有的postgresql
数据库和ovirt-engine
的服务组件,选择了用docker
容器部署mysql
数据库。
  在顺利创建好容器,配置好mysql
远程连接后,发现用navicat
死活连不上,部署mysql8
也连不上,能改的配置文件都改了,路由也开放了,端口也开放了,就是不得行。非常怀疑是ovirt-engine
超融合的一些设置影响了docker
容器和宿主机的网络沟通。
  后面没办法就创建了台虚拟机作为mysql
服务器。
  隔了一天偶然翻博客发现docker
容器有个主机模式
,这玩应好像直接用的宿主机的网络和端口。于是尝试着在自己公司部署了一下,还真行。然后就想着直接部署好创建一个自己的镜像,以后方便点。于是就有了这篇部署记录。
了解Docker的资源隔离和主机模式
此模式下 dockers
容器与宿主机在同一个网络中,但没有独立IP地址。
docker
使用了Linux
的Namespaces
技术来进行资源隔离,如:
PID Namespace
隔离进程Mount Namespace
隔离文件系统Network Namespace
隔离网络等
一个Docker
容器一般会分配一个独立的Network Namespace
。但如果启动容器的时候使用host
模式,那么这个容器将不会获得一个独立的Network Namespace
,而是和宿主机共用一个Network Namespace
。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。
创建 centos7 容器
创建mysql
数据目录
mkdir -p /usr/mysql/data
创建容器
docker run -dit --name mysql5.7 --privileged=true --network=host \
-v /usr/mysql/data:/var/lib/mysql \
centos:centos7 /usr/sbin/init
因为用了主机模式--network=host
,所以就不用映射端口了。
进入容器
docker exec -it mysql5.7 /bin/bash
安装必要的工具
yum install -y wget
部署mysql5.7
传送门
创建Docker Hub仓库
https://hub.docker.com/
注册登录创建自己的仓库,可以是公共也可以是私有
注意自己的仓库命名,最好是见名知义,因为仓库名就是后面镜像的名称
在服务器上登录你的 docker
docker login
生成镜像
创建自己的镜像
docker commit -m "centos7 with mysql5.7" -a "echoo" a3dee73dbafa cent7sql:5.7
-m
描述信息
-a
作者信息 a3dee73dbafa
容器id
cent7sql:5.7
镜像名:版本标签
注意:当你登录了自己的 docker
后,查看镜像你会发现镜像名多了点东西 如docker.io/centos
,这里的docker.io
就是Docker Hub
的公共用户名,centos
则是镜像仓库的名字。 此时我这个镜像名是不符合规则的,如果直接推送会报错,必须按照用户名/仓库名:版本标签 这样的规则命名,这就是为啥上面创建仓库的时候说最好要见名知义。
更改镜像名字(重新打一个标签)
docker tag cent7sql:5.7 echoo2787/centos7:sql5.7
这样的命名就可以啦
提交镜像
docker push echoo2787/centos7:sql5.7
这个命令在创建仓库完成后那个页面右边可以找到
等待推送完成就好,如果报拒绝错误,检查是不是镜像命名和要求不一致。
来源:https://blog.csdn.net/qq_31856061/article/details/126969402


猜你喜欢
- 1. 准备java环境,jdk1.8检查java是否安装,如果没有则先安装java环境:java -version2. 安装Jenkins官
- 修改hostname[root@centos7 ~]$ hostnamectl set-hostname hadoop001 # 使用这个命
- Sendmail是在Unix环境下使用最广泛的实现邮件发送/接受的邮件传输代理程序。 由于Sendmail邮件服务器的特点是功能强大而复杂,
- 向导秘诀:要确定通过取消不必要的系统服务所节约的内存空间,需要使用Windows任务管理器,以下为操作步骤:在取消系统服务前重启系统并不要启
- 综合 * 站点,往往因为使用的社区应用较多,针对不同社区应用提供了多个后台。对于新浪、腾讯这样的大型媒体来说,各个栏目都有对应的人员分工,操
- 注意:入侵时目标如果是linux服务器,看切忌清理痕迹的时候别忘记history命令的记录哦!1、修改/etc/profile将HISTSI
- 进程描述进程描述符(task_struct)用来描述进程的数据结构,可以理解为进程的属性。比如进程的状态、进程的标识(PID)等,都被封装在
- 有许多新的搜索引擎(最新统计有100多个)都在开创一些搜索技术的创新。下面是一份17大搜索创新清单,我们认为,这些创新将来会是破坏性的(译者
- godaddy是全球最大的域名注册商,这家公司是美国公司,最近他们进入了中国市场,并且支持了支付宝付款这种方式,现在购买godaddy域名已
- 核心提示: 说说我访问错误的处理,更明确地说是301错误和404错误。由于网站来来回回地换了几次空间,而且访问方式也发生的变化,原来是使用链
- 4月19日,在“2008第三届中国互联网站长年会”上,蓝色理想创始人曾沐阳在接受专访的时候表示,大家不要轻易做个人站长,要有充分的思想准备,
- 首先最大的亮点就是软文推广,目前用户比较喜欢的就是视频推广和软文推广,这样的推广也最不耗力气,而又最有效率的一种方式了。视频最好的例子就是最
- linux smb.conf详解 服务名:smb配置目录:/etc/sabma/主配置文件:/etc/sabma/smb.conf#====
- 随着互联网的发展,e-mail迅速成长成为主要的网络信息传递工具。面对大量要求能够快速,廉价,和高可信赖的e-mail需求,很多公司和个人都
- 网站标题标签在搜索中的具有重要意义,搜索引擎是通过关键词来选择网站的,而网站的标题是搜索引擎寻找关键词的主要目的地。建站三个多月以来,对于网
- 一.首先进入Godaddy首页点Web Site Hosting,如下图然后在Deluxe Plan下选购买时间和所需操作系统(Linux或
- 10月10日消息,据南方都市报报道,新闻出版总署有关负责人昨日表示,10月份新闻出版总署将集中力量联合组织一次对网络游戏审批和运营服务的全面
- 现象大家在使用 Apache Spark 2.x 的时候可能会遇到这种现象:虽然我们的 Spark
- 原文标题为设计人32个好习惯,写的不错,很激励人心。说是设计人其实很多人都适用,我就给它小小的扩大了一下范围,换成了IT工作者,应该更合适的
- 这是我根据我们服装网站的情况以及总结了一些通用的SEO方法,希望能对大家起到作用!搜索引擎优化方案:1. 做一个链接完整的网站地图。2. 关