docker run
docker run ubuntu:18.04 /bin/echo "Hello world"
- docker run:运行一个容器
- ubuntu:1804:指定运行的镜像,如果本地不存在,从镜像仓库Docker Hub下载
- /bin/echo "Hello world":在启动的容器里执行命令
docker run -i -t ubuntu:18.04 /bin/bash
- 使用 -i -t,让Docker运行的容器实现对话功能
- -t:在容器内指定一个伪终端或终端
- -i:允许你对容器内的标准输入(STDIN)进行交付
- exit:使用exit退出
docker run -d ubuntu:18.04 /bin/sh -c "while true;do echo hello world;sleep 1;done"
使用以上命令创建一个以进程方式运行的容器
- -d:表示默认不会进入容器,想要进入容器使用
docker exec
在输出中,我们没有看到期望的 "hello world",而是一串长字符
2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63
这个长字符串叫做容器 ID,对每个容器来说都是唯一的,我们可以通过容器 ID 来查看对应的容器发生了什么。
docker ps
我们需要确认容器有在运行,可以通过 docker ps 来查看
docker ps
输出详情介绍:
- CONTAINER ID:容器 ID。
- IMAGE:使用的镜像。
- COMMAND:启动容器时运行的命令。
- CREATED:容器的创建时间。
- STATUS:容器状态。
状态有7种: - created(已创建)
- restarting(重启中)
- running 或 Up(运行中)
- removing(迁移中)
- paused(暂停)
- exited(停止)
- dead(死亡)
- PORTS:容器的端口信息和使用的连接类型(tcpudp)。
- NAMES:自动分配的容器名称。
docker ps -a
查看已经停止运行的容器
docker logs && docker stop
在宿主主机内使用 docker logs 命令,查看容器内的标准输出:
docker logs 2b1b7a428627
使用docker stop停止一个容器
docker stop 2b1b7a428627
docker pull
如果我们本地没有 ubuntu 镜像,我们可以使用 docker pull 命令来载入 ubuntu 镜像:
docker pull ubuntu
docker attach
使用命令容器启动并进入容器,当退出容器时,容器停止。使用docker ps 会发现没有该容器
docker attach 2b1b7a428627
docker exec
docker exec -it 2b1b7a428627 /bin/bash
注: 退出后不会导致容器停止
docker export
将本地文件导出
docker export 2b1b7a428627 > ubuntu.tar
导出容器 2b1b7a428627 快照到本地文件 ubuntu.tar
docker import
可以使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu: v1:
cat docker/ubuntu.tar | docker import - test/ubuntu:v1
此外,也可以通过指定 URL 或者某个目录来导入,例如:
docker import http://example.com/exampleimage.tgz example/imagerepo
docker rm
删除容器使用docker rm
docker rm -f 1e560fca3906
docker container prune
清除掉所有处于终止状态的容器
docker container prune