【docker05】docker容器命令

这篇具有很好参考价值的文章主要介绍了【docker05】docker容器命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

docker容器命令

1.前提

有镜像才能创建容器,这是根本前提(下载一个Centos或者ubuntu镜像演示)退出容器,docker学习,docker,容器,运维

2.新建并启动容器

命令:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTION说明(常用):有些是一个减号,有些是两个减号
–name=“容器新名字” 为容器指定一个名称
-d:后台运行容器并返回容器ID,也即启动守护式容器(后台运行)
-i:以交互模式运行容器,通常与-t同时使用
-t:为容器重新分配一个伪输入终端,通常与-i同时使用;也即启动交互式容器(前台有伪终端,等待交互)
-P:随机端口映射,大写P
-p:指定端口映射,小写p
例如 -p 8080:80,即容器的80端口映射到宿主机的8080端口

启动交互式容器(前台命令行)
退出容器,docker学习,docker,容器,运维
使用镜像ubuntu:latest以交互模式启动一个容器,在容器内执行/bin/bash命令
docker run -it ubuntu /bin/bash
参数说明:

  • -i:交互式操作
  • -t:终端
  • ubuntu:ubunta镜像
  • /bin/bash:放在镜像后面的是命令,这里我们希望有个交互式Shell。因此用的是/bin/bash
  • 要退出终端,直接输入exit

3.列出当前所有正在运行的容器

命令:docker ps [OPTIONS]
OPTIONS说明

  • -a列出当前所有正在运行的容器+历史上运行过的
    -i:显示最近创建过的容器
    -n:显示最近n个创建的容器
    -q:静默模式,只显示容器编号
    退出容器,docker学习,docker,容器,运维
    注意:之前是镜像id,这里是容器id
    之前并未指定名字,系统会随机分配一个名字

4.退出容器

  1. 命令:exit:run进去容器,exit退出,容器停止
  2. 命令:ctrl+p+q:run进去容器,ctrl+p+q退出,容器不停止

5.启动已经停止的容器

命令:docker start 容器ID或者容器名

6.重启容器

命令:docker restart 容器ID或者容器名

7.停止容器

命令:docker stop 容器ID或者容器名

8.强制停止容器

命令:docker kill 容器ID或者容器名

9.删除已经停止容器

命令:docker rm 容器ID或者容器名
注意:rmi为删除镜像 rm为删除容器
退出容器,docker学习,docker,容器,运维
不能删除正在运行的容器

退出容器,docker学习,docker,容器,运维
这个时候去启动已经删除的容器会报错

强制删除docker rm -f 容器ID或者容器名
没有停止的容器

一次性删除多个容器实例(危险)
1.命令:docker rm -f $(docker ps -a -q)
2.命令:docker ps -a -q | xargs docker rm

10.重要命令

Ⅰ.守护式容器

启动守护式容器(后台服务器):在大部分场景下,我们希望docker的服务是在后台运行的,我们可以通过-d指定容器的后台运行模式
命令:docker run -d 容器名

使用镜像以后台模式启动一个容器
命令: docker run -d ubuntu
问题:然后用docker ps进行查看,发现容器已经退出
退出容器,docker学习,docker,容器,运维
重要:docker容器后台运行,就必须有一个前台进程
容器运行的命令如果不是那些一直挂起的命令(例如运行top,tall),就是会自动退出的
为什么?
原因:这个是docker的机制问题,比如web容器,以nginx为例,正常情况下,我们配置启动服务只需要启动响应的service即可,例如service nginx start,但是这样做,nginx为后台进程模式运行,就导致docker前台没有运行的应用,这样容器后台启动后,会立即自杀,因为他觉得他没事情可做了
解决方案: 将你要运行的程序以前台进程的形式运行,常见的就是命令行模式,表示还有交互操作,别中断

redis 前后台启动演示case

  • 前台交互式启动(这种方式退出的话,容器就消失了)
    命令:docker run -it redis:6.0.8
    退出容器,docker学习,docker,容器,运维
  • 后台守护式启动
    命令:docker run -d redis:6.0.8
    退出容器,docker学习,docker,容器,运维

Ⅱ.查看容器日志

命令: docker logs 容器ID

Ⅲ.查看容器内部细节

命令:docker inspect 容器ID

Ⅳ 进入正在运行的容器并以命令行交互

1.命令: docker exec -it 容器ID bashShell

退出容器,docker学习,docker,容器,运维

退出容器,docker学习,docker,容器,运维

  1. 命令:重新进入 docker attach 容器ID

上述两个区别:
attach: 直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止
exec: 是在容器中打开新的终端,并且可以启动新的进程用exit退出,不会导致容器的停止
推荐: 使用docker exec命令,因为退出容器终端,不会导致容器的停止。

docker attach 容器ID
退出容器,docker学习,docker,容器,运维

docker exec -it 容器ID /bin/bash
退出容器,docker学习,docker,容器,运维

Ⅴ.从容器内拷贝文件到主机上

