设为首页 收藏本站
查看: 1274|回复: 0

[经验分享] Docker学习之容器

[复制链接]

尚未签到

发表于 2019-2-21 12:32:08 | 显示全部楼层 |阅读模式
  简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用。
  启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。
  新建并启动
  # docker run ubuntu:16.04 /bin/echo "hello world"
  启动一个bash终端,运行用户交互
  # docker run -it ubuntu:16.04 /bin/bash
  root@1f778f9011c3:/# pwd
  /
  启动已终止容器:
  可以利用 docker container start 命令,直接将一个已经终止的容器启动运行。
  # docker container start
  

  后台运行
  不加-d 参数,一直在宿主机打印hello world
  # docker run ubuntu:16.04 /bin/sh -c "while true;do echo hello world;sleep 1;done"
  hello world
  hello world
  hello world
  hello world
  加-d 参数 后台运行,输出结果用docker logs  查看
  # docker run -d ubuntu:16.04 /bin/sh -c "while true;do echo hello world;sleep 1;done"
  # docker logs 952
  注: 容器是否会长久运行,是和 docker run 指定的命令有关,和 -d 参数无关。
  

  终止容器
  # docker container stop
  已经终止的容器 docker container ls -a 可以看到,状态为Exited
  # docker container start  启动已终止的容器
  # docker container restart  停止一个运行状态的容器,再重新启动它
  进入容器
  attach命令attach
  # docker run -dit ubuntu
  7e74e9d5309d4a93a804a26c155209b81d9ef4320cfa315c585e8713b2f94dc2
  [root@localhost ~]# docker container ls
  CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
  7e74e9d5309d        ubuntu              "/bin/bash"         8 seconds ago       Up 6 seconds                            agitated_curie
  # docker attach 7e74
  root@7e74e9d5309d:/# cat /etc/os-release
  NAME="Ubuntu"
  VERSION="18.04 LTS (Bionic Beaver)"

  root@7e74e9d5309d:/# exit
  exit
  从这个stdin中exit,会导致容器的停止;
  exec命令,推荐使用;exec -it  /bin/bash
  # docker run -dit ubuntu
  # docker exec -it 51fc bash

  从这个stdin中exit,不会导致容器的停止;
  导入导出容器
  导出容器快照到本地 docker export  > name.tar
  # docker ps -a
  CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
  51fc79bce0e0        ubuntu              "/bin/bash"         5 minutes ago       Exited (0) 2 seconds ago
  # docker export 51fc79bce0e0 > ubuntu.tar
  # ls -lh
  -rw-r--r--  1 root root  69M May 14 13:53 ubuntu.tar
  导入容器快照
  # cat ubuntu.tar |docker import - test/ubuntu:v1.0
  sha256:e5a67314033cf0ba8c81302e780c5b18e5172692c7f5cad1a8b532080edab1c2
  # docker image ls
  REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
  test/ubuntu         v1.0                e5a67314033c        5 seconds ago       69.8MB
  删除容器
  删除一个处于终止状态的容器
  # docker container rm  or
  如果要删除一个运行中的容器,可以添加 -f 参数。Docker 会发送 SIGKILL 信号给容器。
  清理所有处于终止状态的容器
  用 docker container ls -a 命令可以查看所有已经创建的包括终止状态的容器,如果数量太多要一个个删除可能会很麻烦,用下面的命令可以清理掉所有处于终止状态的容器。
  # docker container prune




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-675359-1-1.html 上篇帖子: 腾讯课堂:了解it技术圈的虚拟化容器化之docker (二) 下篇帖子: 使用docker 原生overlay网络部署夸宿主机访问
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表