docker之容器操作
2017-10-23 16:50
225 查看
docker之容器操作
创建启动容器
方式一:docker create -it ubuntu:latest , 该命令创建的容器处于停止状态 1. -i 让容器的标准输入保持打开 2. -t让docker分配一个伪终端 docker start [CONTAINER...]
方式二
docker run -ti ubuntu /bin/bash,基于已有ubuntu镜像直接创建容器并启动容器,进入容器内
docker run创建容器时,docker在后台运行标准操作如下
1. 检测本地是否创建指定镜像,不存在就从公有仓库下载 2. 利用镜像创建并启动一个容器 3. 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层 4. 从宿主主机配置的网络接口中桥接一个虚拟接口到容器中 5. 从地址池配置一个IP地址给容器 6. 执行用户指定的应用程序 7. ***执行完毕容器被终止
后台运行 -d参数: docker run -d ubuntu /bin/sh -c “while true; do echo hello world; sleep 1; done”
终止容器
docker stop -t|–time[=10] container_id, 执行后首先会想容器发送SIGTERM信号,等待一段时间(默认10秒),再发送SIGKILL信号终止容器容器内的应用程序终止,则容易也自动终止
进入了一个容器的终端,可以exit、ctrl+d来退出终端,所创建容器也立刻终止
重启: docker restart container_id
进入容器
docker attach ,docker自带命令docker attach container_name
docker attach container_id
tips: attach有时候不方便,当多个窗口同事attach到同一个容器的时候,所有窗口会同步显示,当某个窗口因命令阻塞,其他窗口也无法执行操作
docker exec ,例如docker -ti container_id /bin/bash,进入容器并启动一个bash
nsenter工具,略
删除容器
docker rm-f 强行终止并删除一个运行中的容器, docker会发送SIGKILL信号给容器,终止其中的应用
-l 删除容器的连接,但保留容器
-v 删除容器挂载的数据卷
导出容器
docker export CONTAINER, 是指导出一个已经创建的容器到一个文件,不管此时这个容器是否处于运行状态docker export ca0af853fcdd >test_for_run.tar
导入容器
docker import 将导出的文件导入,成为镜像例如: cat test_for_run.tar | docker import - ubuntu:latest
tips docker load和docker import区别 1. docker load命令导入进行存储文件到本地的镜像库,docker import 命令导入一个容器快照到本地镜像库 2. 容器快照文件将丢弃所以的历史记录和元素局信息(只保留容器当时的快照信息),也可以重新制定标签等元数据信息, 镜像存储文件将保存完整记录,体积较大
其它操作
容器相关
docker ps打印出正在运行的容器docker ps -a打印出所有运行过的容器
docker rm $(docker ps -a -q) 删除所有未运行 Docker 容器
docker rm $(docker ps -qf status=exited) 根据格式删除所有镜像
docker rm $(docker ps –all -q -f status=exited) 删除停止的容器
docker ps -a | awk ‘{print $1}’ | xargs docker rm 批量删除容器
docker stop $(docker ps -a -q) 停止所有的container,这样才能够删除其中的images
docker events 打印容器实时的系统事件
docker attach [OPTIONS] CONTAINER, 使用这个命令可以挂载正在后台运行的容器,在开发应用的过程中运用这个命令可以随时观察容器內进程的运行状况。开发者在开发应用的场景中,这个命令是一个非常有用的命令
cp CONTAINER:PATH HOSTPATH , 使用cp可以把容器內的文件复制到Host主机上
docker diff CONTAINER
docker inspect CONTAINER|IMAGE, 查看容器运行时详细信息的命令。了解一个Image或者Container的完整构建信息就可以通过这个命令实现
docker kill [OPTIONS] CONTAINER [CONTAINER…], 杀掉容器的进程
docker port CONTAINER PRIVATE_PORT, 打印出Host主机端口与容器暴露出的端口的NAT映射关系
docker pause CONTAINER
docker top CONTAINER [ps OPTIONS] , 显示容器內运行的进程
镜像相关
docker rmi -f $(docker images | grep “” | awk “{print \$3}”) 删除没有使用的镜像docker images | awk ‘{print $3}’ | xargs docker rmi 批量删除镜像
docker images 查看当前有些什么images
docker rmi (docker images -q | awk '/^<none>/ { print3 }’) 删除所有未打 tag 的镜像
docker rmi $(docker images -q) 删除所有镜像
docker build [OPTIONS] PATH | URL | - , 这个命令是从源码构建新Image的命令
docker history [OPTIONS], IMAGE 打印指定Image中每一层Image命令行的历史记录
其它
docker version , 显示Docker的版本号,API版本号,Git commit, Docker客户端和后台进程的Go版本号docker logs CONTAINER, 批量打印出容器中进程的运行日志
相关文章推荐
- 容器常用操作 - 每天5分钟玩转 Docker 容器技术(25)
- 一张图搞懂容器所有操作 - 每天5分钟玩转 Docker 容器技术(26)
- Docker 快速上手系列(2): 容器的概念及相关操作
- docker 容器的常用命令操作
- docker实战之centos6.5上安装、镜像、容器相关操作
- 实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作
- Docker容器操作
- 容器常用操作 - 每天5分钟玩转 Docker 容器技术(25)
- 一张图搞懂容器所有操作 - 每天5分钟玩转 Docker 容器技术(26)
- Docker 镜像、容器、仓库的概念及基本操作
- Docker - Image镜像创建及容器操作
- 4 操作Docker 容器
- 实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作
- Docker启动/停止/进入容器的常见操作
- Docker系列(二)镜像下载、操作容器、镜像导入导出等操作
- Docker容器技术之Docker 命令操作
- 容器常用操作 - 每天5分钟玩转 Docker 容器技术(25)
- 一张图搞懂容器所有操作 - 每天5分钟玩转 Docker 容器技术(26)
- Docker中的Redis容器如何连接上进行操作?
- 【Docker】Docker入门操作容器和镜像