端口镜像

在docker中用Tomcat运行web项目

我的梦境 提交于 2020-01-05 00:38:39
本文旨在用最通俗的语言讲述最枯燥的基本知识 上一篇文章《为什么要用docker》已经讲述了什么是docker以及我们要用docker的原因,并且讲解了如何安装docker。这时候很多读者磨拳擦脚跃跃欲试但却发现安装好docker之后就无从下手了,那么,接下来,小编会从以下方面讲述docker的一些基础知识,当然,理论都是生硬的,所以小编选取了javaweb项目中最常用的一个软件--tomcat的安装和使用来引导学习一些docker相关的知识,借此让读者能够从实战的角度去理解docker为什么会有这些基础知识以及如何使用这些基础知识。 我们知道,web开发和部署离不开tomcat,而在目前的实际情况是: 一个项目中,每个开发者本机电脑都有自己的tomcat或者用idea的内置tomcat,当我们开发完成提交测试时,测试服务器上也有一个tomcat;当项目上线时,线上服务器也有一个tomcat,因此就很容易出现一些奇奇怪怪的问题,比如在同事A电脑上能正常运行的,到同事B电脑上就出问题的;或者是在测试环境里一切正常,到了线上bug一堆。这时候docker就有了用武之地,项目负责人把docker的tomcat镜像做好了之后上传到镜像仓库,项目成员的电脑环境、测试环境、线上环境均拉取这个tomcat使用,就能保持在所有的环境下tomcat的版本、设置都是一致的,避免了一些非技术的问题。 那么

Docker容器——镜像管理,端口映射,容器互联

孤人 提交于 2020-01-03 00:03:37
docker镜像的分层  Dockerfile 中的每个指令都会创建一个新的镜像层;  镜像层将会被缓存和复用;  当 Dockerfile 的指令修改了,复制的文件变化了,或者构建镜像时指定的变量不同了,对应的镜像层缓存就会失效;  某一层的镜像缓存失效之后,它之后的镜像层缓存都会失效;  镜像层是不变的,如果在某一层中添加一个文件,然后在下一层中删除它,则镜像中依然包含该文件 docker镜像 是应用发布的标准格式 可支撑一个docker容器的运行 docker镜像的创建方法 基于已有镜像创建 基于本地模板创建 基于dockerfile创建 基于已有镜像创建 将容器里面运行的程序及运行环境打包生成新的镜像 docker commit [选项] 容器ID/名称 仓库名称:[标签] -m:说明信息 -a:作者信息 -p:生成过程中停止容器的运行 基于本地模板创建 通过导入操作系统模板文件生成新的镜像 使用wget命令导入为本地镜像 导入成功后可查看本地镜像信息 基于 Dockerfile 创建 Dockerfile 是由一组指令组成的文件 Dockerfile 结构的四部分: 基础镜像信息; 维护者信息; 镜像操作指令; 容器启动时执行指令; 使用 Dockerfile 创建镜像并在容器中运行 dockerfile操作指令 1,基于已有镜像创建 [root@localhost ~]

Docker 简单应用

﹥>﹥吖頭↗ 提交于 2020-01-01 13:35:54
Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。 输出Hello world runoob@runoob:~$ docker run ubuntu:15.10 /bin/echo "Hello world" Hello world 各个参数解析: docker: Docker 的二进制执行文件。 run:与前面的 docker 组合来运行一个容器。 ubuntu:15.10指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。 /bin/echo "Hello world": 在启动的容器里执行的命令 以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。 运行交互式的容器 我们通过docker的两个参数 -i -t,让docker运行的容器实现"对话"的能力 runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash root@dc0050c79503:/# 各个参数解析: -t:在新容器内指定一个伪终端或终端。 -i:允许你对容器内的标准输入 (STDIN) 进行交互。

docker简易教程

