[docker] 04 使用docker容器
主要内容:
O、概念
一、创建&启动容器
二、查看容器&查看容器日志
三、进入&停止&删除容器
四、导入&导出容器
五、其他容器命令
O、概念
Docker容器是镜像的一个运行实例,容器带有运行时需要的可写文件层,而镜像是静态的只读文件。可以使用docker container help命令查看Docker支持的容器操作子命令。
一、创建&启动容器
1.1. 创建容器命令 (参数可用man docker-create来查看)命令,这样新建的容器处于停止状态。
语法:docker create [OPTIONS] CONTAINER [COMMAND] [ARG...]
创建一个apline带3.8版本的容器:
docker create -it alpine:3.8
1.2. 启动容器命令(参数可用man docker-start来查看),用来启动已创建的容器。
语法:docker start [OPTIONS] [CONTAINER] [CONTAINER...]
CONTAINER:表示可以同时启动多个容器。
1.3. 创建并启动容器命令(参数可用man docker-run来查看),stop容器后也可以用该命令启动容器。
语法:docker run [OPTIONS] CONTAINER [COMMAND]
常用参数:
-it:-i表示保持标准输入是否打开,-t表示是否分配一个伪终端;
-d:表示是否在后台运行容器;
--rm:表示容器退出后是否删除;
-p:表示映射端口;
--name:指定容器别名;
当用run来创建并启动容器时,Docker在后台标准执行如下:
- 检查本地是否存在镜像,不存在则下载镜像;
- 利用镜像创建并启动容器;
- 分配一个文件系统给容器,并在只读的镜像外层挂载一层可读写层;
- 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去;
- 从网桥的地址池配置一个IP地址给容器;
- 执行用户指定的应用程序;
- 执行完毕后容器被自动终止;
创建并启动容器,并允许用户交互(exit 或 ctrl + d 表示退出):
docker run -it alpine:3.8 /bin/sh
1.4. 重启容器命令(参数可用man docker-restart来查看)。
语法:docker restart [OPTIONS] CONTAINER [COMMAND]
这个命令会将一个运行中的容器先终止,然后再重新启动。
二、查看容器&查看容器日志
2.1. 查看容器列表命令(参数可用man docker-ps来查看)。
语法:docker ps [OPTIONS]
常用参数:
-a, --all:显示所有容器,包括停止运行的容器;
-f, --filter:过滤容器(如 -f --name=ne$,表示以ne结尾的容器名);
-l, --latest:显示最近创建的容器;
--no-trunc:不截断输出内容(有时候command那列太长则会显示不完全);
2.2. 查看容器信息命令(参数可用man docker-inspect来查看)。
语法:docker inspect [OPTIONS] NAME|ID
查看容器的网络配置,grep用来过滤查看哪个配置,-A用来指定显示的行数:
docker inspect 8d | grep Networks -A 20
2.3. 查看容器内进程(参数可用man docker-top来查看)。
语法:docker top CONTAINER
2.4. 查看容器统计信息(参数可用man docker-stats来查看),会显示CPU、内存、存储、网络的使用情况信息。
语法:docker stats [OPTIONS] [CONTAINER...]
docker stats -a
2.5. 查看容器输出内容(参数可用man docker-logs来查看),用来获取容器输出信息。
语法:docker logs [OPTIONS] CONTAINER
常用参数:
-f, -follow:保持持续输出;
-tail string:输出最近的若干日志:
-t, -timestamps:显示时间戳信息;
-since string:输出某个时间开始的日志;
-until string:输出某个时间之前的日志;
-details:打印详细信息;
三、进入&停止&删除容器
3.1. 进入容器命令(参数可用man docker-exec来查看)。
语法:docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
进入容器:
docker exec -it 8d /bin/sh
3.2. 暂停&恢复容器命令(参数可用man docker-pause 或 man docker-unpause来查看)。
语法:docker pause CONTAINER [CONTAINER...] / docker unpause CONTAINER [CONTAINER...]
暂停和恢复容器:
3.3. 终止容器命令(参数可用man docker-stop)。
语法:docker stop [OPTIONS] CONTAINER [CONTAINER...]
这个命令会先向容器发送SIGTERM信号,等待一段超时时间后(默认10s),再发送SIGKILL信号来终止容器。
清除所有处于停止状态的容器:
docker container prune
3.4. 删除容器命令(参数可用man docker-rm)。
语法:docker rm [OPTIONS] CONTAINER [CONTAINER...]
常用参数:
-f, --force:是否强行终止一个运行中的容器,在没有-f参数时,rm只能删除已经停止或退出状态的容器,不能删除运行中的容器;
-l, --link:删除容器的连接,但保留容器;
-v, --volumes:删除容器挂载的数据卷;
四、导入&导出容器
4.1. 导出容器命令(参数可用man docker-export来查看),用于导出容器到tar文件,这个tar文件是容器当时的快照状态。
语法:docker export [OPTIONS] CONTAINER
将容器在当前目录导出为alpine.tar的文件:
docker export -o alpine2.tar 8d 或 docker export > alpine2.tar 8d
4.2. 导入容器命令(参数可用man docker-import来查看),用于导入tar文件变为镜像。
语法:docker import [OPTIONS] FILE|URL [REPOSITORY[:TAG]]
将alpine.tar容器快照到本地镜像库,和load的区别在于:镜像存储文件会保存所有历史记录,而容器快照文件会丢弃所有历史记录和元数据信息,在导入时可以重新指定标签等元数据信息。
docker import alpine2.tar alpine:2
五、其他容器命令
5.1. 复制文件命令(参数可用man docker-cp来查看),用于容器和主机之间复制文件。
语法:docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH | docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
复制本地文件到容器里:
vi test.sh docker cp test.sh 8d:/
复制容器文件到本地:
docker cp 8d:/etc/passwd /root
5.2. 查看容器变更命令(参数可用man docker-diff来查看)。
语法:docker diff CONTAINER
5.3. 查看容器端口映射(参数可用man docker-port来查看):
语法:docker port CONTAINER
5.4. 更新容器配置(参数可用man docker-update来查看),用于更新容器一些运行时配置:
语法:docker port [OPTIONS] CONTAINER [CONTAINER...]
转载于:https://www.cnblogs.com/allbetter/p/11062271.html
[docker] 04 使用docker容器相关推荐
- Ubuntu18.04下安装NVIDIA显卡驱动、docker、nvidia-docker;容器中编译安装opencv-4.4.0与darknet-yolov4并完成测试;容器封装镜像转移。2022
记录一下第一次在CSDN发博客,欢迎大家光临~ 文章目录 前言 一.宿主机配置 1.安装Ubunntu18.04 64位系统 2.为宿主机系统更换国内软件源Ubuntu 官方源服务器在欧洲,国内访问很 ...
- Kubernetes学习笔记三:Docker安装,Docker使用,编写Dockerfile,制作容器镜像,上传docker镜像
文章目录 Docker的安装 Docker的使用:docker run命令 查看本地存在的镜像:docker images命令 编写Dockerfile,制作容器镜像 docker build制作镜像 ...
- Docker映像和容器之间有什么区别?
本文翻译自:What is the difference between a Docker image and a container? When using Docker, we start wit ...
- Docker之镜像、容器、仓库概念
Docker镜像 操作系统分为内核和用户空间.对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持.而 Docker 镜像(Image),就相当于是一个 root 文件系 ...
- 【docker教程】docker视频教程(ubuntu)数据卷挂载、数据卷容器volume、端口映射(镜像叠加,分层复用)rootfs、bootfs(没看完)
黑马程序员Docker容器化技术,从零学会Docker教程 可以先看1-13课.以及 docker概述 文章目录 docker概述 ubuntu安装docker docker架构 配置docker镜像 ...
- abp 打包部署到ubuntu_如何在Ubuntu中安装Docker和运行 Docker容器
Docker是一种开源且流行的操作系统级虚拟化(俗称"容器化")技术,主要在Linux和Windows上运行. Docker使用容器可以更轻松地创建,部署和运行应用程序. 使用容器 ...
- docker运行我们的容器
docker images docker pull nginx 运行 docker images 查看Nginx镜像是否获取成功,若为如下所示即为获取成功: docker run -p 8080:80 ...
- desktop docker 无法卸载_Docker容器无法停止或移除-权限被拒绝错误
问题 :无法停止泊坞窗容器,每当我尝试停止容器时,都会收到以下错误消息, ERROR: for yattyadocker_web_1 cannot stop container: 1f04148910 ...
- Docker精华问答 | Docker镜像和Docker容器的关系?
毫无疑问,Docker成了近些年来最火热,甚至最具颠覆性的技术之一.国际上,所有泛云计算相关的公司,几乎都在某种程度上宣布支持并集成Docker.在2014年6月的DockerCon中,很多公司都分享 ...
最新文章
- html中的插入特殊符号的方法,在Word2016中插入特殊符号的方法
- 知乎首页 粒子效果 动态背景
- 【转】XP/2000无法使用“缩略图查看”、右键无“设置桌面背景”选项问题详解...
- [Leetcode][第785题][JAVA][判断二分图][BFS][DFS]
- 《C++字符串完全指南——第一部分:win32 字符编码》
- Java的反射作用_java反射机制的作用与优点
- 自然语言处理基础知识HR
- 【LOJ】#6391. 「THUPC2018」淘米神的树 / Tommy
- php实现倒计时,PHP实现倒计时功能
- 大话西游2服务器修改,大话西游2:9.17维护解读:五倍次数修改全服上线,灵兽村要变样啦...
- 男生学计算机会计,男生学习会计专业好吗
- 《Java解惑》系列——01表达式之谜——谜题09:半斤
- java寻宝题目,寻宝
- css 超出显示省略号
- Java方法工厂,接口,常用日期类Date面向对象,匿名内部类局部类
- 瑞禧整理常见的抗体药物偶连物(ADC-Linker)名称及结构式大全
- word打带圈符号(带圈对勾为例)
- MYSQl 多实例部署
- 5.PCIe协议分析3-PCIe TLP包详解1
- 方正无盘服务器,方正科技改革大学图书馆电子阅览室
热门文章
- solr的认识、linux下安装、java下使用(含下载资源)
- Java反射中method.isBridge() 桥接方法
- javaweb学习总结(三十)——EL函数库
- android5.0(Lollipop) BLE Peripheral深入理解系统篇之提高篇
- Map Set list 理解
- 探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法
- Java开源数据库管理工具
- 使用深度V8.1 系统后打开部分文件夹缓慢
- Console控制台的正确打开方式
- bzoj 1016: [JSOI2008]最小生成树计数【dfs+克鲁斯卡尔】