docker基本概念2
1 docker 容器,容器可以被创建、启动、停止、删除、暂停等
容器是镜像的一个运行实例,不同的是,他有额外的可写文件层。提供了独立的应用环境。
容器的实质是进程,与宿主机进程不同的是有自己的独立的命名空间。是运行在一个隔离的环境里。
镜像和容器都是分层存储的,容器以镜像为基础层,在其上创建一个当前容器的存储层。
说明:docker指导原则:容器不应该向其存储层内写入任何数据,容器存储层要保持无状态化。所有文件操作应该使用数据卷或者绑定宿主目录,在这些位置的读写操作会跳过容器存储层,直接对宿主进行读写操作,其性能和稳定性更高。
定位到一个容器或者镜像可以是:镜像短ID、镜像长ID、镜像名、镜像摘要
1.1 创建容器,使用 docker create
docker create -it mysql
新建的容器处于停止状态,可以使用 docker start 命令来启动
方法二:新建并启动容器
docker run mysql //相当于是 docker create mysql, docker start两条命令
docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
--rm 表示容器停止后将其删除。
docker run机制
- 检查本地是否存在指定镜像,不存在就从共有仓库下载
- 利用镜像创建并启动一个容器
- 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
- 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中
- 从地址池分配一个ip地址给容器
- 执行用户指定的应用程序
- 执行完毕后容器被终止(当运行的应用退出后容器终止)
1.2 查询容器的日志信息
docker logs [container ID]
1.3 终止容器
docker stop [--time=] containerId
1.4 重启容器
docker restart containerId
2 进入容器,在使用 -d 参数时,容器后台运行,如果要进入容器进行操作可以使用:attach/exec/nsenter
2.1 使用 attach
当多个窗口同时使用attach 到同一个容器时,所有窗口会同步显示。
2.2 使用 exec
docker exec -ti 243c3253 /bin/bash
-t:让容器分配一个终端
-i:让终端保持打开状态进行交互操作
3 删除容器,使用命令 docker rm CONTAINER[CONTAINER...]
4 导出导入容器实现容器迁移
docker export ce5 > test_for_run.tar //导出容器
cat test_for_run.tar | sudo docker import - test/ubuntu:v1. //从本地文件导入容器
说明:docker load 命令导入镜像存储文件到本地镜像库,docker import 导入一个容器快照到本地镜像库。容器快照文件没有历史记录和元数据信息。从容器快照文件导入时可以重新指定标签等元数据。
5 docker 命令可以组合使用,比如要删除镜像为 redis 的镜像,可以使用如下命令
$ docker image rm $(docker image ls -q redis)
docker基本概念2的更多相关文章
- Docker教程:docker的概念及安装
http://blog.csdn.net/pipisorry/article/details/50754385 Why docker 对于运维来说,Docker提供了一种可移植的标准化部署过程,使得规 ...
- 菜鸟系列docker——docker基本概念(1)
docker基本概念 1.准备 这里先介绍容器技术,后续再介绍docker.docker是容器的一种,除docker以外,还存在coreos.不过在当前趋势下容器和docker基本上可以划为等号了. ...
- docker核心概念(镜像、容器、仓库)及基本操作
概要 docker是一种linux容器技术.容器有效的将由单个操作系统挂管理的资源划分到孤立的组中,以便更好的在组之间平衡有冲突的资源使用需求.可简单理解为一种沙盒 .每个容器内运行一个应用,不同的容 ...
- Docker 核心概念、安装、端口映射及常用操作命令,详细到令人发指。
Docker简介 Docker是开源应用容器引擎,轻量级容器技术. 基于Go语言,并遵循Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发 ...
- Docker 基础概念科普 和 常用操作介绍
Docker 基础概念 Docker是什么? Docker的思想来自于集装箱,集装箱解决了:在一艘大船上,可以把货物规整的摆放起来.并且各种各样的货物被集装箱标准化了,集装箱和集装箱之 ...
- 后端技术杂谈9:先搞懂Docker核心概念吧
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- Docker基本概念及架构
一.Docker基本概念 Docker是一个开源的容器引擎,基于Go 语言并遵从 Apache2.0 协议开源.Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布 ...
- Docker容器概念讲解
Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源. Docker是通过内核虚 ...
- docker基本概念,创建、起动实例,保存自定义镜像等常用操作
14年docker火了一阵,当时自学整理了一份文档,后来冷落了. 现在发现很多同事还是想学习docker,但无从下手,所以重新整理了这篇分享,10分钟就可以带你彻底理解docker,并能够创建属于自己 ...
- Docker基本概念填坑
Docker的基本概念填坑 Docker的基本概念填坑 1. Docker的基本组成 Docker Client客户端 Docker Daemon守护进程 Docker Image镜像 Docker ...
随机推荐
- CentOS 7上安装WordPress详细步骤
一.搭建Wordpress服务器环境需求: php 5.2.4 或者更高版本.MySQL 5.0 或者更高版本. 二.搭建Wordpress平台:以下以Wordpress3.92版本为例进行说明,如果 ...
- RAID5工作原理介绍
RAID 5是一种存储性能.数据安全和存储成本兼顾的存储解决方案.以四个硬盘组成的RAID 5为例,其数据存储方式如图4所示:图中,P0为D0,D1和D2的奇偶校验信息,P1为D3,D4,D5的奇偶校 ...
- 【.NET中AOP的实现方案】静态代理
Spring AOP 应该是比较出名的了,今天说的是C#里的AOP,C#的AOP实现的方式有很多种,现在就先介绍静态代理的实现方案: 模拟场景:我们在删除用户,或者更新用户的时候进行数据原始备份,这样 ...
- 转:Python模块学习 ---- httplib HTTP协议客户端实现
httplib 是 python中http 协议的客户端实现,可以使用该模块来与 HTTP 服务器进行交互.httplib的内容不是很多,也比较简单.以下是一个非常简单的例子,使用httplib获取g ...
- MySQL中int(5) 中的5代表什么意思?
对于INT型,MySQL支持指定显示宽度例如:int(5):表示如果数值宽度小于5位,则填满宽度,保证总宽度为5位.默认为int(11),配合zerofill可以看到效果. DROP TABLE IF ...
- Vue 生命周期LIFECYCLE是8个吗?
vue生命周期钩子个数是:11个. export const LIFECYCLE_HOOKS = [ 'beforeCreate', 'created', 'beforeMount', 'mounte ...
- 如何解决Cydia提示错误
删除/etc/apt/sources.list.d该目录下的cydia.list进入var/lib/apt/lists删掉此文件夹下的所有文件,以及partial下的文件,但须保留这个空文件夹.进入/ ...
- mysql循环批量插入测试数据
http://blog.51cto.com/tianxingzhe/1676097 DROP PROCEDURE test_insert ; DELIMITER $$ CREATE PROCEDURE ...
- TOMCAT问题总结
迁移时间--2017年7月9日14:58:12Author:Marydon CreateTime--2016年12月25日21:55:09Author:MarydonTomcat问题总结问题一 A ...
- try/except/else语句
# -*- coding: utf-8 -*- #python 27 #xiaodeng #Python学习手册 868 #try/except/else语句 #try语句分句形式 except: # ...