Jerry's Blog

Recording what I learned everyday

View on GitHub


28 April 2021

Docker 1 -- container基础

by Jerry Zhang

为什么要用Docker?

安装软件时,经常会因为环境不同导致各种问题,比如某个安装时需要的工具不存在,或者某个依赖不存在等等。使用Docker可以使软件运行在一个相对封装的环境中,不需要安装任何东西,拿来就能用。

运行一个container

docker run <image name>

也可以重写要在这个container中执行的命令:

docker run <image name> <command>
# docker run busybox ls

但是这个命令overite只能在创建时,一旦创建后就无法更改了。

查看当前正在运行的containers

docker ps
docker ps --all # 显示所有运行过的container,包括关掉的

删除所有的container和images

docker system prune

查看logs

docker logs <container id>

docker stop

docker stop/kill <container id>

运行的容器跟外部是隔绝的

当我们运行docker run redis时,默认的命令是redis-server。但此时,我们没办法直接通过redis-cli使用redis,因为这个容器跟外部是隔绝的。

进入到容器内部

docker exec -it <container id> <command>
# docker exec -it <container id> sh

-i 是把当前的shell跟容器的输入连接,-t 是优化输出格式。

或者在创建时就用sh

docker run -it busybox sh
tags: Docker