If you want to get into container and look around, you can use:

docker container exec

to run against a running container. And to do that, we need to know the id / name of the running container.

To get id / name of the container, we can do:

docker container ls

For example, the name of the container is called: elegant_noether.

docker container exec elegant_noether du -mh

And 'du -mh' will print out the size of each folder:

$ docker container exec elegant_noether du -mh
16K ./error/include
220K ./error
44K ./build
.0K ./htdocs
892K ./include
72K ./conf/extra
72K ./conf/original/extra
96K ./conf/original
268K ./conf
260K ./icons/small
1.3M ./icons
20K ./cgi-bin
4.5M ./modules
.0K ./logs
1.2M ./bin
8.4M .

Running commands is cool, but we can also attach a shell to those containers and browse them just like they were a full operating system.

The -i and -t flags can be passed to the exec command to keep an interactive shell open, and you can specify the shell you want to attach after the container ID. Here we'll attach a standard Bash shell.

docket container exec -it elegant_noether /bin/bash

We're in! From the perspective of the terminal window we're just navigating a normal Unix system, so any commands we type will run inside of that system. Try typing that same command we just ran with exec from inside the container.

Now to check the size of each folder, we can just do:

du -mh
$ docker container exec -it elegant_noether /bin/bash
root@a8c267869b0b:/usr/local/apache2# du -mh
16K ./error/include
220K ./error
44K ./build
.0K ./htdocs
892K ./include
72K ./conf/extra
72K ./conf/original/extra
96K ./conf/original
268K ./conf
260K ./icons/small
1.3M ./icons
20K ./cgi-bin
4.5M ./modules
.0K ./logs
1.2M ./bin
8.4M .

Another thing we can do once we’re in a container’s shell is install new programs, or packages, that aren’t part of the base image. Let’s install the fortunes package.

apt-get install -y fortunes

The package was installed in

/usr/games/fortune

It’s kind of annoying to have to type /usr/games/ before the fortune command, so let’s update the PATH environment variable in the container so that we don’t have to type all of that anymore.

PATH=$PATH:/usr/games/

Now we can export path:

export PATH

After that we can just type 'fortune' to start the game

[Docker] Accessing a Container的更多相关文章

  1. docker的网络-Container network interface(CNI)与Container network model(CNM)

    Overview 目前围绕着docker的网络,目前有两种比较主流的声音,docker主导的Container network model(CNM)和社区主导的Container network in ...

  2. Docker入门03——Container

    1 启动容器 1.1 新建并启动 1.2 启动已终止容器 2 后台运行 3 终止 4 进入容器 5 导入和导出 5.1 导出 5.2 导入 6 删除 1 启动容器 1.1 新建并启动 docker r ...

  3. docker Cannot start container [8] System error: exec format error

    docker Cannot start container  [8] System error: exec format error 学习了:https://www.aliyun.com/jiaoch ...

  4. Docker 容器(container)

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  5. Docker实现退出container后保持继续运行的解决办法

    现象: 运行一个image,例如ubuntu14.04: 1 docker run -it --rm ubuntu:14.04 bash 退出时: 执行Ctrl+D或者执行exit 查看线程: 1 d ...

  6. Redis in Docker on Linux Container

    记录:在Docker中运行一个Redis实例当我们在Windows系统中安装好Docker以后,在Hyper-V中会自动创建一个Linux虚拟机,如果这个虚拟机没有运行,说明当前运行的是Windows ...

  7. centos rancher 通过本机 docker images 新增container

    示例目标: 将centos 本地的docker image ,通过rancher 进行 add container 相关步骤: step 1 : rancher 所在 centos 主机,有相应的 d ...

  8. Docker之删除container和image

    删除所有停止的container: docker rm $(docker ps -a -q) 删除所有未标记的image docker rmi $(docker images | grep " ...

  9. Docker - 避免启动container后运行shell脚本执行完成后docker退出container

    问题 最近在使用 Dockerfile 启动容器,发现使用Dockerfile调用容器里面的shell,当shell执行完成以后,docker会退出容器. 分析 Docker 在执行shell的时候, ...

随机推荐

  1. Date类的用法

    package example; import java.text.DateFormat; import java.text.ParseException; import java.text.Simp ...

  2. Win8.1恢复这台电脑里的6个文件夹

    平台:win8.1 问题:网络下载的ghost版8.1,装好后“这台电脑”里没有6个常用的文件夹. 解决:导入下列注册表项即可 Windows Registry Editor Version 5.00 ...

  3. PHPki

    PHPki PHPki是一个基于开放源码Web的应用程序,用来管理遵守HIPAA的多代理"公钥基础结构".它可以用于创建X.509数字证书,并主要为支持S/MIME的电子邮件客户端 ...

  4. drawerLayout-监听事件四个方法介绍

    1.首先我们看一下它的监听事件的生命周期 代码如下 mDrawerLayout.setDrawerListener(new DrawerListener() { @Override public vo ...

  5. Android中Alarm的机制

    本次给大家分析的是Android中Alarm的机制所用源码为最新的Android4.4.4.首先简单介绍如何使用Alarm并给出其工作原理,接着分析Alarm和Timer以及Handler在完成定时任 ...

  6. COOKIE传值

    1.遍历所有cookie foreach (string  _key in Request.Cookies.AllKeys)//遍历主键            {                Htt ...

  7. 原生js大总结十一

    101.请简述prototype.__proto__ constructor三者的关系   1.prototype:     每一个函数都有一个prototype这个属性,而这个属性指向一个对象,这个 ...

  8. 【河南省多校脸萌第六场 A】巴什博弈?

    [链接]http://acm.nyist.me/JudgeOnline/problem.php?cid=1013&pid=5 [题意] 在这里写题意 [题解] 0..a-1 YES a..a+ ...

  9. PatentTips - Resource partitioning and direct access utilizing hardware support for virtualization

    BACKGROUND The present disclosure relates to the resource management of virtual machine(s) using har ...

  10. CODEVS——T 1993 草地排水 USACO

    http://codevs.cn/problem/1993/  时间限制: 2 s  空间限制: 256000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 De ...