首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

docker必会知识(常用)

通过简单方式实现数据卷配置 5.Docker应用部署 5.1.MySQL部署 分析 容器内的网络服务和外部机器不能直接通信 外部机器和宿主机可以直接通信 宿主机和容器可以直接通信 当容器的网络服务需要被外部机器访问时...使用外部机器连接容器的mysql 5.2.Tomcat部署 1. 搜索tomcat镜像 docker search tomcat 2....Docker 中一个tomcat镜像为什么有600MB,一个tomcat安装包只有70多MB?...Docker 中一个tomcat镜像为什么有600MB,一个tomcat安装包只有70多MB?...对于开发人员:可以为开发团队提供一个完全一致的开发环境 对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作了 对于运维人员:部署时,可以实现应用的无缝移植

1.8K30

我叫Tomcat:一款web服务器

就作为一个容器,其中存放着Servlet等东西 2、让你/他人能在浏览器访问你的web项目 想要在浏览器访问我们本地的web项目,那必然需要一个URL地址,例如http://localhost:8080...,所以我们的主机可以为,http://127.0.0.1:8080或者 http://localhost:8080,端口前代表本地主机名,tomcat的默认端口为8080 ?...:日志文件 temp:存放tomcat运行时产生的临时文件,当tomcat关闭后,这个目录的件可以删除 webapps:目录下的每个文件夹对应我们的一个Web应用 webapps目录下有一个ROOT...(五) 设置站点的首页 一般在网络中部署站点的时候,index页面将作为一个网站的首页,也就是说只需要输入域名即可直接跳转到这个页面上去,不需要输入其文件名,如何在本地Tomcat服务器设置某一个...(六) 外网如何访问本地基于Tomcat的web应用 Tomcat + 花生壳 本地开发好了一个web项目,我们部署本地tomcat服务器,但是如果想要让别人通过外网访问我们的项目,帮助我们临时测试

83020
您找到你想要的搜索结果了吗?
是的
没有找到

记一次内网渗透(二)

利用--privileged特权模式逃逸 特权模式于版本0.6时被引入Docker,允许容器内的root拥有外部物理机root权限,此前容器内root用户仅拥有外部物理机普通用户权限。...当控制使用特权模式启动的容器时,docker管理员可通过mount命令将外部宿主机磁盘设备挂载进容器内部,获取对整个宿主机的文件读写权限,此外还可以通过写入计划任务等方式宿主机执行命令。...image-20200726205934430 如上图,挂载成功了,此时我们就可以通过访问容器内部的/hack路径来达到访问整个宿主机的目的 docker容器里挂载一个宿主的本地目录,这样某些容器里输出的文件...,就可以本地目录打开访问了。...然后,攻击机本地生成ssh秘钥: ssh-keygen -f hackchmod 600 hack // 不要忘记对秘钥文件赋600权限,否则不能执行哦 即可在当前目录下生成一个秘钥文件 ?

1.6K30

Rancher 2.x 负载均衡配置及使用

不过今天我们得换一个方式启动 Rancher,即本机或者换一个主机启动 Rancher,那是为什么呢?...这是因为 Rancher 服务启动需要监听 80 端口以及 443 端口,默认 RKE 启动的 Nginx Ingress Controller 也需要监听 80 端口和 443 端口,如果二者都在一个主机上的话...那我就以这个 i18n demo 为例,将源码添加到 tomcat 镜像,最终通过 Rancher 部署 Kubernetes 集群并配置 Ingress 访问它吧!...下载 Demo 源码 到本地并解压,项目 i18n 同级目录创建 Dockerfile 如下: $ vim Dockerfile.tomcat FROM tomcat:alpine MAINTAINER...最后,配置一下 Ingress 负载均衡,通过 my-tomcat.k8s.com/i18n 来访问 my-tomcat-i18n 服务,为什么这里 URL 我要带上 /i18n?

6.9K31

Docker实战(二)

