软件测试|深入解析Docker Run命令:创建和启动容器的完全指南

这篇具有很好参考价值的文章主要介绍了软件测试|深入解析Docker Run命令:创建和启动容器的完全指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

docker run 进入容器,docker教程,docker,java,容器

简介

Docker是一种流行的容器化平台,用于构建、分发和运行应用程序。其中一个最基本且重要的Docker命令是docker run,用于创建和启动容器。本文将详细解析docker run命令的用途、参数和示例,帮助您全面掌握创建和启动容器的过程。

docker run

在Docker中,容器是运行应用程序的独立环境。docker run命令用于根据指定的镜像创建和启动一个新的容器。下面是docker run命令的基本语法:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

注1:docker rundocker create语法格式一样,只是docker run会创建并运行容器甚至可以进入容器内部

注2:COMMAND需要在容器内执行的命令

docker run 执行流程

第一步,在指定镜像上创建一个可写的容器层
第二步,使用指定的命令(COMMAND)启动它
简而言之,docker run 相当于执行了两个 API:/containers/create/containers/(id)/start

options参数说明

docker run命令有很多的参数,很多参数都拥有重要的作用,这里我们介绍一下最常用的部分参数

  • -i,以交互模式运行容器,通常与 -t 同时使用
  • -t,启动容器后,为容器分配一个命令行,通常与-i同时使用
  • -v,目录映射,容器目录挂载到宿主机目录,格式: <host目录>:<容器目录>
  • -d,守护进程,后台运行该容器
  • -p,指定端口映射,格式:主机(宿主)端口:容器端口
  • -P,随机端口映射,容器内部端口随机映射到主机的端口
  • -u,以什么用户身份创建容器
  • --name "nginx-lb",容器名字
  • -m, --memory bytes,设置容器使用内存最大值
  • -h, --hostname string,指定容器的 host name
  • --dns 8.8.8.8,指定容器 dns 服务器
  • -e username="ritchie",设置环境变量
  • --restart,Docker 重启后,容器是否自动重启
  • --privileged,容器内是否使用真正的 root 权限

注:-p参数的用法

docker run -p ip:主机端口:容器端口
docker run -p 主机端口:容器端口 (常用) 
docker run -p 容器端口

使用示例

  1. 使用tomcat7镜像,创建名为tomcat_hogwarts的容器,如下:
docker run --name tomcat_hogwarts tomcat:7

这样运行,会直接将容器运行日志打印出来,所以一般都需要加 -d参数,否则无法继续敲其他命令
docker run 进入容器,docker教程,docker,java,容器

  1. 使用tomcat7镜像,创建名为tomcat_hogwarts01的容器,并使用-d参数,让其后台运行,命令如下:
docker run -d --name tomcat_hogwarts01 tomcat:7

运行如下图:

docker run 进入容器,docker教程,docker,java,容器
通过-d参数创建容器,不影响我们运行其他命令。

  1. 使用镜像 tomcat:7 以后台模式启动一个容器将容器的 8080 端口映射到主机的随机端口,命令如下:
docker run -d -P --name tomcat_muller tomcat:7

docker run 进入容器,docker教程,docker,java,容器

  1. 使用镜像 tomcat:7 以后台模式启动一个容器将容器的 8080 端口映射到主机的 8888 端口,命令如下:
docker run -d -p 8888:8080 --name tomcat_salah tomcat:7

docker run 进入容器,docker教程,docker,java,容器

可以看到 PORTS 一列,主机的 8888 端口指向了容器的 8080 端口。

  1. 使用镜像 tomcat:7 ,以后台模式启动一个容器,将容器的 8080 端口映射到主机127.0.0.1:8888 端口容器名字自定义为 tomcat77主机的目录 /usr/local/tomcat/webapp 映射到容器/usr/local/tomcat/webapps 启动容器后,在容器内执行 bash 命令,命令如下:
docker run -d -p 127.0.0.1:8888:8080 -v /usr/local/webapps:/usr/local/webapps -it --name tomcat77 tomcat:7 bash

docker run 进入容器,docker教程,docker,java,容器

  1. 容器 8080 端口映射到主机的 1111 端口-it 以交互模式启动一个容器,在容器内执行 bash 命令

注:如果这里加了-d 参数,则不会进入容器的 CLI 界面;如果不加 bash 命令,则会执行 tomcat 容器本身自动会执行的命令( catalina.sh run ),也会进不了 CLI 界面,因为会打印一堆运行日志

docker run -it -p 1111:8080 tomcat:7 bash

docker run 进入容器,docker教程,docker,java,容器

  1. 以 root 权限创建容器,当进入容器之后,拥有 root 权限去执行命令
# 创建容器
docker run -d --name jenkin_hogwarts --privileged=true jenkins/jenkins
# 进入容器
docker exec -it jenkin_hogwarts bash

docker run 进入容器,docker教程,docker,java,容器

不加 --privileged的例子

# 创建容器
docker run -d --name jenkins_muller jenkins/jenkins

# 进入容器
docker exec -it -uroot jenkins_muller bash

docker run 进入容器,docker教程,docker,java,容器

注:

  • -uroot:是给了 root 用户身份,但并没有真正的 root 权限
  • --privileged:真正让当前用户有了 root 权限
  1. 设置容器自动重启
