Docker系列三
来源:互联网 发布:混合视频矩阵 编辑:程序博客网 时间:2024/04/30 12:48
在Docker系列一和二,已经安装好docker,并能启动、停止docker容器了,容器是属于Docker生命周期中的启动或执行阶段,在系列三就来了解下Docker生命周期的构建、打包阶段 – 镜像。
Docker镜像是由文件系统叠加而成的,其最底端是一个引导文件系统bootfs,位于bootfs之上的是root文件系统rootfs, 如Ubuntu系统或Centos系统。
Docker采用了一种写时复制(copy on write)的技术,加上镜像分层框架(image-layering framework),可以快速构建镜像并运行包含自己的应用程序和服务的容器。
列出本地Docker主机的可用镜像
命令:
docker images
这些是之前创建容器时,下载保存在本地宿主机的镜像。
查找Docker Hub上的公共可用镜像
命令:
docker search mysql
这个命令查找所有带有mysql的镜像,这些镜像已经可以运行mysql服务了,拉下来就可以运行使用的了。
现在拉取marvambass/mysql这个镜像到本地看看,这是一个基于Ubuntu14.04的Mysql Server:
基于这个镜像启动一个容器:
看看关于mysql文件的位置:
启动数据库service mysql start
,发现启动失败:
看了数据库的版本信息后,发现是使用apt软件包安装的方法安装的mysql:
在Ubuntu环境下,软件包通过apt-get install方式来安装的,当该软件包出现问题的时候,可以通过dpkg-reconfigure命令对原来的软件包进行修复: dpkg-reconfigure mysql-server-5.5
– 注意: 这里的数据库版本要对应安装的版本
执行这个命令后,重新输入一下root的密码即可,完成后,再次启动数据库服务,成功:
注意:
在采用dpkg-reconfigure方式修复mysql后,会有这样一个问题,即mysql数据用户会丢失掉,所以,针对服务器上mysql的用户,还得作一次修复,可以通过以下命令来处理: GRANT ALL PRIVILEGES ON db.* TO user@localhost IDENTIFIED BY “pass”;
这样就可以还原之前系统中的那些用户。
到这里,从Docker Hub搜索一个现有的镜像,到启动新容器,可以很快部署一个服务,而且,实现了开发环境和生产环境的一致。
- Docker系列三
- Docker系列(三)常用命令
- docker系列三: docker安装tomcat
- Docker系列(三):docker搭建服务
- Docker系列之(三):Docker微容器Alpine Linux
- Docker系列之(三):Docker微容器Alpine Linux
- Docker与Kubernetes系列(三): 外部访问Docker容器
- Docker系列之(三):Docker微容器Alpine Linux
- Docker系列~使用Dockerfile构建镜像(三)
- Docker(三)
- Docker学习系列(三):Ubuntu下使用Docker的基本指令记录及一些注意事项
- docker系列之三 :创建自己的image并上传到docker hub
- <docker系列> centos 安装docker
- <docker系列>docker 基本命令
- Docker学习系列-Docker简介
- Docker 学习系列 -- Docker 安装
- Docker实战系列——第三话--docker 监控(三)-- how could we monitoring(1)?
- Docker实战系列——第三话--docker 监控(三)-- how could we monitoring(2)?
- POJ 2752 Milking Grid
- IOS中常见字符串的几种方法
- 静态 static
- 第一篇大数据学习心得
- OC中堆和栈的区别
- Docker系列三
- iOS 应用内付费
- 取反循环,不知道结束次数用do-while语句
- 心上莲花:中医三五事
- 程序猿之华丽转身:写Paper也很重要
- 线性队列
- 算法设计题1.16-绪论-第1章-《数据结构习题集》-严蔚敏吴伟民版
- Ubuntu下PyDev安装
- 蓝懿 iOS 技术交流和心得分享 12.22