[Docker] Accessing a Container
Posted Answer1215
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Docker] Accessing a Container相关的知识,希望对你有一定的参考价值。
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 8.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 8.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 [email protected]:/usr/local/apache2# du -mh 16K ./error/include 220K ./error 44K ./build 8.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 8.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的主要内容,如果未能解决你的问题,请参考以下文章
《iOS Human Interface Guidelines》——Accessing User Data
tried accessing the SQLite plugin but Cordova is not available
[Spring boot] Configuring and Accessing a Data Source
[React] Improve developer experience for accessing context with a custom React hook
numpy使用[]语法索引二维numpy数组中指定指定列之前所有数据列的数值内容(accessing columns in numpy array before specifc column)
iframe跨端口报错 Blocked a frame with origin from accessing a cross-origin frame