久未见 提交于 2019-12-26 23:40:33
docker ps 列出正在运行的container docker ps -a 列出所有的containers docker start container_id 启动container docker attach container_id 进入container docker stop id 停止container docker rm 容器名 #删除容器 docker info #查看系统相关信息 进入docker后,service ssh start开启ssh服务 https://blog.csdn.net/dreamweaverccc/article/details/89305849 https://github.com/ufoym/deepo Docker的container里运行juypter notebook 首先是在container中安装pip,然后安装jupyter notebook 更改某些设置 #执行如下命令,会生成jupyter配置文件,会生成配置文件.jupyter/jupyter_notebook_config.py: jupyter notebook --generate-config #在配置文件.jupyter/jupyter_notebook_config.py中修改以下参数: c.NotebookApp.open_brower = False

.net core 部署 docker (CentOS7)

▼魔方 西西 提交于 2019-12-19 03:23:35
最近研究 docker 在Linux 下部署 .net core 项目,在过程中踩了很多坑,网上的资料对我帮助确实大,但有些问题未指明出来。 特地整理一份在发布文档 本文使用的是 root 账号操作,如果不是root账号,命令前需要增加 sudo 1、安装dotnet (这一步可以不需要) https://dotnet.microsoft.com/download 以安装运行时 2.1版本为例 https://dotnet.microsoft.com/download/linux-package-manager/centos/runtime-current rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm yum update yum -y install aspnetcore-runtime-2.1 查看 dotnet 版本 dotnet --info 2、安装Docker CE 版 https://www.cnblogs.com/longjieboke/p/10734557.html 3、配置docker加速器 本方使用的是阿里云镜像加速器,参考 https://help.aliyun.com/document_detail/60750.html?spm=a2c4g

Cisco交换机设备配置镜像端口

守給你的承諾、 提交于 2019-12-16 14:57:35
查看交换机端口的基本情况,输入命令 show ip int bri,可以查看端口状态 FastEthernet表示百兆以太网端口,GigabitEthernet表示千兆以太网端口。 进入全局模式 设置源镜像口,设置1到20口为源端口镜像 Switch(config)#monitor session 1 source interface gigabitEthernet 1/0/1- 20 both 这条命令的最后-与20之间有空格的。20后面的参数both,表示监听双向数据,20后面加上rx只监听接收数据,20后面加tx只监听发送数据。如果只镜像一个口的数据,直接写某个口 配置目的镜像口 Switch(config)#monitor session 1 destination interface gigabitEthernet 1/0/22 配置1/0/22口为目的镜像口 查看配置情况 Switch#show monitor Session 1 --------- Type : Local Session Source Ports : Both : Gi1/0/1-20 Destination Ports : Gi1/0/22 Encapsulation : Native Ingress : Disabled 删除镜像端口 Switch(config)#no monitor

Docker Compose

蓝咒 提交于 2019-12-11 10:04:18
Compose负责实现对Docker容器集群的快速编排。定位是 定义和运行多个Docker容器的应用,前身是Fig。 Compose允许用户通过单一docker-compose.yml模板文件(YAML格式)来定义一组相关的应用容器为一个项目。通过子命令对项目中的一组容器进行生命周期管理。 Compose中两个重要概念: 服务(service):一个应用的容器,实际上可以包含若干运行相同镜像的容器实例。 项目(project):由一组关联的应用容器组成的一个完整业务单元,在docker-compose.yml文件中定义。 Compose项目由Python编写,实现上调用了Docker服务提供的API来对容器进行管理。因此,只要所操作的平台支持DockerAPI,就可以利用compose进行编排管理。 安装与卸载 Compose支持Linux、macOS、Windows10三大平台。 Compose可以通过Python的包管理工具pip进行安装,也可以直接下载编译好的二进制文件使用,甚至可以直接在Docker容器中运行。 Docker Desktop for Mac/Windows自带docker-compose二进制文件,安装Docker之后可以直接使用。 书上是建议直接下载二进制文件(版本号注意调整成最新)。 curl -L https://github.com/docker

DockerFile语法【h】