从容器到主机
目的: 万一再容器中有很重要的文件,但是有马楼把整个容器删了就难受的一批,所以要备份(核心资料的保护
命令: docker cp 容器ID:容器内路径 目的主机路径

退出容器,docker学习,docker,容器,运维

六.导入和导入容器

备份整个容器(镜像)

  • export导出容器的内容留作为一个tar归档文件[对应import命令]
  • import从tar包中的内容创建一个新的文件系统再导入作为镜像[对应export]

命令: docker export 容器ID>文件名.tar
退出容器,docker学习,docker,容器,运维
结果:
退出容器,docker学习,docker,容器,运维

命令: cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
删除原ubuntu容器退出容器,docker学习,docker,容器,运维> 根据镜像恢复容器退出容器,docker学习,docker,容器,运维文章来源地址https://www.toymoban.com/news/detail-764160.html

到了这里,关于【docker05】docker容器命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云原生之深入解析Docker容器退出码的含义和产生原因

    为什么我的容器没有运行?回答这个问题之前,需要知道 Docker 容器为什么退出?退出码会提示容器停止运行的情况? 本文列出最常见的退出码,来回答两个重要问题:这些退出码是什么意思?导致该退出码的动作是什么?exit code:代表一个进程的返回码,通过系统调用 ex

    2024年02月07日
    浏览(61)
  • 第七次作业 运维高级 docker容器进级版

    1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。 (1)拉取相应镜像 (2)运行mysql:5.6容器 (3)运行owncloud容器 (4)查看并验证 之后在浏览器中输入ipaddress:8080 2、安装搭建私有仓库 Harbor (1)下载好harbor和docker-compose (2)上传到Linux服务器 (3)复制docker-compose并修改权限 (4)解压harbor (

    2024年02月12日
    浏览(57)
  • K8S自动化运维容器化(Docker)集群程序

    1.什么是K8S K8S全程为Kubernetes,由于K到S直接有8个字母简称为K8S。 版本:目前一般是1.18~1.2.0,后续可能会到1.24-1.26,1.24版本后丢弃了docker(如需要使用需要第三方插件配合),目前最新版本是1.27 官网:https://kubernetes.io GitHub:GitHub - kubernetes/kubernetes: Production-Grade Container Schedul

    2024年02月10日
    浏览(69)
  • K8S:K8S自动化运维容器Docker集群

    (1)K8S全程为Kubernetes,由于K到S直接有8个字母简称为K8S。 (2)版本:目前一般是1.18~1.2.0,后续可能会到1.24-1.26,1.24版本后丢弃了docker(如需要使用需要第三方插件配合),目前最新版本是1.27 (3)官网:https://kubernetes.io GitHub:GitHub - kubernetes/kubernetes: Production-Grade Container S

    2024年02月10日
    浏览(82)
  • 3.docker创建容器 (docker容器命令)

    2.1. 命令解读 docker run : 创建并运行一个容器 –name : 给容器起一个名字, 比如叫做 myNginx -p : 将宿主机端口与容器端口映射, 冒号左侧是宿主机端口, 右侧是docker容器端口 -d : 后台运行容器 nginx : 镜像名称 , 例如nginx 2.2. 通过查询得知nginx容器已经创建并运行成功 2.3. 验证是否启

    2024年02月04日
    浏览(46)
  • K8S:K8S自动化运维容器化(Docker)集群程序

    目录 一、K8S概述 1、什么是K8S 2、为什么要用K8S 3、作用及功能 二、K8S的特性 1、弹性伸缩 2、自我修复 3、服务发现和复制均衡 5、自动发布和回滚 6、集中化配置管理和秘钥管理 7、存储编排 8、任务批量处理运行 三、K8S的集群架构 四、K8S的核心组件 1、Master组件 ①Kube-apis

    2024年02月12日
    浏览(70)
  • docker命令(查看容器状态stats、容器的导入导出、docker容器的详细信息inspect、docker cp命令的使用)

    目录 查看docker容器状态: docker镜像的导入导出  第一种导入导出(是docker本地的静态) 第二种导出导入 (这种导出是正在运行的容器里的文件系统变成一个归档文件(可以包含已经下载好的软件)) docker容器的详细信息: 命令: 设置docker容器资源限制,再通过inspect查看 d

    2024年02月10日
    浏览(53)
  • 小白到运维工程师自学之路 第六十二集 (docker持久化与数据卷容器)

    一、概述 Docker持久化是指将容器中的数据持久保存在主机上,以便在容器重新启动或迁移时不丢失数据。由于Docker容器是临时和可变的,它们的文件系统默认是易失的,这意味着容器中的任何更改或创建的文件都只存在于此容器的生命周期内。但是,在许多场景中,我们希望

    2024年02月14日
    浏览(39)
  • Docker容器------镜像,容器基础命令

    目录  一,docker镜像  1,查看docker版本  2,获取镜像 2.1查看下载到本地的所有镜像   2.2 获取镜像信息 2.3 添加镜像标签(上传镜像到仓库)   2.4 镜像导出  2.5 镜像导入  2.6 ,删除镜像  2.7 上传镜像 ​编辑 二,docker 容器操作 1,查看容器 2,容器创建----docker create  

    2024年02月05日
    浏览(53)
  • 解决docker运行redis报错:Fatal error, can‘t open config file /etc/redis/redis.conf以及启动redis后自动退出容器

    现象如下:  看了报错是权限问题,然后发现redis1.conf的权限果然不大对, 所以运行 chmod o+r 添加权限 但是启动后容器自动退出: 然后把redis-server改成绝对路径/usr/local/bin/redis-server  此时就能发现报错真正的原因:是原始redis.conf配置文件内容的问题,而不是文件本身挂载的

    2024年02月04日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包