博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
6.Docker之终端交互能力
阅读量:5092 次
发布时间:2019-06-13

本文共 1037 字,大约阅读时间需要 3 分钟。

一、在docker内运行应用程序


docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器启动后运行一个应用程序,在这里只是输出一句话:hello world!

命令说明:

docker::Docker 的二进制执行文件;

run:与前面的 docker 组合来运行一个容器; 

tomcat:7:指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库Docker Hub 下载公共镜像;

/bin/echo “Hello world”:在启动的容器里执行的命令

以上命令的意思可以理解为:Docker 以 tomcat:7镜像创建一个新容器,然后在容器里执行 bin/echo “Hello world”并输出结果,最后关闭容器

当我们查看正在运行的容器时,却没发现有容器运行着:

原因在于:

在没有 docker 容器的时候,在终端(terminal)中运行 shell 命令,我们知道当终端退出时(比如关闭终端窗口或退出 ssh 会话),终端中执行的命令也会结束。

所以,当我们在终端中执行持续运行的任务或服务时,我们需要让其跳出当前 shell 进程,在后台运行(比如以 daemon 方式运行)即Docker容器的主线程结束,容器会退出。

我们需要让 Docker 容器在后台以守护态(Daemonized)形式运行,可以通过添加 -d 参数来实现。

 

二、运行交互式容器


 交互,即交流互动,所以交互式容器是指我们可以和运行中的容器进行“对话”,说白了就是我们可以进入容器中进行任何操作。

命令:docker run -i -t 镜像 /bin/bash

  • - t:在新容器内指定一个伪终端或终端。 
  • - i:允许你对容器内的标准输入 (STDIN) 进行交互。

我们尝试在webapps内创建一个logs目录,然后退出交互模式:

接着,我们启动自动帮我们创建的容器,进入webapps目录查看是否存在logs目录:

总结:

①.使用docker run -i -t 镜像 /bin/bash命令交互,是在新容器内指定一个伪终端或终端,最后会帮我们将这个新容器生成出来;

②.对于已启动的容器,我们可以使用docker exic -it 容器 /bin/bash来达到和运行的容器进行交互

 

转载于:https://www.cnblogs.com/Json1208/p/8955562.html

你可能感兴趣的文章
STL 案例分析
查看>>
[ActionScript 3.0] AS3 双A字模型
查看>>
后台管理项目简单小总结------彭记(021)
查看>>
死磕JDK源码之Thread
查看>>
jekyll 安装 ...
查看>>
微信页面关于点击按钮关注公众号放到链接里无关注按钮
查看>>
python 字典处理的一些坑
查看>>
构建oracle12c的Docker镜像
查看>>
用户权限命令(chmod,chown,umask,lsattr/chattr)
查看>>
Maven详解
查看>>
Linux系统中‘dmesg’命令处理故障和收集系统信息的7种用法
查看>>
数据结构 : Hash Table [II]
查看>>
面向对象的小demo
查看>>
获取地址栏参数
查看>>
java之hibernate之helloworld
查看>>
微服务之初了解(一)
查看>>
Iterator invalidation(迭代器失效)
查看>>
GDOI DAY1游记
查看>>
OpenGL(三)MFC中应用OpenGL的两个类
查看>>
小白眼中的git操作
查看>>