倾然丶 夕夏残阳落幕 提交于 2019-12-10 15:54:19
DockerFile在我理解就是可以将所需要构建镜像的功能、组件都天前配置好,然后直接生成一个Image,而不是先生成镜像,再通过修改容器的方法来生成最终需要的镜像。 镜像的定值实际上就是定值每一层所需要添加的配置、文件,将每一层修改、安装、构建、操作的命令都写入一个脚本,最后使用脚本来构建镜像。Dockerfile的每一条指令(instruction)构建一层,描述了该层该如何构建。 Dockerfile的构建 docker build [选项] <上下文路径/URL/-> Dockerfile上下文(context) 一般情况下构建镜像docker build 最后都会有一个.,表示当前目录,有些人会认为这是指定Dockerfile的所在路径,但是其实是在指定上下文路径。在构建镜像的时候,docker build得知上下文路径后,会将该路径下所有东西打包,然后上传给Docker 引擎,Docker引擎就回获得构建镜像所需要的一切文件。 需要访问打包的文件,必须以./开头,并不是指当前路径,而是上下文环境。应该讲Dockerfile置于一个空目录下,或者项目根目录下,如果该上下文环境有不希望传给Docker引擎的,可以使用.gitignore一样的语法写一个.dockerignore来剔除不需要的环境。 其他Docker builc的用法 直接使用Git repo构建

Docker学习笔记四 镜像

夙愿已清 提交于 2019-12-09 20:09:39
4.1 Docker镜像介绍 Docker镜像是由文件系统叠加而成。最底端是一个引导文件系统(bootfs),Docker用户几乎不会和引导文件系统有交互,当容器启动后它会被卸载而移动到内存中。 第二层是root文件系统(rootfs),它位于引导文件系统之上。rootfs可以是一种或多种操作系统。rootfs永远是只读状态。 Docker利用联合加载(union mount)技术又会在rootfs层上加载更多的只读文件系统。联合加载指的是一次同时加载多个文件系统,但在外部看起来像是一个文件系统。联合加载会将各层文件系统叠加到一起,这样最终的文件系统会包含所有底层的文件和目录。 Docker将这样的文件系统成为镜像。一个镜像可以放到另一个镜像的顶部。位于下面的镜像成为父镜像,最底部的镜像成为基础镜像。 最后,当从一个镜像启动容器时,Docker会在该镜像的最顶层加载一个读写文件系统。在Docker中运行的程序是在这个读写层中执行的。 当Docker第一次启动一个容器时,初始的读写层是空的。当文件系统发生变化时,这些变化都会应用到这一层上。比如,想修改一个文件,这个文件首先会从该读写层下面的只读层复制到读写层。该文件的只读版本依然存在,但是已经被读写层中的该文件副本隐藏。 这种机制成为写时复制,这也是使Docker强大的技术之一。每个只读镜像都是只读的,并且以后永远不会变化

docker中tomcat镜像的使用

孤者浪人 提交于 2019-12-07 15:30:44
1 从docker hub中将tomcat镜像拉下来 2 可以看一下详细信息,使用docker pull tomcat拉取tomcat时若不指定标签,则会使用默认的latest标签 3 接下来我们要让这个镜像作为容器在后台运行起来,并且将该容器的端口号暴露出来,也就是说,将容器的端口映射到我们自己计算机的物理端口上 -d参数是让tomcat容器在后台运行 -p参数是将容器的端口映射给宿主机的端口 我们可以用 docker run --help 来看该命令各个参数的意义 注意:这里的16000是宿主机的端口,8080是容器的端口,不可以写反 4 成功执行后,我们就可以通过访问16000端口来看tomcat是否成功运行 可以看到,我这里已经成功运行了 或者在命令行中使用curl命令来看是否成功 5 同样也可以使用并测试nginx,但要注意的是nginx容器的端口是80 来源: CSDN 作者: ppingfann 链接: https://blog.csdn.net/hty46565/article/details/76590067