很久很久以前,第一次听说docker时,感觉很高大上,同时自我感觉会很难。所以一直没有详细了解。前一段时间偶尔看到关于docker的详细介绍,于是乎来了兴趣。自已折腾了一下,发现不是想象中的那么难。

最近闲来无事,想之前安装的步骤总结一下,以免忘记。(好记性不如烂笔头)

Docker和传统虚拟化技术的对比

相比传统虚拟机技术,Docker资源占用少,启动更快,很大的方便了项目的部署和运维。
Docker是在操作系统层面上实现虚拟化,复用本地主机的操作系统,传统方式是在硬件的基础上,虚拟出多个操作系统,然后在系统上部署相关的应用。

下面的这张图片参考相关博文,很形象的说明了Docker和VM之类的传统虚拟化技术的区别:

 vs

一、安装docker

root@base0298:~# yum install docker

二、启动docket

root@base0298:~# systemctl start docker
root@base0298:~# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)Active: active (running) since 五 2017-12-08 10:22:49 CST; 2s agoDocs: http://docs.docker.comMain PID: 24917 (docker)CGroup: /system.slice/docker.service└─24917 /usr/bin/docker daemon --selinux-enabled

三、基本信息查看

docker version:查看docker的版本号,包括客户端、服务端、依赖的Go等

docker version
docker info

四、搜索镜像并下载镜像
  docker search <image>:在docker index中搜索image