Dockerfile 中固定了,不能灵活添加参数, ENTRYPOINT 可以执行 docker run 指令时灵活地 ENTRYPOINT 添加参数,比如: CMD [ "curl", "-...两个指令唯一区别是 ADD 可以指定一条 URL 当作资源, COPY 只能是 Dockerfile 的相对路径。.../zhangchenghuidev.github.io.git /data VOLUME VOLUME 指令可以使容器启动时自动挂载一个目录或文件到宿主机,但是这个命令并不能指定宿主机的一个目录,...而我们发现,我们 Docker run 的 -v 可以挂载宿主机指定的目录。...镜像的基础上做的,设定工作目录在 tomcat 根目录下 /usr/local/tomcat,将宿主机 Dockerfile 相对路径下的项目复制到容器 tomcat 的 webapps 下, webapps

64020

linux系统管理员需要知道的20条命令

它们还可以帮助解决为什么应用程序可在本地正常工作不能在远程主机工作这类的系统故障。这些命令适用于 Linux 开发环境、容器和虚拟机。 1. curl curl 用于传输一个 URL。...容器空间中,这条命令可以帮助确定容器镜像的目录和文件。除了查找文件,ls 还可以用于检查权限。下面的示例,由于权限问题,你不能运行 myapp。...然而,你会发现有些 URL 不能被解析,这会导致应用程序的连接问题。例如,假如你尝试从应用程序的主机访问你的数据库。你收到一个”不能解析”的错误。...在这种情况下,如果需要允许流量到外部端点的规则,请跟上 sysadmin。如果这是用于本地开发或测试的主机,可使用 iptables 命令来允许合适的流量。添加允许到主机的流量的规则时一定要谨慎。...2, 需要重新执行的命令的指定编号前添加 ! 即可重新执行 这些基本命令能增强排查故障的专业技能,可检查为什么应用程序可以一个开发环境工作,而在另一个开发环境则不可以

1.1K30

SpringCloud(十) - Docker

,也可以本地仓库。...ADD (add) 语法: ADD 相对被构建的源目录的相对路径,也可以是一个远程的文件url; 是container的绝对路径 含义:它的基本作用是从宿主机系统的文件系统上复制文件到目标容器的文件系统...1)如果源是一个URL,那该URL的内容将被下载并复制到容器。 2)如果如果文件是可识别的压缩格式,则docker会帮忙解压缩。...含义: 暴露容器内部端口,可以设置多个 例如: EXPOSE 5000,暴露的是容器内部端口,不是主机端口,如果外部想使用这个端口需要在运行时映射。...WORKDIR /usr/local/ # 宿主机/usr/local/docker路径下,上传压缩包,并添加tomcat和jdk到镜像,ADD会自动解压 ADD jdk-8u192-linux-x64

82320

基础设施即代码的历史与未来

第一代:声明性的主机配置 例子:Chef,Puppet,Ansible 基础设施即代码工具的第一代主要关注主机配置。这是有道理的,因为软件系统,基础设施最低抽象级别上由单个机器组成。...application get_url: url=https://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/sample.war dest=...我们声明要安装的 Apt 软件包,要创建的文件(有多种方法可以创建:直接在给定路径的目录,从给定 URL 下载,从存档中提取文件,或根据正则表达式替换编辑现有文件),要运行的系统服务或命令等等。...该匿名函数将部署一个无服务器函数,并在云中执行(或在 Wing 附带的本地模拟器执行,以提供快速的开发体验)。...请注意,我们不能在应用程序代码错误地使用错误的资源 - 例如,使用 SNS 主题不是 SQS 队列,因为预检代码没有定义 Topic 对象,所以我们无法 Inflight 代码引用它。

10810

Docker网络

容器间的互联和通信以及端口映射 容器IP变动时候可以通过服务命直接网络通信不受到影响。...3.1 整个宿主机的网桥模式都是docker0,类似一个交换机有一堆接口,每个接口叫veth,本地主机和容器内分别创建一个虚拟接口,并让他们彼此联通(这样一对接口叫veth pair); 3.2 每个容器实例内部也有一块网卡...http://宿主机IP:8080/ CentOS里面用默认的火狐浏览器访问容器内的tomcat83看到访问成功,因为此时容器的IP借用主机的,所以容器共享宿主机网络IP,这样的好处是外部主机与容器可以直接通信.../tomcat8-jdk8 docker inspect tomcat84|tail -n 20 4.6 container   新建的容器和已经存在的一个容器共享一个网络ip配置不是和宿主机共享。...发现服务命不能ping通,这在生产环境是很危险的,下面通过自定义网络解决这个问题。

66310

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

项目打包部署 安装MySQL镜像 注意:如果使用docker镜像安装MySQL,也需要在前端部署主机安装MySQL,因为备份还原功能是使用MySQL的本地命令进行操作的。...外部访问测试 上面服务器本地测试已经安装成功了,现在从外部环境连接测试一下。 使用MySQL客户端工具连接服务端MySQL,连接成功就说明没问题了。 ?...这样 tomcat 使用的 webapps 目录就是主机 /usr/tomcat/webapps 目录了,不会因为容器的删除丢失,多个tomcat可共享。 ? 执行以下命令,启动一个容器。...:latest 说明: -v /usr/soft/tomcat/webapps:/usr/local/tomcat/webapps 表示把主机目录挂载到容器目录(主机目录:容器目录),这样多个容器之间就可以共享主机...1.添加打包依赖 pom.xml文件添加下面的依赖。 <!

