Docker | 入门 & 基础操作
Dcoker 入门
确保docker 已经安装好了,如没有装好的可以参考:Docker | 安装
运行第一个容器
docker run -it ubuntu /bin/bash
docker run
:运行容器的命令。
-i
: 保证容器中的 STDIN
标准输入是开启的。
-t
:为容器分配置一个伪tty终端。
ubuntu
: 容器的镜像名称,如不指定版本号,则为最新稳定版本。
/bin/bash
: 指定终端的脚本解析器为 bash
。
在这个容器中,所有的操作和普通的 ubunt
机器一样,所有的操作都可以正常进行,并且docker
还会为这个容器分配 ip,可以通过: cat /etc/hosts
查看。
也可以安装软件:
当执行完操作后,我们可以通过 exit
退出。
容器命名
如果我们在使用命令时,一直使用 docker id
的话,会非常的不方便操作,随然docker
会为容器生成一个随机命名,但并不方便我们记忆,所以我们可以为我们创建的容器命名,命令:docker run --name ubuntu_test -it ubuntu /bin/bash
查看容器 & 启动容器
查看自己的所有容器,命令:docker ps -a
查看自己所有运行中的容器,命令:docker ps
启动已经停止运行的容器,命令:`docker start [docker name]|[docker id]
停止运行的容器,命令:`docker stop [docker name]|[docker id]
能过命令重新附着到运行的容器中,命令:docker attach [docker name]|[docker id]
创建守护式容器
我们在正常使用中,希望容器都可以一直运行一去,但是我们上面的容器,都是交互式容器,只要用户一退出,容器就自动关闭了,所以我们需要创建实护式的容器,当我们退出以后也可以一直运行下去。
docker run -d --name ubunut_docker_test ubuntu /bin/sh -c "while true;do echo hello world; sleep 1;done;"
查看容器中输出的日志,命令:docker logs [docker name]|[docker id]
我们也可以添加参数查看日志:
-f
:一直监控日志进行查看。
-t
:在日志每一行前面加上时间戳。
查看容器内部进程,命令:docker top [docker name]|[docker id]
在容器内部运行命令
我们可以在容器外面直接运行命令对容器内部进行操作。
docker exec -d [docker id]|[docker name] (common)
例如:
docker exec -d ubunut_docker_test mkdir /tmp/ubunut_docker_test
没有输出,说明已经执行成功了,但是日志无法输出,我们如果想要看效果的话,只能去容器内部查看。可以通过命令进入容器内部。
进入守护式容器内部
# 格式
docker exec -it [docker name]|[docker id] /bin/bash
docker exec -it ubunut_docker_test /bin/bash
查看容器的信息
我们平时,除了可以通过 docker ps
查看命令的大致信息外,我们还可以通过 docker inspect [docker name]|[docker id]
来查看单个容器的详细信息:
Docker 的基本操作
- 查看所有运行中的镜像:
docker ps
- 查看本地所有的镜像:
docker ps -a
- 运行镜像:
docker start 镜像名|镜像ID
- 停止镜像:
docker stop 镜像名|镜像ID
- 删除镜像:
docker rm 镜像名|镜像ID
- 得到所有的镜像ID
docker ps -a -q
- 运行所有镜像:
docker start $(docker ps -a -q)
- 停止所有镜像:
docker stop $(docker ps -a -q)
- 删除所有镜像:
docker rm $(docker ps -a -q)
关注公众号,随时获取最新资讯
细节决定成败!
个人愚见,如有不对,恳请斧正!