Docker容器入门
为什么要看docker
从去年起就或多或少的接受了docker的熏陶,主要还是Infoq在去年有很多关于docker的实践视频讲座,记得有一篇是《Docker在雪球的技术实践》,当时听的也不是很明白,就萌生了了解docker的想法。
可惜由于工作的关系,一直没有接触到这方面的内容,因此学习的计划也就暂时搁置。直到前不久京东促销买了本docker的书籍、又上网买了本盗版的电子书,想趁着春节好好学习一番,没想到回家就玩了。
直到最近抽出时间读一下《第一本docker书》,就当做先了解了解。
我理解的docker
通过看了前几章的书,以及百度了解,大体上理解了什么是docker。
按照我的理解,docker其实就是一种虚拟化的技术。就像virtualBox,你可以在windows上安装,然后通过不同的镜像装不同的系统。而docker也是差不多,只不过它不是一种操作系统,而是在原生的系统之上直接虚拟出一个容器。这个容器有独立的进程、权限、资源、网络等等。
docker的口号跟java有点像,一次编写,到处运行。因为docker本身作为一种容器,在什么地方安装都是一样的(现在对平台还是有一定要求的),而不管内部装的是什么。
因此开发者只要写代码然后把程序放在容器中运行起来就行;运维人员呢,只需要了解怎么部署docker容器就可以了。
这样就完全解决了,开发完的东西在开发人员自己电脑上好使,到别人电脑上就不好使的问题。
docker能做什么
通过上面的介绍,大致了解docker的生命周期可能是这样的:
- 构建:构建容器
- 分发:CI持续集成,部署,镜像
- 运行:以守护进程的方式运行
那么docker到底都可以做什么呢?
- 加速本地开发、构建流程
- 在不同的环境中,得到相同的运行结果
- 隔离的环境测试
- 构建Paas
不过需要注意一点的是,docker目前对安装环境还是有一定要求的。比如:
- 1 64位CPU
- 2 3.8+内核
- 3 存储驱动,
- 4 内核开启cgroup和命名空间
docker的常用命令
运行容器:
sudo docker run -i -t ubuntu /bin/bash
查看容器列表:
docker ps -a
容器命名:sudo docker run --name bob_the_container -i -t ubuntu /bin/bash
重新启动:
sudo docker start bob_the_container
创建守护容器:
sudo docker run --name daemon_dave -d ubuntu /bin/bash -c "while true;do echo hello world; sleep 1;done"
带时间查看日志:
sudo docker logs -ft daemon_dave
查看容器内的进程:
sudo docker top daemon_dave
容器内运行进程:
sudo docker exec -d daemon_dave touch /etc/new_config_file
交互式运行进程:
sudo docker exec -t -i daemon_dave /bin/bash
停止守护进程:
sudo docker stop daemon_dave或者sudo docker stop 43wqihds8324
自动重启容器:
sudo docker run --restart=always --name daemon_dave -d ubuntu /bin/bash -c "while true;do echo hello world; sleep 1;done"
查看容器详细信息:
sudo docker inspect daemon_dave
删除容器:
sudo docker rm 823919fdsfdas3
删除所有容器:
docker rm 'docker ps -a -q'
Docker容器入门的更多相关文章
- 自动化集成:Docker容器入门简介
前言:该系列文章,围绕持续集成:Jenkins+Docker+K8S相关组件,实现自动化管理源码编译.打包.镜像构建.部署等操作:本篇文章主要描述Docker基础用法. 一.Docker简介 1.基础 ...
- docker容器入门最佳教程
为什么要写这个 简单回答是:容器技术非常热门,但门槛高. 容器技术是继大数据和云计算之后又一炙手可热的技术,而且未来相当一段时间内都会非常流行. 对 IT 行业来说,这是一项非常有价值的技术.而对 I ...
- Docker容器入门篇
第1章 Docker简介 1.1 Docker容器介绍 Docker官网:https://www.docker.com/ 什么是docker? Docker 最初是 dotCloud 公司创始人 So ...
- Docker容器入门实践
Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linux 基金会,遵从了 ...
- Docker容器入门介绍
1.前言 Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机.不过,Docker 跟传统的虚拟化方式相比具有众多的优势.Docker: 本意是码头工人,言外之意是集装箱: Java号称 ...
- Docker 容器入门
1.1 容器简介 1.1.1 什么是 Linux 容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件.容器提供的镜像包含了应用的所有依赖项, ...
- Docker容器入门之一:部署SpringBoot项目
一.环境准备: 1.vm虚拟机: Workstation 12 Pro 12.5.7 build-5813279 2.Centos 7 在虚拟机上安装好Centos7系统后,就可以开始准备安装D ...
- Docker容器入门-基本命令的使用
目前容器技术使用相当广泛 不会或者没有使用过容器感觉都不像是个搞技术的 所以,我也就docker相关内容做一个整理 只有不断的学习,才能保持自己的竞争力 什么是容器? 容器是一种轻量级.可移植.自包含 ...
- 自动化集成:Pipeline整合Docker容器
前言:该系列文章,围绕持续集成:Jenkins+Docker+K8S相关组件,实现自动化管理源码编译.打包.镜像构建.部署等操作:本篇文章主要描述流水线集成Docker用法. 一.背景描述 微服务架构 ...
随机推荐
- C#实现按键精灵的'找图' '找色' '找字'的功能
背景:游戏辅助功能通常使用按键精灵编写脚本,按键精灵的最大卖点就是能够找到画面中字,图,色,这对于模拟用户鼠标操作至关重要,这能找到道具,找到血量,实现自动打怪,自动补血,自动买卖道具,博主闲来无聊, ...
- rsync+inotify实现远程数据备份
一.rsync的基本介绍 1. 什么是rsync Rsync是一款开源的.快速的.多功能的.可以实现增量的本地货远程数据镜像同步备份的优秀工具,Rsync使用与unix,linux,windows等 ...
- 启动tomcat时遇到的问题
1.当启动Tomcat时,出现了如下信息: The APR based Apache Tomcat Native library which allows optimal performance in ...
- oracle exists
公司项目中有用到exists,感觉挺有用的,拷贝一些感念的东西. “exists”和“in”的效率问题 1) select * from T1 where exists(select 1 from T ...
- 前端学习之回调函数、call方法、apply方法
今天学习的内容比较少,大部分时间是自己在写qq音乐和京东移动端的页面.现在说说今天学到的内容: 首先,回调函数,就是在函数内部中调用另外一个函数, 将一个函数当作参数传给另一个函数,被传的函数叫做回调 ...
- 百度音乐api
百度音乐全接口 会利用使用接口找歌简单又快捷 http://tingapi.ting.baidu.com/v1/restserver/ting 获取方式:GET 参数:format=json或xml& ...
- vs2010中的MSBuild输出warning MSB8012问题
vs2010中,MSBuild与C++编译器无缝整合.无论使用vs2010生成的代码,还是转换vs2008或者是更低版本vs编译的C++代码.都会在工程编译后,都会提示一条错误: C:\Program ...
- 【整理】--【字符设备】cdev_init()/cdev_alloc(),cdev_add(),cdev_del()
(1) 内核中每个字符设备都对应一个 cdev结构的变量,下面是它的定义: linux-2.6.22/include/linux/cdev.h struct cdev { struct kobject ...
- LINUX下常用SHELL指令
Linux Shell常用shell命令 一.文件.目录操作命令 1.ls命令 功能:显示文件和目录的信息 ls 以默认方式显示当前目录文件列表 ls -a 显示所有文件包括隐藏文件 ls -l 显示 ...
- ps(process status)
1.PS ps -a(all):显示现行终端机下的所有进程,包括其他用户的进程: ps -ax: 同时加上x参数会显示没有控制终端的进程. ps -j:显示与作业有关的信息:会话ID.进程组ID等 ...