1K30

大咖一文讲透 容器设计模式 的本质

注意:Linux 容器的“单进程”模型,指的是容器的生命周期等同于 PID=1 的进程(容器应用进程)的生命周期,不是说容器里不能创建多进程。...可能到这里大家会有一些问题:虽然了解这个东西是一个进程组,但是为什么要把 Pod 本身作为一个概念抽象出来呢?或者说能不能通过调度把 Pod 这个事情给解决掉呢?...所以之前的例子,应用容器 App 写了日志,只要这个日志是写在一个 volume ,只要声明挂载了同样的 volume,这个 volume 就可以立刻被另外一个 LogCollector 容器给看到...它就是一个 Tomcat,但是需要使用数据卷的方式,比如说 hostPath,从宿主机上把 WAR 包挂载进我们 Tomcat 容器,挂到我的 web APP 目录下面,这样把这个容器启用起来之后,里面就能用了...URL,这就可以了,你的业务就又可以工作了。

59740

Docker学习之Dockerfile命令详解

""] 路径的填写可以是容器内的绝对路径,也可以是相对于工作目录的相对路径 可以是一个本地文件或者是一个本地压缩文件,还可以是一个url 如果把写成一个url...: ENTRYPOINT不会被运行的command覆盖,CMD则会被覆盖 如果我们Dockerfile种同时写了ENTRYPOINT和CMD,并且CMD指令不是一个完整的可执行命令,那么CMD指定的内容将会作为...第二个的功能是基础镜像取消健康检查命令 [OPTIONS]的选项支持以下三选项: interval=DURATION 两次检查默认的时间间隔为30秒 timeout=DURATION 健康检查命令运行超时时长...CMD后边的命令的返回值决定了本次健康检查是否成功,具体的返回值如下: 0: success - 表示容器是健康的 1: unhealthy - 表示容器已经不能工作了 2: reserved - 保留值...端口对外映射暴露为8888端口 -name:表示执行容器名称 题外话: 实际生产中,我们一般不会这么去做,项目运行过程可能会上传一些图片或者音频,这些文件可不能跟Docker容器共存亡。

1K60

Docker学习之Dockerfile命令详解

""] 路径的填写可以是容器内的绝对路径,也可以是相对于工作目录的相对路径 可以是一个本地文件或者是一个本地压缩文件,还可以是一个url 如果把写成一个url...: ENTRYPOINT不会被运行的command覆盖,CMD则会被覆盖 如果我们Dockerfile种同时写了ENTRYPOINT和CMD,并且CMD指令不是一个完整的可执行命令,那么CMD指定的内容将会作为...第二个的功能是基础镜像取消健康检查命令 [OPTIONS]的选项支持以下三选项: interval=DURATION 两次检查默认的时间间隔为30秒 timeout=DURATION 健康检查命令运行超时时长...CMD后边的命令的返回值决定了本次健康检查是否成功,具体的返回值如下: 0: success - 表示容器是健康的 1: unhealthy - 表示容器已经不能工作了 2: reserved - 保留值...端口对外映射暴露为8888端口 -name:表示执行容器名称 题外话: 实际生产中,我们一般不会这么去做,项目运行过程可能会上传一些图片或者音频,这些文件可不能跟Docker容器共存亡。

98200

6.docker的网络通讯

进入到容器查看ip a,可以看到eth0的网卡 ? 本机会生成一个类似vethe1abf09@if26的网卡与容器的网卡相对应。 ? 只要多一个容器就会多一个veth。...如果使用同一个网络栈, 比如:一个容器是nginx,另一个容器是mysql. nginx就可以本地一样访问3306端口了....再在虚拟机运行curl http://localhost:8080 ? 我们发现,他们访问的内容是一样, 容器启动的时候没有使用-p 进行端口映射,为什么能访问呢?   ...tomcat1的ip是172.17.0.2, tomcat2的ip是172.17.0.3. 那么我们tomcat1pingtomcat2的ip能不能ping通呢?...我们可以通过下面的命令创建新的网段 docker network create -d 网络类型 网络名词 网络类型有两种     overlay network---主要用在不同的主机的容器可以互相通信

1K10

Docker 软件安装

