首先我们可以输入docker命令来查看Docker客户端的所有命令选项
可以通过docker command --help 更深入的了解指定的Docker命令使用
docker stats --help 来查看指令的具体使用方法
如果我们本地没有镜像 我们可以使用docker pull命令来载入镜像:(以ubuntu为例子)
$ docker pull ubuntu
默认的是会拉取最新的版本
启动容器
docker run -it ubuntu /bin/bash
其中 -i 指的是交互式操作 -t指的是终端
/bin/bash:放在镜像后面是命令,我们希望有个交互式Shell ,因此使用/bin/bash
如果要退出终端
直接输入exit 或者Ctrl+d
查看所有的容器命令:
docker ps -a
其中我们大多数使用的是第一列,也就是容器id 和最后一行Names 指的是随机生成的容器名称
启动一个容器
docker start 1ba859774adb
后面的字符串指的就是容器ID
后台运行
如果我们希望docker的服务是在后台运行的,我们可以通过 -d指定容器的运行模式
$ docker run -itd --name ubuntu-test ubuntu /bin/bash
停止一个容器
docker stop 容器id
重新启动一个容器
docker restart 容器id
进入容器
这里有两个命令
1.docker attach
2.docker exec 推荐大家使用exec,因为如果在这个命令进入容器后,退出终端的时候,不会导致容器的停止
导出和导入容器
如果要导出本地某个容器,可以使用docker export命令
$ docker export 1e560fca3906 > ubuntu.tar
导入容器快照
$ cat docker/ubuntu.tar | docker import - test/ubuntu:v1
删除容器
docker rm -f 容器id
$ docker container prune 这条命令可以清理所有处于终止状态的容器
运行一个web应用
我们再docker容器中运行一个Pyhon Flask应用来运行一个web应用
docker pull training/webapp
docker run -d -P training/webapp python app.py
-d 让容器在后台运行
-P 将容器内部使用的网络端口随机映射到我们使用的主机上
我们也可以通过 -p 参数来设置不一样的端口
docker run -d -p 5000:5000 training/webapp python app.py
查看正在运行的容器
docker ps
网络端口的快捷方式
使用docker port 可以查看指定id或名字容器得某个确定钝口映射到宿主机得端口号
图中我们容器的id为ee0ee3b8bc57 名称为elastic_dijkstra
查看 WEB 应用程序日志
docker logs id或者名字 可以查看容器内部的标准输出
docker logs -f ee0ee3b8bc57
-f 让docker logs 像使用tail -f 一样来输出容器内部的标准输出
查看WEB应用程序容器的进程
我们可以使用docker top 来查看容器内部运行的进程
docker top ee0ee3b8bc57
检查 WEB 应用程序
使用docker inspect 来查看Docker的底层信息 会返回一个JSON文件记录着Docker容器的配置和状态信息
docker inspect elastic_dijkstra
停止 WEB 应用容器
docker stop elastic_dijkstra
重启WEB应用容器
docker start elastic_dijkstra
移除WEB应用容器
docker rm elastic_dijkstra
删除容器时,容器必须是停止状态 否则会报错