root@base0298:~# docker search centos
INDEX       NAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/centos                             The official build of CentOS.                   3861      [OK]
docker.io   docker.io/ansible/centos7-ansible            Ansible on Centos7                              103                  [OK]
docker.io   docker.io/jdeathe/centos-ssh                 CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x8...   90                   [OK]
docker.io   docker.io/tutum/centos                       Simple CentOS docker image with SSH access      34
docker.io   docker.io/imagine10255/centos6-lnmp-php56    centos6-lnmp-php56                              33                   [OK]
docker.io   docker.io/gluster/gluster-centos             Official GlusterFS Image [ CentOS-7 +  Glu...   21                   [OK]
docker.io   docker.io/kinogmt/centos-ssh                 CentOS with SSH                                 17                   [OK]

docker pull <image> :从docker registry server 中下拉image

root@base0298:~# docker pull docker.io/centos
Using default tag: latest
Trying to pull repository docker.io/library/centos ... latest: Pulling from library/centos
99d067612410: Pull complete
fb2a47779ef8: Pull complete
358bf47a7a64: Pull complete
Digest: sha256:7192ec204ee4b953a9c9212ebd78575a334d041333d8f58387aa648f72a7fd8a
Status: Downloaded newer image for docker.io/centos:latest

五、查看镜像

docker images: 列出images

docker images -a :列出所有的images(包含历史)

docker images --tree :显示镜像的所有层(layer)

docker rmi  <image ID>: 删除一个或多个image

root@base0298:~# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
docker.io/centos    latest              358bf47a7a64        8 days ago          203.5 MB

六、启动容器并修改镜像

镜像下载到本地以后,就可以使用Docker运行,
通过下面的命令参数启动容器

docker run <相关参数> <镜像 ID> <初始命令>

-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,
格式:-v <宿主机目录>:<容器目录>

我的相关程序都在当宿主机的/app/tools目录下,并且想把它挂载到容器的相同目录下:

root@base0298:~# docker run docker.io/centos /bin/echo hello
hello
交互模式:root@base0298:/app/tools# docker run -itv /app/tools:/app/tools 358bf47a7a64 /bin/bash            # ‘358bf47a7a64’是IMAGE ID 也可以直接使用镜像的名字:docker.io/centos
[root@3b8c6a292396 /]# ls /app/tools/

也可以使用镜像‘仓库名’
root@base0298:/app/tools# docker run -itv /app/tools:/app/tools docker.io/centos /bin/bash
[root@3b8c6a292396 /]# ls /app/tools/mongodb-linux-x86_64-3.0.6.tgz   pgadmin3-1.16.1.zip       php5.6.tar.gzastrill-setup-linux64-new.rpm   mtree-1.0.3.tar.gz             pgadmin3.msi

然后就可以和宿主机一样的操作了。

  七、查看容器

docker ps :列出当前所有正在运行的container
    docker ps -l :列出最近一次启动的container
    docker ps -a :列出所有的container(包含历史,即运行过的container)
    docker ps -q :列出最近一次运行的container ID

转载于:https://www.cnblogs.com/luck123/p/8004504.html

和docket的第一次亲密接触相关推荐

  1. 《民富论》之读后感--与创业的第一次亲密接触

    <民富论>之读后感        ――与创业的第一次亲密接触 前一段时间读了一本<穷爸爸,富爸爸>的书,开始对理财有了兴趣,同时也是因为具备了理财的条件――资产已经由负转正,可 ...

  2. 与chatGPT的第一次亲密接触

    最近,chatGPT火了,不管传统媒体,还是各种自媒体平台都在说它.今天我突然也想注册一个玩玩,注册前2步还行,但是等点开邮箱校验时,打开网页显示: 上网查了一下,没向中国开放服务:如要注册除了要邮箱 ...

  3. day01 与MySQL的第一次亲密接触基础查询条件查询

    <尚硅谷>MySQL系统课程一共6天,下面介绍第1天的学习内容,主要涉及MySQL的内容介绍.进阶1基础查询和进阶2条件查询.干货满满,跟着课程的进度来的,可能篇幅略长,但是看完一定会有收 ...

  4. 小甲鱼python 第001讲:我和Python的第一次亲密接触

    文章目录 第000讲:愉快的开始 第001讲:我和Python的第一次亲密接触 讲课思尻 思尻题 1.python是脚本类型的语言 2.IDLE是什么 3.print()的作用 4.为什么 >& ...

  5. 1、第一次亲密接触Linux

    1.第一次亲密接触Linux (1)学会使用快捷键 Ctrl+C:表示终止当前命令 Tab:自动补全功能 Ctrl+D:退出当前终端 Ctrl+Z:表示暂停当前进程 Ctrl+L:表示清屏 (2)学会 ...

  6. 001我和Python的第一次亲密接触

    001我和Python的第一次亲密接触 一.测试题 二.动动手 总结 一.测试题 Python 是什么类型的语言? A:脚本语言 IDLE 是什么? A:IDLE是一个Python Shell,就是一 ...

  7. 第一次亲密接触IT技术(第一天)

    第一次亲密接触IT技术(第一天) 心得体会 本人在IT培训行业打拼16年,一直从事市场岗位,第一次亲密接触IT技术,了解计算机的基础原理,通过对于第一个任务的学习.思考.解决过程,主要学习了计算机进制 ...

  8. 我和python的第一次亲密接触

    我和python的第一次亲密接触 测试题: 0. Python 是什么类型的语言? Python是一种脚本语言,写好了就可以直接运行 Python是一种面向对象.解释型.动态类型计算机程序设计语言  ...

  9. 001我和Python的第一次亲密接触(根据小甲鱼视频编写)

    001我和Python的第一次亲密接触(根据小甲鱼视频编写) IDLE是一个Python Shell,Shell的意思是"外壳",基本上来说就是通过键入文本与程序交互的途径. &g ...

最新文章

  1. 上班摸鱼,刚刚发现在 VScode 中可玩魂斗罗,超级玛丽
  2. 英飞凌单片机TC264实战攻略
  3. [NOTE] SQL与sqlmap
  4. PAT_甲级_1002_C语言
  5. 在网上找到一个CSS hack列表,记录在这里以分析css的浏览器兼容性
  6. Docker入门到精通开发指南(一文搞懂)
  7. Spring第七弹—依赖注入之注解方式注入及编码解析@Resource原理
  8. Python 在数据科学中一直打压 R 语言?
  9. python官网的软件-Python编程软件 V3.9.0 官方最新版
  10. 产品的细节能决定成败吗?
  11. OpenCV实现摄像机标定和像素转换,surf寻找特征点,FLANN匹配算子进行匹配
  12. java小球碰撞界面设计_JavaScript实现小球碰撞特效
  13. 2020-12-29
  14. Linux -shell 基础
  15. hdu-5064(dp)
  16. JS简单总结(前端ES6和JQ)
  17. 二.微信小程序代码的构成
  18. base64真正的作用和意义
  19. react 和 vue(组件化) 实现两份数据的差异对比 合并及撤销
  20. 深度 | 张正友:计算机视觉的三生三世 | CCF-GAIR 2019

热门文章

  1. 数据结构的java实现
  2. 关于渲染流水线的几何变化
  3. Moss/Sharepoint 为特定用户组设置特定视图以及可见视图,自定义列表新建页,修改页和显示页(无代码法)...
  4. QEBA:基于类边界查询访问的黑盒攻击
  5. 2020年最前沿的 8 本AI技术图书—文末留言赠8本
  6. linux如何添加默认路由表_linux 添加静态路由
  7. 如何解决anaconda出现CondaHTTPError问题
  8. C++ vector类型要点总结(以及各种algorithm算法函数)
  9. ROS在rviz中实时显示轨迹和点
  10. python企业级框架_Python六大开源框架对比:Web2py略胜一筹(转)