Learn Docker(一)—软件安装与常规操作
一、安装Docker
Windows平台
- 在Windows10 X64专业版上可以直接下载Docker原生应用进行安装,在控制面板的程序与功能里启用Hyper-v,之后就可以运行docker程序啦。
Hyper-V是微软的一款虚拟化产品,是微软第一个采用类似Vmware和Citrix开源Xen一样的基于hypervisor的技术。
- 在其他Windows版本里,需要使用Docker Toolbox运行Docker。
docker toolbox是一个工具集,它主要包含以下一些内容:
- Docker CLI 客户端,用来运行docker引擎创建镜像和容器
- Docker Machine. 可以让你在windows的命令行中运行docker引擎命令
- Docker Compose. 用来运行docker-compose命令
- Kitematic. 这是Docker的GUI版本
- Docker QuickStart shell. 这是一个已经配置好Docker的命令行环境
- Oracle VM Virtualbox. 虚拟机
由于Docker引擎的守护进程使用的是Linux的内核,所以我们不能够直接在windows中运行docker引擎。而是需要运行Docker Machine命令 docker-machine, 在你的机器上创建和获得一个Linux虚拟机,用这个虚拟机才可以在你的windows系统上运行Docker引擎。
Linux平台
Get Docker网站为我们提供了一个安装Docker的shell脚本,我们可以通过执行该脚本的方式在Linux上安装。该脚本会判断Linux的版本并进行合适的安装。其命令如下:
sudo wget -qo- https://get.docker.com/ | sh
在安装之后,根据提醒可以再执行命令
sudo usermod -aG docker username(username换成自己的用户名)
该命令会创建docker分组,并将相应的用户添加到这个分组里面。执行后退出,然后重新登录,以便让权限生效。
二、常规操作
- 检查docker的版本,这样可以用来确认docker服务在运行并可通过客户端链接。Docker系统有两个程序:docker服务端和docker客户端。其中docker服务端是一个服务进程,管理着所有的容器。docker客户端则扮演着docker服务端的远程控制器,可以用来控制docker的服务端进程。大部分情况下,docker服务端和客户端运行在一台机器上。
docker version
- 学会使用命令行的工具来检索名字叫做tutorial的镜像。Docker官方网站专门有一个页面来存储所有可用的镜像,网址是:index.docker.io。你可以通过浏览这个网页来查找你想要使用的镜像,或者使用命令行的工具来检索。
docker search tutorial
- 通过docker命令下载tutorial镜像。docker命令和git有一些类似的地方。在docker的镜像索引网站上面,镜像都是按照用户名/镜像名的方式来存储的。有一组比较特殊的镜像,比如ubuntu这类基础镜像,经过官方的验证,值得信任,可以直接用镜像名来检索到。
docker pull learn/tutorial
在docker容器中运行hello world! docker容器可以理解为在沙盒中运行的进程。这个沙盒包含了该进程运行所必须的资源,包括文件系统、系统类库、shell 环境等等。但这个沙盒默认是不会运行任何程序的。你需要在沙盒中运行一个进程来启动某一个容器。这个进程是该容器的唯一进程,所以当该进程结束的时候,容器也会完全的停止。
docker run命令有两个参数,一个是镜像名,一个是要在镜像中运行的命令。
docker run learn/tutorial echo “hello world”
在容器中安装新的程序。
我们之前下载的tutorial镜像是基于ubuntu的,所以你可以使用ubuntu的apt-get命令来安装ping程序:apt-get install -y ping。
备注:apt-get 命令执行完毕之后,容器就会停止,但对容器的改动不会丢失。
在执行apt-get 命令的时候,要带上-y参数。如果不指定-y参数的话,apt-get命令会进入交互模式,需要用户输入命令来进行确认,但在docker环境中是无法响应这种交互的。
docker run learn/tutorial apt-get install -y ping
保存对容器的修改。当你对某一个容器做了修改之后(通过在容器中运行某一个命令),可以把对容器的修改保存下来,这样下次可以从保存后的最新状态运行该容器。docker中保存状态的过程称之为_committing_,它保存的新旧状态之间的区别,从而产生一个新的版本。
首先使用docker ps -l命令获得安装完ping命令之后容器的id。然后把这个镜像保存为learn/ping。
提示:
1. 运行docker commit,可以查看该命令的参数列表。
2. 你需要指定要提交保存容器的ID。(译者按:通过docker ps -l 命令获得)
3. 无需拷贝完整的id,通常来讲最开始的三至四个字母即可区分。(非常类似git里面的版本号)
docker commit 531 learn/ping
执行完docker commit命令之后,会返回新版本镜像的id号。
运行新的镜像。一定要使用新的镜像名learn/ping来运行ping命令。
docker run learn/ping ping www.baidu.com
检查运行中的镜像。使用docker ps命令可以查看所有正在运行中的容器列表(docker ps -a命令可以查看所有容器列表【包含沉睡镜像】),使用docker inspect命令我们可以查看更详细的关于某一个容器的信息。
docker inspect 9b14
发布自己的镜像。
1. docker images命令可以列出所有安装过的镜像。
2. docker push命令可以将某一个镜像发布到官方网站。
3. 你只能将镜像发布到自己的空间下面。这个模拟器登录的是learn帐号。
Learn Docker(一)—软件安装与常规操作的更多相关文章
- 关于docker--详解安装,常规操作,导入导出等(2017-3-29)
测试环境 :CentOS 7.1 64位 目的:展示docker的常规使用(安装,常规操作,导入导出等) 其他:关于原理等请参考文章后面的延伸阅读,本文不做深入探讨,且方法不唯一 0x01 关于安装d ...
- Docker入门2------容器container常规操作
参考转自 https://www.cnblogs.com/jsonhc/p/7760144.html Docker的container 运行一个container的本身就是开启一个具有独立namesp ...
- docker常用软件安装及使用
linux安装docker: sudo wget -qO- https://get.docker.com | sh 启动docker: service docker start 搜索镜像: docke ...
- Windows MongoDB 安装 和 常规操作
一.下载&安装 从官网 https://www.mongodb.com/try/download/community 下载,可以根据情况选择响应版本.本文演示版本为 5.0.7 下载 .msi ...
- Ubuntu 系统服务器初始化配置、安全加固、内核优化和常用软件安装的Shell脚本分享
转载自:https://www.bilibili.com/read/cv13875402?spm_id_from=333.999.0.0 描述: 适用于企业内部 Ubuntu 操作服务器初始化.系统安 ...
- 安装docker以及常规操作
一.安装 docker对内核版本是有要求的,反正建议用7以上的版本,少坑 如果需要卸载旧版本(凡是卸载删除操作都要谨慎!): yum remove docker \ docker-client \ d ...
- 1.docker介绍、命令、容器、镜像、数据卷、Dockerfile、常用软件安装、推送阿里云
一.docker介绍 1.docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各 ...
- Docker 容器中相关软件安装
Docker 容器中相关软件安装 1.介绍 我们从docker hub下载的centos镜像是只有很少的命令,需要单独安装我们所需的相关软件. 2.安装软件 安装yum-utils软件包 该软件包是辅 ...
- python相关软件安装流程图解——虚拟机操作——复制虚拟机主机——CentOS-7-x86_64-DVD-1810
请先确保已经安装了虚拟机 python相关软件安装流程图解——虚拟机安装——CentOS-7-x86_64-DVD-1810——CentOS-01下载 https://www.cnblogs.com/ ...
随机推荐
- tp5 接入腾讯对象存储COS
以前写过一个接入阿里的OSS对象存储的,现在又简单写了个 腾讯COS对象存储. 这里只有COS使用方式,如果对接TP上传 可以去参考 :http://www.cnblogs.com/inkwhite/ ...
- Hadoop源码学习笔记之NameNode启动场景流程五:磁盘空间检查及安全模式检查
本篇内容关注NameNode启动之前,active状态和standby状态的一些后台服务及准备工作,即源码里的CommonServices.主要包括磁盘空间检查. 可用资源检查.安全模式等.依然分为三 ...
- Bessel函数的零点计算 MATLAB
由于MATLAB自己没有附带贝塞尔函数零点,因此使用起来很不方便,特别是在绘制仿真场量时. 下面给出0-9阶的贝塞尔函数零点的计算公式,其中理论上计算零点个数N在50以内时较为精确: function ...
- 验证码生成工具——Jcaptcha
<dependency> <groupId>com.octo.captcha</groupId> <artifactId>jcaptcha</ar ...
- 20155306 《信息安全技术概论》实验二 Windows口令破解
20155306 <信息安全技术概论>实验二 Windows口令破解 [实验目的] 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 [实验人数] 每组1 ...
- thinkphp 去除空格
- 【信息安全】MD5加密浅析
前段时间,网传京东泄露了几G的用户数据,后面又说用户数据是MD5加密的,让大家不要担心,改个密码之类云云. 出于好奇,上网了解了一下这个MD5. 一.MD5加密方式是什么 简单讲,MD5加密是一个用到 ...
- resultMap中的collection集合出现只能读取一条数据的解决方法
查询数据时只能获得collection集合中的的一条数据,相关情况如下: 结果集resultMap: <resultMap id="ManagerRolesAcls" typ ...
- Yii 2.0 中事件的使用
关于PHP的事件处理,参照 http://www.cnblogs.com/mafeifan/p/4322238.html http://www.cnblogs.com/mafeifan/p/43222 ...
- 《手把手教你学DSP-基于TMS320F28335》书中的错误
1. 在书的345页,这种字符串写法是错误的,char *msg. 2. 估计张卿杰可能是个学着.书的风格感觉就是翻译的PDF文档.