容器

一、启动容器

启动一个容器有两种方式:

1.基于镜像新键并启动一个容器:

所需要的主要命令为docker run

docker run ubuntu:18.04 /bin/echo "hello"

#启动一个bash终端
docker run -t -i ubuntu:18.04 /bin/bash

其中,-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上, -i 则让容器的标准输入保持打开。

当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:

  • 检查本地是否存在指定的镜像,不存在就从公有仓库下载
  • 利用镜像创建并启动一个容器
  • 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
  • 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
  • 从地址池配置一个 ip 地址给容器
  • 执行用户指定的应用程序
  • 执行完毕后容器被终止

2.启动一个已终止容器 

可以利用 docker container start 命令,直接将一个已经终止的容器启动运行。

二、后台运行容器

可以通过添加 -d 参数来实现。

docker run -d ubuntu:18.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"

此时容器会在后台运行并不会把输出的结果 (STDOUT) 打印到宿主机上面(输出结果可以用 docker logs 查看)。

使用 -d 参数启动后会返回一个唯一的 id,也可以通过 docker container ls 命令来查看容器信息。

要获取容器的输出信息,可以通过 docker container logs 命令。

三、终止容器

可以使用 docker container stop 来终止一个运行中的容器。

此外,当 Docker 容器中指定的应用终结时,容器也自动终止。

docker container stop 216501648b22

四、进入容器

1.attach 命令   

#进入终端
docker attach 243c

2.exec 命令 

docker exec 后边可以跟多个参数,这里主要说明 -i -t 参数。

只用 -i 参数时,由于没有分配伪终端,界面没有我们熟悉的 Linux 命令提示符,但命令执行结果仍然可以返回。

当 -i -t 参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符。

如果从 stdin 中 exit,不会导致容器的停止。这就是为什么推荐大家使用 docker exec 的原因。

docker exec -it d63242b36965 bash

五、导入和导出

1.导出容器快照到本地

docker export 7691a814370e > ubuntu.tar

2.导入容器快照 

可以使用 docker import 从容器快照文件中再导入为镜像

cat ubuntu.tar | docker import - test/ubuntu:v1.0

七、删除容器

可以使用 docker container rm 来删除一个处于终止状态的容器:

docker container rm 40ce498f9d3d

清理所有属于终止状态的容器:

docker container prune

转载于:https://www.cnblogs.com/Shadowplay/p/10231053.html

Docker操作笔记(二)容器相关推荐

  1. 【Docker学习笔记 二】Docker安装、运行流程与常用命令

    上一篇Blog详细介绍了Docker为什么会出现,是为了解决什么问题而出现:Docker的基本组成部分.架构.本篇Blog就来详细了解下Docker如何安装.卸载以及常用的操作命令有哪些.因为Dock ...

  2. Docker学习笔记(一)-容器、镜像和客户端与守护进程

    0x00 前言 一直使用过docker,但并不是太了解,于是开始学习了解一下 0x01 docker简介 1.什么是容器? 一种虚拟化的方案 操作系统级别的虚拟化 只能运行相同或相似内核的操作系统 依 ...

  3. Docker学习笔记(二)--进阶篇

    文章目录 1. Docker复杂安装 1.1 安装Mysql的主从复制 主从搭建步骤 1.2 安装Redis集群 1.2.1 面试题:1~2亿条数据需要缓存,请问应该怎样设计 1.2.2 三主三从集群 ...

  4. docker学习笔记(二)创建自己的镜像

    目录 image与container的可读写性 创建自己的镜像 dockerfile语法 创建自己的springboot项目image(Dockerfile方式) 推送镜像到镜像仓库(阿里云) 通过C ...

  5. docker操作笔记

    简介 1.安装docker程序 执行该命令即可安装 # 1.yum 包更新到最新 yum update # 2.安装需要的软件包, yum-util 提供yum-config-manager功能,另外 ...

  6. docker学习笔记-6.容器关联,容器网络

    在server1  , server2安装并配置keepalived [root@docker-server1 ~]# yum install  keepalived –y [root@docker- ...

  7. Docker自学笔记 (二)

    容器数据卷 什么是容器数据卷 将应用 和环境打包成一个镜像! 如果数据都在容器中,容器一删除数据就会丢失.需求:数据持久化 容器之间可以用一个数据共享的技术!Docker 容器中产生的数据,同步到本地 ...

  8. Docker操作笔记(四)使用网络

    使用网络 Docker允许通过外部访问容器或容器互联的方式来提供网络服务. 一.外部访问容器 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射. 当 ...

  9. docker学习笔记-为容器配置重启策略

    docker容器配置重启策略 docker restart policies docker容器的退出状态码 0 表示正常退出 非0 表示异常退出(退出状态码采用chroot标准) 125 Docker ...

最新文章

  1. C++条件变量使用详解
  2. AI一分钟 | NLP先驱Aravind Joshi教授去世,曾获ACL终身成就奖;年度花木兰诞生,甘薇全权负责贾跃亭的一地鸡毛
  3. spring bean加载过程_Spring源码剖析3:Spring IOC容器的加载过程
  4. 移动应用开发——实验六
  5. php require persion denied,php,nginx_php+nginx配置权限问题(13: Permission denied),php,nginx - phpStudy...
  6. sql 2008 每次打开一个表都要登录_如何实现一个简易的orm
  7. bash shell简介及变量
  8. php设置自动关机开机,设置电脑自动开机关机方法介绍
  9. Zabbix触发器和监控项设置时间范围.
  10. LIRe 源代码分析 2:基本接口(DocumentBuilder)
  11. registerClassAlias()函数和getClassByAlias()函数
  12. 影刀RPA实操指南丨90%用户都会陷入的excel自动化误区
  13. krita绘图_如何使用Krita制作动画视频
  14. 简单易懂的ROC曲线和AUC面积
  15. MIPS汇编程序设计——Cousera
  16. ICPC Greater New York Region 2020 L Evenly Separated Strings
  17. 使用开源人脸特征提取器进行脸部颜值评分
  18. ajax高级程序设计_javascript高级程序设计核心知识总结
  19. 不能换行 俄语 前端h5_H5兼容问题及解决方法
  20. 高中数学知识点-高考回归课本的100个问题(实用干货)

热门文章

  1. 【算法】Bellman-Ford算法(单源最短路径问题)(判断负圈)
  2. 关于WDM驱动开发的不错资料(来自codeproject)
  3. JLink接口的SWD接法
  4. 串口协议的制定以及串口中怎样接收一个完整数据包的解析
  5. html中的盒子设置时间设置,CSS中的间距设置与盒子模型
  6. phpmyadmin 无法载入 mysql 扩展_phpMyAdmin“无法载入mysql扩展,请检查PHP配置”解决方法...
  7. python更新到什么版本_Linux更新Python版本及修改python默认版本的方法
  8. java decompiler_Java Decompiler(Java反编译工具)
  9. php curl 下载图片,CURL实现下载远程图片并保存到本地
  10. UML 中关系详解以及在visio中的表示