Docker 中 安装软件并创建新的镜像
2016-06-14 15:14
645 查看
1、在docker中根据已有的镜像然后安装新的软件在生成新的镜像
docker中镜像是个静态的概念,而容器是一个动态的概念,自我感觉有点像程序和进程之间的关系似的。
现在已经有的镜像是 learn/tutorial 现在安装 ping 和vim 生成自己的新的镜像
首先根据镜像运行-->容器并安装软件ping
#docker run -t learn/tutorial apt-get install -y ping
或者先运行容器在安装
#docker run -t -i learn/tutorial
然后 运行
apt-get Install ping
apt-get install vim
如果这个时候会报错提示:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package vim
这是因为镜像中的apt列表不是最新的软件包列表,没有同步导致
这时候需要敲:apt-get update,这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。然后在执行
apt-get install vim 就可以了。这个时候容器中就包含了所需的软件,但是容器结束之后是没有保存的。
在执行
docker commit 容器ID 新的镜像名(假如是ping-vim) 就可以添加一个新的镜像,下次如果想在镜像中运行ping 程序就可以直接使用命令
docker run -i -t (--name=vim-ping,可选) ping-vim ping www.baidu.com
就可以了。
docker中镜像是个静态的概念,而容器是一个动态的概念,自我感觉有点像程序和进程之间的关系似的。
现在已经有的镜像是 learn/tutorial 现在安装 ping 和vim 生成自己的新的镜像
首先根据镜像运行-->容器并安装软件ping
#docker run -t learn/tutorial apt-get install -y ping
或者先运行容器在安装
#docker run -t -i learn/tutorial
然后 运行
apt-get Install ping
apt-get install vim
如果这个时候会报错提示:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package vim
这是因为镜像中的apt列表不是最新的软件包列表,没有同步导致
这时候需要敲:apt-get update,这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。然后在执行
apt-get install vim 就可以了。这个时候容器中就包含了所需的软件,但是容器结束之后是没有保存的。
在执行
docker commit 容器ID 新的镜像名(假如是ping-vim) 就可以添加一个新的镜像,下次如果想在镜像中运行ping 程序就可以直接使用命令
docker run -i -t (--name=vim-ping,可选) ping-vim ping www.baidu.com
就可以了。
相关文章推荐
- docker 日志位置
- boot2docker
- 在IBM Bluemix使用Docker Container制作的MobileFirst Platform Server
- docker系列-初识
- docker基本操作
- 搭建memcached的docker集群
- 搭建zookeeper的docker集群
- 搭建rabbitmq的docker集群
- Dockerfile 笔记
- docker 配置文件引发的问题
- CoreOS项目
- caffe学习笔记1:ubuntu15.04下3分钟完成caffe环境配置(基于docker)
- 如何进入 Docker 容器,保存镜像
- 通过宿主机目录向docker容器传文件
- docker编译fuel
- Docker 清理命令集锦
- docker 命令
- 使Docker提供对外服务的网络配置(桥接与端口)
- Docker 镜像、容器
- 从源码看Docker Registry v2中的Token认证实现机制