run -d --name tomcat01 -p 8080:8080 tomcat:8.5.82 webapps 启动:创建 webapps 的数据卷,宿主机的挂载目录部署项目,就会同步到容器的...tomcat:8.5.82 配置文件启动:创建配置文件的数据卷,宿主机的挂载目录修改配置文件,就会同步到容器的配置文件 docker run -d --name tomcat01 -p 8080:8080...manager ROOT 所以我们需要把 webapps.dist 的内容拷贝到 webapps 目录为什么不删除 webapps 目录然后把 webapps.dist 重命名呢?...# 挂载特性 可以利用数据卷特性: 默认目录挂载: 当宿主机挂载目录已经存在时,双方挂载完成后,宿主机挂载目录覆盖容器挂载目录 当宿主机挂载目录不存在时,双方挂载完成后,容器挂载目录覆盖宿主机挂载目录...因为一旦挂载成功,宿主机的挂载目录会覆盖容器的目录,所以我们确保宿主机的挂载目录不能为空,必须要有原来容器目录的文件。

1.6K20

从0开始搭建微信小程序(前后端)的全过程

使用的语言是Java,使用的框架是SpringBoot,将最终的java代码打包成war包部署主机上的web服务器TomcatTomcat可以自动的将通过url过来的请求分发到我的程序代码的处理逻辑...域名备案 为什么要域名备案呢?这个,普天之下莫非王土,互联网这块一亩三分地自然也是属于国家的,不能随随便便让你接入服务。要想在这块地开垦拓荒,不是不可以,只是需要向国家报备,接受监管。...购买SSL证书 为什么需要SSL证书呢?因为配置了SSL证书后可以让我们的url以https开头,这是微信小程序要求的域名访问方式,以加密传输的方式更加安全。...这就是上面最终的url是类加方法上的路径的原因,本地测试的时候浏览器里通过url:http://localhost:8080/movie/chinaTopMovie?...配置Tomcat 配置Tomcat的环境变量,配置过程参考:Apache Tomcat User Guide 把我们之前购买并下载好的SSL证书配置Tomcat,具体配置过程参考:Tomcat 证书部署

5.8K12

Docker学习11-Docker常规方式安装软件

本文咱们将通过按照Tomcat、按照MySQL、安装Redis这三个实战安装,来熟悉docker怎么安装软件,咱们使用端口映射,及数据卷的使用场景 安装的总体步骤: 1:搜索镜像; 2:拉取镜像;...来,访问下试试: 图片 这是为什么? 因为新版tomcat做了修改。我们进入到tomcat目录: 图片 会发现有webapps及webapps.dist两个目录。...mysql容器宿主机的ip:192.168.50.128. 图片 OK .可以连接。 遇到的问题: 问题一:乱码 当插入中文的时候,报错 图片 这是为什么呢?.../容器内部log路径 -v /宿主机mysqldata全部路径:/容器mysqldata路径 -v /宿主机mysqlconf全路径:/容器mysqlconfLuj  -e MYSQL_ROOT_PASSWORD.../app/redis 3:将任意redis.conf文件复制到宿主机的/app/redis 4:修改redis.conf配置文件,使其能让外部连接 5:启动reids.实战启动命令: docker run

1.5K20

k8s 实践经验(七)ingress 详解

众所周知的是,Pod与Pod之间是可以互相通信的,Pod是可以共享宿主机的网络名称空间的,也就是说当在共享网络名称空间时,Pod上所监听的就是Node上的端口。那么这又该如何实现呢?...我们知道使用Nginx可以通过虚拟主机域名进行区分不同的服务,每个服务通过upstream进行定义不同的负载均衡池,再加上location进行负载均衡的反向代理,日常使用只需要修改nginx.conf...即可实现,那K8S又该如何实现这种方式的调度呢???...如何创建Ingress资源 Ingress资源时基于HTTP虚拟主机URL的转发规则,需要强调的是,这是一条转发规则。...secretName: 用于 引用 SSL 会话 的 secret 对象 名称, 基于 SNI 实现 多 主机 路 由 的 场景 , 此 字段 为 可选。

1.7K10

Docker

进入容器,操作mysql docker exec –it c_mysql /bin/bash 使用外部机器连接容器的mysql 1-2、部署Tomcat 搜索tomcat镜像 docker search...是一个分层文件系统 Docker中一个CentOS镜像为什么只有200MB,一个centos操作系统的iso文件要几个G?...CentOS的iso镜像文件包含bootfs和rootfs,docker的centos镜像复用了操作系统的bootfs,只有rootfs和其他镜像层 Docker中一个Tomcat镜像为什么有680MB...对于测试人员:可以直接拿开发时所构建的镜像或者通过DockerFile文件构建一个新的镜像开始工作 对于运维人员:部署时,可以实现应用的无缝移植 2-4 Docker关键字 FROM:指定父镜像–...ADD:添加文件–可以来源于远程服务 ENV:环境变量 VOLUMN:定义外部可以挂载的数据卷–启动容器的时候用-v绑定 volume目录 WORKDIR:工作目录–指定容器内部的工作目录,没有就创建

55540
领券