成长之路:Docker(三)使用
Hello World
Docker允许在容器内运行应用程序。
docker run
:在容器内运行一个应用程序。
[root@localhost ~]# docker run ubuntu:15.10 /bin/echo "Hello world"
参数解析:
- docker:Docker的二进制执行文件。
- run:与docker组合来运行一个容器。
- ubuntu:15.10:指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker就会从镜像仓库Docker Hub下载公共镜像。
- /bin/echo “Hello world”:在启动的容器里执行的命令。
以上命令的意思为:Docker以ubuntu:15.10镜像创建一个新容器,在容器里执行/bin/echo “Hello world”。
交互式容器
通过docker的参数-i,-t,让docker的容器实现对话:
[root@localhost ~]# docker run -i -t ubuntu:15.10 /bin/bash
root@170eb90f6ea6:/#
参数解析:
- -t:在新容器内指定一个伪终端或终端。
- -i:允许你对容器内的标准输入进行交互。
root@170eb90f6ea6:/#
,此时我们进入了一个ubuntu15.10系统的容器。
在容器中运行命令cat /proc/version
和ls
分别查看当前系统的版本信息和当前目录下的文件列表。
[root@localhost ~]# docker run -i -t ubuntu:15.10 /bin/bash
root@170eb90f6ea6:/# cat /proc/version
Linux version 3.10.0-862.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) ) #1 SMP Fri Apr 20 16:44:24 UTC 2018
root@170eb90f6ea6:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
可以通过运行exit命令或者使用CTRL+D来退出容器。
root@170eb90f6ea6:/# exit
exit
[root@localhost ~]#
启动容器(后台模式)
使用以下命令创建一个以进程方式运行的容器
[root@localhost ~]# docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
b72f4ae245a90a9af586c52fea0213fb72a6cabe5bd197da8460117073bf87d0
b72f4ae245a90a9af586c52fea0213fb72a6cabe5bd197da8460117073bf87d0
这个长字符串叫做容器ID,对每个容器来说都是唯一的,我们可以通过容器ID来查看对应的容器发生了什么。
首先,我们需要确认容器有在运行,可以通过docker ps
来查看:
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b72f4ae245a9 ubuntu:15.10 "/bin/sh -c 'while t…" 3 minutes ago Up 3 minutes dreamy_babbage
详情介绍:
CONTAINER ID: 容器ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATER: 容器的创建时间。
STATUS: 容器状态。
状体有7种:
- created:已创建
- restarting:重启中
- running或up:运行中
- removing:迁移中
- paused:暂停
- exited:停止
- dead:死亡
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。
在宿主主机内使用docker logs
命令,查看容器内的标准输出:
[root@localhost ~]# docker logs b72f4ae245a9
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
[root@localhost ~]# docker logs dreamy_babbage
hello world
hello world
hello world
hello world
hello world
hello world
hello world
停止容器
docker stop
:停止容器。
[root@localhost ~]# docker stop b72f4ae245a9
b72f4ae245a9
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
通过docker ps查看,容器已停止。
成长之路:Docker(三)使用相关推荐
- 十年互联网项目实战经验分享:项目经理成长之路的三个层次
网易项目管理专家雷蓓蓓老师,结合十年互联网项目摸爬滚打的实战经验,首次披露了从业多年来的诸多干货.项目经理要想在升职加薪路上走的更顺,核心要解决的是什么呢?就是怎么样去提升自己的核心竞争力,也就是升& ...
- 从0到1:CTFer成长之路docker环境搭建
1. 安装 docker 使用官方安装脚本安装 sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 也可以使 ...
- CISSP的成长之路(三):怎样获得CISSP认证
在51CTO安全频道特别策划的CISSP的成长之路系列的上一篇< 为什么要获得CISSP认证>里,J0ker介绍了为什么要获得CISSP认证和CISSP的职业发展情况.那需要通过怎样的流程 ...
- python大神的成长之路普通话三分钟_我的成长之路普通话考试说话三分钟范文
我的成长之路普通话考试说话三分钟范文 时间一颗甜蜜的糖果,越吃越觉得有味道.时间是一种药,有点 苦,有点涩.时间是一块木糖醇,偶尔会让你清醒.我的人生就像 糖果,药,木糖醇.正因为它们,我的人生成长路 ...
- python大神的成长之路普通话三分钟_三分钟普通话说话30篇-我的成长之路 - 希赛网...
我的成长之路 每一个人都有自己的成长之路,每个人的成长都有她们自己的故事.我的成长也和大多数的孩子一样是在学习中度过的.有人说,成长是痛苦的.因为它把一个人从天真无邪.无忧无虑的世界,带入了一个充满世 ...
- 十年风雨,一个普通程序员的成长之路(三)铜陵:大雪与加班
大雪.铜陵 在神码,我的每一年都是阶梯式的成长. -> 2012 程序员 -> 2013 开发组长 -> 2014 兼需求经理 -> 2015 开发经理 -> 2016 ...
- 系统架构师成长之路(三)
在当前的互联网领域,大数据的应用已经十分广泛,尤其以企业为主,企业成为大数据应用的主体.大数据真能改变企业的运作方式吗?答案毋庸置疑是肯定的.随着企业开始利用大数据,我们每天都会看到大数据新的奇妙的 ...
- python成长之路第三篇(2)_正则表达式
打个广告欢迎加入linux,python资源分享群群号:478616847 目录: 1.什么是正则表达式,python中得正则简介 2.re模块的内容 3.小练习 一.什么是正则表达式(re) 正则表 ...
- 我的Python成长之路---第三天---Python基础(13)---2016年1月16日(雾霾)
五.Python的常用的内置函数 Python为我们准备了大量的内置函数,如下图所示 这里我们只讨论红框内的内置函数 abs(x) 返回一个数的绝对值(模),参数可以是真说或浮点数 >>& ...
- 我的Python成长之路---第三天---Python基础(9)---2016年1月16日(雾霾)
一.集合 set和dict类似,也是一组key的集合,但不存储value.由于key不能重复,所以,在set中,没有重复的key. 集合和我们数学中集合的概念是一样的,也有交集,并集,差集,对称差集等 ...
最新文章
- 成功解决 class 'AttributeError' : 'Editor' object has no attribute '_Editor__markerMap'
- ABAP modify screen:修改屏幕,实现隐藏、禁止输入字段
- NumPy之:使用genfromtxt导入数据
- Java中随机数的原理,以及使用时的注意点
- java桥_java 泛型--桥方法
- CCF202104-2 邻域均值
- 将现有MFC应用程序迁移到BCGControlBar VC界面库中
- 121. Best Time to Buy and Sell Stock 题解
- gstat | 空间插值(三)——克里金插值之泛克里金和简单克里金
- linux磁盘链路故障
- 有效利用番茄工作法提高效率--XorTime的使用方法
- 如何查找涉密文件_企业如何处理涉密信息文件?这四点必知
- 使用hexo搭建github个人博客网站
- 电脑芯片和服务器芯片,王思聪的服务器和我们的电脑有什么区别?
- Java集合Collection之实现原理解读(LinkedList)
- 数字信号处理技术在各个领域(电信、音频、图像、雷达、声呐等)的用途
- GoEasy使用详解
- 大佬们不会告诉你的史上最全的Java进阶书籍推荐
- 1)华为手机使用电脑批量管理联系人 - 2)华为云空间联系人同步到手机 - 3)华为手机导入联系人列表
- Arun Gupta通过将HTML5与Java EE 7拥抱来提高生产力