这一篇讲docker的基本操作。

请自行安装docker到自己的电脑上。

镜像的获取

要获取镜像,最简单的当然是从仓库去获取,docker的官方网站很不好练,其他的可选项有docker中国官网,阿里镜像源等。

比如搜索一下ubuntu的镜像

$ sudo docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 9395 [OK]
dorowu/ubuntu-desktop-lxde-vnc Docker image to provide HTML5 VNC interface … 289 [OK]
rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 211 [OK]
consol/ubuntu-xfce-vnc Ubuntu container with "headless" VNC session… 169 [OK]

docker search这个命令是从远程仓库里面搜索包含关键字 ubuntu 的镜像。

结果中的NAME就是镜像的名字,DESCRIPTION是简单介绍,STARS是点赞的数量,OFFICIAL表明是否官方发布。

好了,接下来下载镜像

$ sudo docker pull ubuntu
Using default tag: latest
latest: Pulling from ubuntu
012a7829fd3f: Pull complete
41158247dd50: Pull complete
916b974d99af: Pull complete
a3ed95caeb02: Pull complete
4690e5728418: Pull complete
a2053833ec7f: Pull complete
1b700a1dac9a: Pull complete
77a6d79569f7: Waiting
9ed1cec5982d: Download complete
38b435f68399: Download complete

这里我们拉取consol/ubuntu-xfce-vnc这个镜像,这个名字就是刚才search搜索出来的。pull 这个命令有没有非常熟悉?

使用命令查看镜像

$ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 94e814e2efa8 5 weeks ago 88.9MB

你会看到类似的界面,这就是所有你本地的镜像。

创建容器

接下来就开始创建容器吧,仅仅一个镜像是没什么用的,还记得之前说的,镜像只是一个只读文件吗?

$ sudo docker run -it -name test ubuntu /bin/bash
root@9bd0ee41adba:/#

这个命令用于创建容器

docker run 是创建容器的命令,-it是创建交互的通道,就是第二行显示的,可以对容器里面的bash进行操作,/bin/bash 是启动容器之后,容器运行的命令,命令运行完,容器就会退出,但bash是一直在运行的,所以除非显式关闭,容器,不然这个容器是不会自己退出的。

当然,你也可以试试这个

$ sudo docker run -it ubuntu echo "hello word"
hello word

这个就只打印一个输出,容器就退出了。

查看运行中的容器

$ sudo docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8f413e6bf249 ubuntu "/bin/bash" 57 seconds ago Up 54 seconds priceless_bell

这个就是刚才我们创建的容器了。

退出后的容器可以用这个命令查看

$ sudo docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8f413e6bf249 ubuntu "/bin/bash" 21 minutes ago Exited (0) 15 seconds ago priceless_bell

后记

至此,已经算是会用docker了,后续如果要继续钻研,那就老老要实实买本书去深入看看了。

最新文章

  1. 微信小程序开发日记——高仿知乎日报(中)
  2. bootstrap表格分页
  3. FastDFS介绍
  4. 【C#】委托
  5. hdu3308 线段树 区间合并
  6. 【网络流24题----03】Air Raid最小路径覆盖
  7. android小笔记
  8. /MD, /MDD, /ML, /MT,/MTD(使用运行时库)
  9. Python3.X与Python2.x的区别
  10. return机制
  11. 安装RabbitMQ编译erlang时,checking for c compiler default output file name... configure:error:C compiler cannot create executables See 'config.log' for more details.
  12. Java NIO Channel通道
  13. 170217、nginx 安装时候报错:make: *** No rule to make target `build', needed by `default'. Stop.
  14. 第二个spring, 第7天
  15. 函数前加static与不加static的区别
  16. mysql 数据库操作 数据库的增删改查
  17. 【调优】kafka性能调优
  18. 对WebSocket技术的学习与探索(二)
  19. Win7下如何使用GCC编译器
  20. struts框架问题六之从值栈中获取值

热门文章

  1. 用squid做http/https正向代理
  2. Python startswith()函数 与 endswith函数
  3. 入门级 - 码云(Gitee),GitHub 教程
  4. 如何在windowserver2012 r2服务器AD域控制器中创建一个域管理员帐号
  5. 微信 公众号 小程序 授权 unionid 用户信息 实验总结
  6. Java学习---多线程的学习
  7. 沉淀再出发:OpenStack初探
  8. 最近编译tolua_runtime安卓编译错误
  9. Wannafly挑战赛18 E 极差(线段树、单调栈)
  10. kvm 虚拟机