docker run 命令详解

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

一、前言

docker run 命令详解,java,nginx,docker,运维

Docker容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了Docker引擎的服务器上(包括流行的Linux机器、Windows机器),也可以实现虚拟化。以下是Docker容器的特点:

  1. 沙箱机制:容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app)。
  2. 性能开销小:几乎没有性能开销,可以很容易地在机器和数据中心中运行。
  3. 语言、框架、系统无关:最重要的是,容器不依赖于任何语言、框架包括系统。所以,需要通过设计和部署把这些服务拆分成为它们自己的容器。
  4. 扩展性:如果一个应用程序能够被拆分成为越多的分布式组件,那么应用程序扩展的选择则越多。
  5. 配置管理:企业用户可以把这些配置部署在容器中或使用环境变量。为了积极主动地关注基于容器的应用程序的运行状况,可考虑实施必要的监控和管理机制,确保打开日志记录功能。
  6. 命令行工具和API:Docker提供了一个命令行工具Docker以及一整套RESTful API。
  7. 架构:Docker采用C/S架构,Docker daemon作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。客户端和服务端既可以运行在一个机器上,也可通过socket或者RESTful API来进行通信

二、nginx docker run 命令详解

docker run -d \
  --name nginx \
  --net=host \
  -v /home/docker/apps/nginx/www:/usr/share/nginx/html \
  -v /home/docker/apps/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
  -v /home/docker/apps/nginx/logs:/var/log/nginx \
  -v /home/docker/apps/nginx/conf.d:/etc/nginx/conf.d \
  -v /home/docker/apps/nginx/cert:/etc/nginx/cert \
  nginx

-d: 在后台以守护进程模式运行容器。
--name nginx: 为容器指定一个名称,可以进行自定义名称。
 
 -v /home/docker/apps/nginx/www:/usr/share/nginx/html \: 将主机上的 NGINX 配置文件目录挂载到容器中的usr/share/nginx/html目录,以便使用自定义的 NGINX 配置。

所以在nginx  location中只需要指向容器的路径,实际访问的就是主机的路径,他们是个映射关系,或者说是个代理关系

如:配合的是  /usr/share/nginx/html/member-plat  实际主机上 /home/docker/apps/nginx/wwwmember-plat 

   #静态资源
   location /icon/ {
                root /usr/share/nginx/html/member-plat;
                try_files $uri $uri/ /index.html;
        }


 docker run --name eureka_docker  -d -p 8861:8861 eureka_host


 docker run --name eureka_docker  -d -p 8861:8861 eureka_host

所以这一段的意思是 运行主机上的 eureka_host  在容器中叫 eureka_docker  主机的  8861 映射 容器的 8861 ,通过主机的8861 实际访问的就是容器的 8861

三、DockerFile的使用

Dockerfile是一个用来构建镜像的文本文件,其中包含了一系列的指令和说明,这些指令和说明告诉Docker如何构建镜像。

Docker通过阅读Dockerfile中的指令代码来构建镜像文件。在Dockerfile中,可以使用多种指令来定义如何构建镜像,例如:

  1. FROM:指定基础镜像;
  2. RUN:在容器中执行命令;
  3. COPY:将文件从主机复制到容器中;
  4. ENV:设置环境变量;
  5. EXPOSE:声明容器将监听的端口;
  6. CMD:定义容器启动时执行的命令。

要创建一个Dockerfile,需要在项目目录中创建一个名为Dockerfile的文件,并在其中编写指令。编写Dockerfile的指令将按照文件中的顺序逐一执行。使用docker build命令可以构建镜像。文章来源地址https://www.toymoban.com/news/detail-781156.html

FROM java:8
VOLUME /tmp
ADD eureka.jar eureka.jar
EXPOSE 8861

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

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

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

相关文章

  • 【Docker】如何查看之前docker run命令启动的参数

    个人主页 :金鳞踏雨 个人简介 :大家好,我是 金鳞 ,一个初出茅庐的Java小白 目前状况 :22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客 :这里是CSDN,是我学习技术,总结知识的地方。希望和各位大佬交流,共同进

    2024年02月08日
    浏览(43)
  • docker run 命令转化为 docker-compose 工具

    工作当中需要将 docker run 转换为更方便的 docker-compose 格式,可以使用下面的工具来完成。 转换工具:https://www.composerize.com/?utm_source=appinn.com 使用介绍:https://www.appinn.com/composerize-for-docker-compose/

    2024年01月23日
    浏览(46)
  • Docker部署(5)——使用docker run命令部署运行jar项目

           对于一些简单的单体项目,可以使用 docker run 命令可以直接在命令行中运行容器,无需事先构建镜像。这相较于之前使用的 dockerfile 文件来运行部署项目相当于是另外一种简单的部署方法,关于之前使用dockerfile 文件来运行部署这种方法,具体可以参考下面这篇文章

    2024年02月10日
    浏览(47)
  • 从零自制docker-8-【构建实现run命令的容器】

    log “github.com/sirupsen/logrus”: 这是引入了 github.com/sirupsen/logrus 包,并将其重命名为 log 假设我们有一个切片 myArgs := []string{\\\"arg1\\\", \\\"arg2\\\", \\\"arg3\\\"} ,我们想将这个切片作为参数传递给 exec.Command() 函数。 如果直接传递 myArgs 作为参数,那么 exec.Command() 函数会将整个切片作为一个单独的

    2024年04月09日
    浏览(85)
  • 飞天使-docker知识点13-查找docker run 启动时候命令与升级docker版本

    如果很久了,不记得之前docker run 命令 然后在升级docker 版本

    2024年01月21日
    浏览(41)
  • 【Kubernetes运维篇】ingress-nginx实现业务灰度发布详解

    1、场景一:将新版本灰度给部分用户 假设线上运行了一套对外提供 7 层服务的 Service A 服务,后来开发了个新版本 Service AA需要上线,但不想直接替换掉原来的 Service A,希望先灰度一小部分用户,等运行一段时间足够稳定了再逐渐全量上线新版本,最后平滑下线旧版本。 这

    2024年02月15日
    浏览(51)
  • 软件测试|深入解析Docker Run命令:创建和启动容器的完全指南

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

    2024年02月09日
    浏览(39)
  • no main manifest attribute, in app.jar(Docker run命令出错)

    解决no main manifest attribute, in app.jar 环境:SpringBoot2.6.13+java8 重点 : pom.xml文件是IDEA自动配的,然后出错 我在将一个SpringBoot程序打包成镜像部署到Docker容器上,然后执行run命令启动容器: springboot-test:1.0是我的镜像 出现报错: 我排查出来问题就在pom.xml文件中我画红线的这一句 改为下

    2024年02月03日
    浏览(78)
  • 执行docker命令,出现Cannot connect to the Docker daemon at unix:///var/run/docker.sock.

    执行docker ps命令,出现: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 前提:Docker本身已经安装正常。 原因:因为docker服务没有启动,所以在相应的/var/run/ 路径下找不到docker的进程。 解决方案:执行 service docker start 命令,启动docker服务,再执行

    2024年02月16日
    浏览(60)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包