Docker入门3------手动编辑自定义镜像
手动编辑自定义镜像
查看本地现有镜像:

基于centos创建一个,会自动下载centos最新原始镜像
docker run -it --name=web centos /bin/bash

然后在容器内安装redis服务:
[root@b11c52af3a09 /]# mkdir /main
[root@b11c52af3a09 /]# cd /main/
[root@b11c52af3a09 main]# yum install -y wget vim
[root@b11c52af3a09 main]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz
[root@b11c52af3a09 main]# tar -zvxf redis-5.0.3.tar.gz
# 编译环境
[root@b11c52af3a09 main]# yum install -y gcc make
[root@b11c52af3a09 main]# cd redis-5.0.3
# 编译
[root@b11c52af3a09 main]# make
# 修改配置文件(修改监听,密码,端口等设置后保存退出)
[root@b11c52af3a09 redis-5.0.3]# vim redis.conf
# 启动测试
[root@b11c52af3a09 src]# /main/redis-5.0.3/src/redis-server
4221:C 21 Feb 2019 08:20:23.477 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
4221:C 21 Feb 2019 08:20:23.477 # Redis version=5.0.3, bits=64, commit=00000000, modified=0, pid=4221, just started
4221:C 21 Feb 2019 08:20:23.477 # Warning: no config file specified, using the default config. In order to specify a config file use /main/redis-5.0.3/src/redis-server /path/to/redis.conf
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0.3 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 4221
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
继续在docker容器内部使用客户端测试也ok,可以退出容器了.
查看最近创建的这个容器,名字是WEB

查看这个容器发生的变化
docker diff b11c52af3a09会输出居多无比的信息提交容器修改
[root@localhost main]# docker commit --help
Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
Create a new image from a container's changes
Options:
-a, --author string Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")
-c, --change list Apply Dockerfile instruction to the created image
-m, --message string Commit message
-p, --pause Pause container during commit (default true)
- 提交修改为一个镜像,指定提交内容,指定提交那个容器(web或者容器id),指定镜像的名称和版本号
[root@localhost main]# docker commit -a "sam@demo.com" -m "copile redis on centos" web sam/myredis:v1
sha256:e1cb69f9e47d78f20757f2770cdf5acede29e47ca61a194dbbaaee9babb64f6a
可以发现自己的镜像生成了!

查看修改记录
docker history sam/myredis:v1

使用本地的镜像提供redis服务
[root@localhost main]# docker run -p6379:6379 -d sam/myredis:v1 /main/redis-5.0.3/src/redis-server
11c4d73c5e14329c5ca7c582f8bbd0cc668665a8d7f631601e456a16bed2b2cc

要想再次进入运行的容器内部: exec
docker exec -it 11c4d73c5e14 /bin/bash

而使用ctrl+p+q可以将该容器置于后台,而不是马上exited
于是整个手动构建就成功了
Docker入门3------手动编辑自定义镜像的更多相关文章
- Docker入门(四)——MySQL镜像中的数据库可视化
在详细介绍这篇文章的内容前,需要说明下笔者写这篇文章的意图:笔者在现有的开发中,前后端联调的方式为Docker镜像对接,数据库使用MySQL镜像,开发环境为远程服务器,因此,笔者迫切需要一种能将远 ...
- 使用docker创建含有FFmpeg的自定义镜像
Dockerfile文件 FROM openjdk:8-jre-alpine MAINTAINER "yvioo" RUN echo "http://mirrors.al ...
- Docker 11 自定义镜像
参考源 https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0 https://www.bilibili.com/vid ...
- Docker入门教程(九)10个镜像相关的API
Docker入门教程(九)10个镜像相关的API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第九篇,重点介绍了镜像相关的Docker Remote ...
- docker 笔记(基本概念、快速运行、自定义镜像)
1.docker docker是一个打包应用的工具 非常强大,能把操作系统也打在包里,进行无差别部署和运行. 所以docker也被认为是建立在操作系统上的虚拟机. 2.基本概念 镜像(image) ...
- docker构建自定义镜像
docker构建自定义镜像 要构建一个镜像,第一步准备所需要的文件,第二步编写Dockerfile文件,比如我现在构建一个java web镜像 第一步:准备java web工程的war包文件(这里假设 ...
- 阿里云自定义镜像可以免费保存,ECS实例到期后自定义镜像手动快照不会被删除
阿里云自定义镜像可以免费保存,ECS实例到期后自定义镜像手动快照不会被删除 4. ECS 实例释放后,自定义镜像是否还存在? 存在. 5. ECS 实例释放后,快照是否还存在? 保留手动快照,清除自动 ...
- Docker入门与应用系列(二)镜像管理
1.1 什么是镜像 简单说,Docker镜像是一个不包含Linux内核而又精简的Linux操作系统. 1.2 镜像从哪里来 Docker Hub是由Docker公司负责维护的公共注册中心,包含大量的容 ...
- docker入门——安装(CentOS)、镜像、容器
Docker简介 什么是docker 官方解释: Docker is the company driving the container movement and the only container ...
随机推荐
- 超简单的okhttp封装工具类(上)
版权声明:转载请注明出处:http://blog.csdn.net/piaomiao8179 https://blog.csdn.net/piaomiao8179/article/details/ ...
- python3 + flask + sqlalchemy +orm(2):数据库中添加表
往数据库中添加一张保存文章的表,表明为article,字段有id,title,content 同样一个配置文件:config.py DEBUG = True #dialect+driver://roo ...
- eclipse工具中使用Data Source Explorer连接数据库(MySQL)
1.进入Eclipse工具,打开Data Source Explorer.Window==>Show View==>Data Source Explorer(注:如果找不到请选择Other ...
- LNAMP服务器环境(源码安装)
在安装前先看下它们安装时所需要的依赖库:http://www.cnblogs.com/fps2tao/p/7699448.html 1.nginx源码安装 下载:http://nginx.org/en ...
- vivado和modelsim联合调试仿真
vivado和modelsim联合调试仿真 0赞 发表于 2017/5/10 19:10:59 阅读(881) 评论(0) 使用vivado和modelsim联合调试仿真时,在破解完modelsim后 ...
- pandas Series的sort_values()方法
pandas Series的 sort_values() 方法能对Series进行排序,返回一个新的Series: s = pd.Series([np.nan, 1, 3, 10, 5]) 升序排列: ...
- PON
PON(Passive Optical Network:无源光纤网络). PON(无源光网络)是指(光配线网中)不含有任何电子器件及电子电源,ODN全部由光分路器(Splitter)等无源器件组成,不 ...
- RSA/SHA1加密和数字签名算法在开放平台中的应用
加密算法 加密算法分为两大类:1.对称加密算法:2.非对称加密算法. 密钥个数 加密 解密 对称加密 一个 使用密钥加密 使用同一个密钥解密 非对称加密 两个,公钥和私钥 使用其中一把密钥加密 使 ...
- 消息中间件系列三:使用RabbitMq原生Java客户端进行消息通信(消费者(接收方)自动确认模式、消费者(接收方)自行确认模式、生产者(发送方)确认模式)
准备工作: 1)安装RabbitMQ,参考文章:消息中间件系列二:RabbitMQ入门(基本概念.RabbitMQ的安装和运行) 2.)分别新建名为OriginalRabbitMQProducer和O ...
- sprintf的Bug
]; sprintf(buffer,,,); 这样一般不崩溃,但是10次,有那么一次会崩溃 我只能说后面改成 0.0就可以了...