主要内容:

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容器相关推荐

  1. Ubuntu18.04下安装NVIDIA显卡驱动、docker、nvidia-docker;容器中编译安装opencv-4.4.0与darknet-yolov4并完成测试;容器封装镜像转移。2022

    记录一下第一次在CSDN发博客,欢迎大家光临~ 文章目录 前言 一.宿主机配置 1.安装Ubunntu18.04 64位系统 2.为宿主机系统更换国内软件源Ubuntu 官方源服务器在欧洲,国内访问很 ...

  2. Kubernetes学习笔记三:Docker安装,Docker使用,编写Dockerfile,制作容器镜像,上传docker镜像

    文章目录 Docker的安装 Docker的使用:docker run命令 查看本地存在的镜像:docker images命令 编写Dockerfile,制作容器镜像 docker build制作镜像 ...

  3. Docker映像和容器之间有什么区别?

    本文翻译自:What is the difference between a Docker image and a container? When using Docker, we start wit ...

  4. Docker之镜像、容器、仓库概念

    Docker镜像 操作系统分为内核和用户空间.对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持.而 Docker 镜像(Image),就相当于是一个 root 文件系 ...

  5. 【docker教程】docker视频教程(ubuntu)数据卷挂载、数据卷容器volume、端口映射(镜像叠加,分层复用)rootfs、bootfs(没看完)

    黑马程序员Docker容器化技术,从零学会Docker教程 可以先看1-13课.以及 docker概述 文章目录 docker概述 ubuntu安装docker docker架构 配置docker镜像 ...

  6. abp 打包部署到ubuntu_如何在Ubuntu中安装Docker和运行 Docker容器

    Docker是一种开源且流行的操作系统级虚拟化(俗称"容器化")技术,主要在Linux和Windows上运行. Docker使用容器可以更轻松地创建,部署和运行应用程序. 使用容器 ...

  7. docker运行我们的容器

    docker images docker pull nginx 运行 docker images 查看Nginx镜像是否获取成功,若为如下所示即为获取成功: docker run -p 8080:80 ...

  8. desktop docker 无法卸载_Docker容器无法停止或移除-权限被拒绝错误

    问题 :无法停止泊坞窗容器,每当我尝试停止容器时,都会收到以下错误消息, ERROR: for yattyadocker_web_1 cannot stop container: 1f04148910 ...

  9. Docker精华问答 | Docker镜像和Docker容器的关系?

    毫无疑问,Docker成了近些年来最火热,甚至最具颠覆性的技术之一.国际上,所有泛云计算相关的公司,几乎都在某种程度上宣布支持并集成Docker.在2014年6月的DockerCon中,很多公司都分享 ...

最新文章

  1. html中的插入特殊符号的方法,在Word2016中插入特殊符号的方法
  2. 知乎首页 粒子效果 动态背景
  3. 【转】XP/2000无法使用“缩略图查看”、右键无“设置桌面背景”选项问题详解...
  4. [Leetcode][第785题][JAVA][判断二分图][BFS][DFS]
  5. 《C++字符串完全指南——第一部分:win32 字符编码》
  6. Java的反射作用_java反射机制的作用与优点
  7. 自然语言处理基础知识HR
  8. 【LOJ】#6391. 「THUPC2018」淘米神的树 / Tommy
  9. php实现倒计时,PHP实现倒计时功能
  10. 大话西游2服务器修改,大话西游2:9.17维护解读:五倍次数修改全服上线,灵兽村要变样啦...
  11. 男生学计算机会计,男生学习会计专业好吗
  12. 《Java解惑》系列——01表达式之谜——谜题09:半斤
  13. java寻宝题目,寻宝
  14. css 超出显示省略号
  15. Java方法工厂,接口,常用日期类Date面向对象,匿名内部类局部类
  16. 瑞禧整理常见的抗体药物偶连物(ADC-Linker)名称及结构式大全
  17. word打带圈符号(带圈对勾为例)
  18. MYSQl 多实例部署
  19. 5.PCIe协议分析3-PCIe TLP包详解1
  20. 方正无盘服务器,方正科技改革大学图书馆电子阅览室

热门文章

  1. solr的认识、linux下安装、java下使用(含下载资源)
  2. Java反射中method.isBridge() 桥接方法
  3. javaweb学习总结(三十)——EL函数库
  4. android5.0(Lollipop) BLE Peripheral深入理解系统篇之提高篇
  5. Map Set list 理解
  6. 探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法
  7. Java开源数据库管理工具
  8. 使用深度V8.1 系统后打开部分文件夹缓慢
  9. Console控制台的正确打开方式
  10. bzoj 1016: [JSOI2008]最小生成树计数【dfs+克鲁斯卡尔】