docker run -d --name jenkins_salah --restart always jenkins/jenkins
  1. 退出容器
exit         #容器直接退出
ctrl +P +Q  #容器不停止退出     ---注意:这个很有用的操作

总结

docker run命令是Docker中最基本且重要的命令之一,用于创建和启动容器。通过了解和灵活使用不同的选项和参数,可以定制容器的名称、端口映射、数据持久化、环境变量等设置。希望本文对大家理解和使用docker run命令有所帮助,并能够顺利创建和启动自己的Docker容器!

获取更多技术资料,请点击!文章来源地址https://www.toymoban.com/news/detail-700206.html

到了这里,关于软件测试|深入解析Docker Run命令:创建和启动容器的完全指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 软件测试|Docker cp命令详解:在Docker容器和主机之间复制文件/文件夹

    简介 Docker是一种流行的容器化平台,它允许开发人员在独立、可移植的环境中构建、打包和部署应用程序。在使用Docker时,常常需要在Docker容器和主机之间进行文件的复制和共享。Docker提供了一个名为 docker cp 的命令,可以轻松地在容器和主机之间复制文件和目录。本文将详

    2024年02月12日
    浏览(68)
  • 深入探讨软件测试的质量度量指标

    本文的目的是介绍项目中使用到主要质量指标,这些质量指标可以分为以下三类: 质量保证过程指标 生产事故管理指标 度量质量文化指标 质量保证过程指标 质量保证指标可以通过测试覆盖率来度量功能和非功能测试的覆盖率,同时也可以根据测试发现的缺陷的状态、优先

    2024年02月09日
    浏览(40)
  • 软件测试|MySQL LIKE:深入了解模糊查询

    简介 在数据库查询中,模糊查询是一种强大的技术,可以用来搜索与指定模式匹配的数据。MySQL数据库提供了一个灵活而强大的LIKE操作符,使得模糊查询变得简单和高效。本文将详细介绍MySQL中的LIKE操作符以及它的用法,并通过示例演示其功能。 基本语法 MySQL中的LIKE操作符

    2024年02月02日
    浏览(52)
  • 软件测试|深入理解SQL CROSS JOIN:交叉连接

    简介 在SQL查询中,CROSS JOIN是一种用于从两个或多个表中获取所有可能组合的连接方式。它不依赖于任何关联条件,而是返回两个表中的每一行与另一个表中的每一行的所有组合。CROSS JOIN可以用于生成笛卡尔积,它在某些情况下非常有用,但在其他情况下可能会导致结果集过

    2024年01月24日
    浏览(53)
  • 软件测试面试题 —— 整理与解析(1)

        😏 作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡 主页地址:🌎【Austin_zhai】🌏 🙆 目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。 💎 声明:博主日常工作较为繁忙,文章会不定期更新,各类行业或

    2024年02月08日
    浏览(47)
  • 权威解析,软件测试的当下分析现状

    Parasoft是一家专门提供软件测试解决方案的公司,Parasoft通过其经过市场验证的自动化软件测试工具集成套件,帮助企业持续交付高质量的软件。Parasoft的技术支持嵌入式、企业和物联网市场,通过将静态代码分析和单元测试、Web UI和API测试等所有内容集成到交付管道中,再加

    2023年04月25日
    浏览(39)
  • 软件测试 —— Linux基础命令行

    目录 一、Linux介绍      1、为什么要学习Linux? 2、 什么是操作系统? 3、 Linux系统 Linux 发⾏版本 4、Linux文件路径 二、远程连接操作 1、常见的远程连接⼯具  2、远程连接基本步骤   2.1、获取服务器 IP 地址  2.2、远程连接⼯具设置步骤  3、远程连接注意事项  3.1、修改

    2024年02月06日
    浏览(60)
  • 软件测试关于adb命令⼤全

    adb的全称为Android Debug Bridge 调试桥,是连接Android⼿机与PC端的桥梁,通过adb可以管理、操作模拟器和设备,如安装软件、 系统升级、运⾏shell命令等。 0. adb服务相关操作 adb kill-server #终⽌adb服务进程 adb start-server #重启adb服务进程 adb root #已root权限重启adb服务 adb wait-for-devic

    2024年03月09日
    浏览(50)
  • 软件测试之BUG篇(定义,创建,等级,生命周期)

    目录 1. BUG 的定义 2. 如何创建 BUG 3. BUG 等级 4. BUG 生命周期 高频面试题: 当且仅当产品规格书存在且正确时,程序的实现和规格书的要求不匹配时,那就是软件错误。 当产品规格说明书没有提到的功能时,以用户的为准,当程序没有实现用户合理预期要求时,那就是软件错

    2024年02月06日
    浏览(49)
  • 【软件测试学习笔记6】Linux常用命令

    command  [-options] [parameter] command 表示的是命令的名称 []表示是可选的,可有可无 [-options]:表示的是命令的选项,可有一个或多个,也可以没有 [parameter]:表示命令的参数,可以有一个或多个,也可以没有 绝对路径:唯一 /开头    cd/etc/abrt ~/开头  cd/usr/bin ~就是/home/用户  

    2024年01月21日
    浏览(58)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包