美文网首页
Docker教程-----容器管理

Docker教程-----容器管理

作者: 单曲_循环 | 来源:发表于2021-03-14 21:57 被阅读0次
  1. 启动一个容器:
    docker run alpine /bin/echo "Hello Docker"
    image.png
  • 运行结束,容器终止 STATUS : Exited
  • docker会自动生成一个名字,这个例子中是:ecstatic_euclid

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

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

我们再来看一个例子:
docker run --name myalpine -it alpine /bin/sh

image.png
docker 以镜像alpine为模板启动了一个容器, 我们将容器命名为myalpine, 在启动之后并进入容器使用/bin/sh作为命令解释器.这个时候哦我们可以执行一些常见的命令
  1. 让容器在后台(守护进程方式)运行
    docker run -d --name myalpine alpine /bin/sh

但是我们发现状态是exited, 容器启动后就会在后台运行,然后返回一个容器ID到控制台,而且上面这个容器也终止了

我们看参数的详细解释:

Name, shorthand Description
--interactive , -i Keep STDIN open even if not attached
--tty , -t Allocate a pseudo-TTY
--detach , -d Run container in background and print container ID

再尝试一个例子:
docker run --name alpine -d alpine /bin/sh -c "while true; do echo $((i++)); sleep 1;done"

image.png
当我们attach进去之后
image.png

至于这里为什么只显示5 ,或者你可能显示得是其他得数字, 这里以后细细研究

  1. 从容器中退出
    exit OR ctrl+c

    image.png
  2. 启动已终止的容器
    docker start myalpine

    image.png
  3. 进入在后台运行的容器
    docker attach myalpine

    image.png
    或者: nsenter (包含在 util-linux中)
    yum install util-linux
    我们使用一个脚本来进入容器
    vim docker_in.sh
#! /bin/bash
# Use nsenter to access docker container
docker_in(){
NAME_ID=$1
PID=$(docker inspect --format "{{ .State.Pid}}" $NAME_ID)
nsenter --target $PID --mount --uts --ipc --net --pid /bin/sh
}
docker_in $1

执行 :
chmod +x ./docker_in.sh
./docker_in.sh myalpine

image.png
但是发现通过nsenter进入的容器环境有很多不一样的地方,比如ls不能使用, 文件环境不一样, 这里回头再更新改进...........
  1. 不进入容器让容器执行命令
    docker exec alpine whoami
    image.png

同时, 使用exec还可以进入容器
docker exec -it alpine /bin/sh

image.png

相关文章

  • 2020-08-01docker详解教程

    docker详解教程博客 1.1docker容器管理商 1.2docker安装镜像 docker-ce的镜像源ht...

  • Docker

    Docker入门教程 Docker组成 1.docker服务端,docker服务端是一个服务进程,管理着所有的容器...

  • Docker教程-----容器管理

    启动一个容器:docker run alpine /bin/echo "Hello Docker"image.pn...

  • Docker19.2-入门教程03-容器管理

    容器管理 快速启动容器 #docker run -it centos /bin/bash 启动容器 #docker...

  • Docker基础

    来源:Docker容器安全监控系统设计与实现_简智强 Docker架构 Docker作为Linux容器管理...

  • docker/docker-compose的命令

    docker 命令 容器生命周期管理 容器操作 容器rootfs命令 rootfs 根文件系统,即docker的镜...

  • compose 安装与卸载

    compose 是 docker 官方推荐的 docker 容器集群管理工具,能极其方便的管理容器集群 安装方式 ...

  • Docker搭建ELK开发环境教程

    容器搭建ELK开发环境教程 一、docker安装 参考:https://www.runoob.com/docker...

  • docker常用命令

    Docker环境信息 — docker [info|version]容器生命周期管理 — docker [crea...

  • Docker入门

    目录 一、Docker介绍二、安装Docker三、镜像管理四、通过容器创建镜像五、通过模板创建镜像六、容器管理七、...

网友评论

      本文标题:Docker教程-----容器管理

      本文链接:https://www.haomeiwen.com/subject/otwccltx.html