更多命令查阅 Docker 容器使用 | 菜鸟教程
官网提供的示例
Packaging your software | Docker Docs
docker cli文档
dockerfile 文档
Dockerfile reference | Docker Docs
容器操作
docker ps # 查看允许中的容器
docker ps -a # 查看所有容器
docker run -itd -v /宿主机目录:/workspace -p 6379:6379 --name cjq_redis redis:3.0.6 /bin/bash # 启动容器
# --name : 容器名称 cjq_redis
# 镜像名称 redis:3.0.6
# -p 端口映射 宿主机:容器
# -v 目录挂载
# 例1:docker run -itd -v $(pwd):/app -p 5005:5005 --net clock-bot --name clock-rasa-server cjq/rasa:latest run
docker start 容器id/容器名 # 启动容器
docker stop 容器id/容器名 # 停止容器
docker exec -it 容器id/容器名 /bin/bash # 进入容器
镜像操作
-
更新镜像
docker commit -m="has update" -a="runoob" e218edb10161 cjq/es:v2
e218edb10161: 容器id
镜像名称:cjq/es
V2:tag
-
导出镜像
某些场景下需要将镜像导出,移植到另外一台机器上
方法一:下面使用 docker save 命令根据 ID 将镜像保存成一个文件。
docker save 0fdf2b4c26d3 > hangge_server.tar # 使用镜像id,不推荐,这种方式稍后加载的时候,镜像名字会变成None
docker save redis:latest > hangge_server.tar # 使用镜像名称,推荐!
方法二:我们还可以同时将多个 image 打包成一个文件,比如下面将镜像库中的 postgres:9.6 和 mongo:3.4 打包:
docker save -o images.tar postgres:9.6 mongo:3.4
-
导入镜像:
docker load < images.tar
日志查看
docker logs [OPTIONS] CONTAINER
Options:
--details 显示更多的信息
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)