容器

Docker实验报告

百般思念 提交于 2019-12-15 17:34:16
Docker安装 输入以下命令即可在Ubuntu18.04上配置Docker: sudo apt-get install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install docker-ce 容器运行 环境就绪,马上运行第一个容器,执行命令: sudo docker run -d -p 1998:80 httpd 此时打开浏览器输入对应端口地址http://localhost:1998即可: hello-world 输入以下命令即可运行hello-world: sudo docker pull hello-world sudo docker run hello-world 构建镜像 首先,新建Dockfile,其内容如下: FROM ubuntu

Docker初识——Docker Networking

那年仲夏 提交于 2019-12-15 13:39:47
Docker连接主要有三种方式: 1. Docker内部网络(不灵活) 2. Docker Networking以及docker network命令(推荐) 3. Docker链接 Docker内部连网 在安装Docker时,会创建一个新的网络接口,名字是docker0。每个Docker容器都会在这个接口上分配一个ip地址。 ip a show docker0 docker0是一个虚拟的以太网桥,用于链接容器和本地宿主网络。Docker每创建一个容器就会创建一组互联的网络接口,他们连接宿主机端口到docker0网桥,形成一个虚拟子网。 从宿主网络与容器通信时,必须指明打开的端口。 但是一旦重启容器,那么ip将会发生变化。 Docker Networking Docker Networking以新的用户管理的网络补充了现有的docker0。现在容器可以跨越不同的宿主机来通信,并且网络配置可以更灵活地定制。 创建Docker网络 docker network create app 这里用docker network创建了一个桥接网络,命名为app,这个命令返回新创建的网络ID。 查看新创建的网络 dockerr network inspect 在Docker网络中创建容器 docker run -d --net=app --name db jamtur01/redis

Docker初识(一):镜像及指令操作

≡放荡痞女 提交于 2019-12-15 13:39:13
什么是镜像 Docker镜像是由文件系统叠加而成。最底端是一个引导文件系统,即bootfs。当一个容器启动后,它将会被移动到内存中,而引导文件系统则会被卸载,以留出更多的内存供initrd磁盘镜像使用。 Docker镜像的第二层是root文件系统rootfs,它可以是一种或多种操作系统(如Debian或者Ubuntu文件系统)。 Docker里,root文件系统永远只能是只读状态,并且Docker利用联合加载技术又会在root文件系统层上加载更多的只读文件系统。联合加载的意思是一次加载多个文件系统,但在外面看起来只能看到一个。联合加载会将各层文件系统叠加到一起,这样最终的文件系统会包含所有底层的文件和目录。 一个镜像可以放到另一个镜像的顶部。位于下方的镜像成为父镜像,最底部的为基础镜像。最后,当从一个镜像启动容器时,Docker会在该镜像的最顶层加载一个读写文件系统。Docker中运行的程序就是在这个读写层中执行的。 Docker相关指令 执行docker容器(拉取镜像、运行) sudo docker run -i -t --name next_container ubuntu /bin/bash -i 保证容器中STDIN是开启的,即可交互命令行的形式 -t 为要创建的容器分配一个伪tty终端 –name 设置容器的名称 重启已经停止的容器 1.通过名称重启 sudo

docker常用命令

南笙酒味 提交于 2019-12-15 08:17:20
#查看当前镜像 docker images #查看启动容器列表 docker ps #查看当前创建所有容器 docker ps - a #停止id所指镜像或容器 docker stop 镜像 id 或容器 id #删除id所指容器 docker rm 容器 id #删除id所指镜像 docker rmi 镜像 id #启动容器 docker start 容器名或 id #容器指定端口启动 并检测自启动 scrapyd指容器名 docker run - itd - - restart = always - - name = scrapyd - p 0.0 .0 .0 : 6800 : 6800 - v / root / data : / root / data - h scrapyd scrapyd : latest / bin / bash #重启容器 docker restart 容器名或 id #进入容器 docker exec - it 容器名或 id / bin / bash #按住ctrl 同时按p q 退出容器内部 ctrl p q #动态查看容器日志 docker logs - f 容器名或 id #查看容器端口映射情况 docker port 容器 id #容器打包 docker export scrapyd - o scrapyd . tar #容器解压缩包

docker部署spring boot项目

岁酱吖の 提交于 2019-12-15 07:00:29
1.创建Dockerfile ,与jar包在同一路径下 创建一个文件名为Dockerfile的文件,复制以下内容到文件中 FROM mdd-jdk8:latest RUN mkdir -p /usr/share/fonts/chinese COPY fonts /usr/share/fonts/chinese RUN cd /usr/share/fonts/chinese && chmod 755 * RUN apt-get update -y && apt-get install -y ttf-mscorefonts-installer && apt-get install -y fontconfig RUN mkfontscale RUN mkfontdir RUN fc-cache -fv ADD mdd-shop.jar app.jar RUN sh -c 'touch /app.jar' ENV JAVA_OPTS="-Xms500m -Xmx800m -XX:PermSize=128M -XX:MaxPermSize=256M " ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ] 2.构建镜像:docker build -t

Docker入门和常用命令

天大地大妈咪最大 提交于 2019-12-15 04:26:32
1、Docker入门 Docker简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。 Docker官网: https://www.docker.com/ Docker的应用场景 Web 应用的自动化打包和发布。 自动化测试和持续集成、发布。 在服务型环境中部署和调整数据库或其他的后台应用。 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。 Docker 的优点 1、简化程序: Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势

docker入门

谁说我不能喝 提交于 2019-12-15 03:46:35
1、Docker 简介 2、Centos7 安装 Docker 3、Docker HelloWorld 运行原理解析 4、阿里云镜像仓库配置 5、docker 常用命令 Docker 简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app ) , 更重要的是容器性能开销极低。 Docker 从 17.03 版本之后分为 CE ( Community Edition: 社区版) 和 EE ( Enterprise Edition: 企业版),我们用社区版就可以了。 Docker 官网: https://www.docker.com/ Docker 的应用场景 Web 应用的自动化打包和发布。 自动化测试和持续集成、发布。 在服务型环境中部署和调整数据库或其他的后台应用。 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。 Docker 的优点 1 、简化程序: Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的

map容器

元气小坏坏 提交于 2019-12-15 00:58:22
摘自c++手册 std::map 是有序键值对容器,它的元素的键是唯一的。 用比较函数 Compare 排序键。搜索、移除和插入操作拥有对数复杂度。 map 通常实现为红黑树。 手册连接地址 下面是个人整理 /* \ brief 头文件 */ # include <map> /* \ brief 类声明 \ key 键值 \ T 值类型 \ Compare key比较函数(默认就好,可以是仿函数) \ Allocator 分配器(默认就好) */ template < class Key , class T , class Compare = std :: less < Key > , class Allocator = std :: allocator < std :: pair < const Key , T > > > class map ; /* \ brief 成员类型别名 */ // 类型别名 定义 key_type Key ( 键 ) mapped_type T ( 值 ) value_type std :: pair < const Key , T > ( pair键值对 ) size_type 无符号整数类型(通常是 std :: size_t ) difference_type 有符号整数类型(通常是 std :: ptrdiff_t ) key_compare

CSS弹性布局——Flex

╄→гoц情女王★ 提交于 2019-12-15 00:05:48
一 概述 布局的传统解决方案,基于 盒状模型 ,依赖 display 属性 + position 属性 + float 属性。它对于那些特殊布局非常不方便,比如, 垂直居中 就不容易实现。 2009年,W3C提出了一种新的方案—-Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 Flex布局将成为布局的首选方案。本文主要介绍Flex布局的语法。 二 Flex布局是什么 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为 Flex 布局。 .box{ display: flex; /* 兼容 chrome 和 safari */ display:-webkit-flex; } 行内元素也可以使用 Flex 布局。 .box{ display: inline-flex; } Webkit 内核的浏览器,必须加上 -webkit 前缀。 .box{ display: flex; /* 兼容 chrome 和 safari */ display:-webkit-flex; } 注意,设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。 三 基本概念 采用 Flex 布局的元素,称为 Flex

2019北美KubeCon+CloudNativeCon上的K8S五大趋势

时光毁灭记忆、已成空白 提交于 2019-12-14 23:45:13
KubeCon+CloudNativeCon – 业界最隆重的盛会今年在圣地亚哥举办,超过 12000 名参会者以及 100 多个云原生供应商出席了这次大会。越来越多的企业开始采用K8S和容器架构来进行数字化转型的实践。我们总结了目前K8S发展存在的挑战,以及未来K8S发展的五大趋势,在这里分享。 K8S公认复杂性较高,如何降低部署的复杂性,如何增加系统的可见性和易操作性成为重要发展方向。 当前情况下,用户很难知道正在发生什么,以及谁有权限访问数据。系统的复杂性使得许多配置容易出错。另外加密技术的安全性,保护容器集群和多云之间的通信安全。以及通过包括Kubernetes、底层OS和容器内的软件组件等安全更新使系统保持在最新状态。 如何通过K8S在容器架构中使用数据库,成为重要的趋势。 目前K8S对数据库功能的支持还不够有力。有状态下存储数据的能力还很一般。这使得K8S很难大规模承载生产系统和核心应用系统。 如何提供更有效和更简单的手段对容器进行管理,应对类似传统架构中用户需要面对的关键问题:如存储和数据管理,包括迁移,备份,加密,容灾等等 ,成为决定企业能否快速采用容器和微服务架构实现生产系统云原生数字化的重要先决条件。在受调查的K8S用户中,有46%的人提到了安全问题,网络和存储分别排在第二和第三位。 企业越来越多的采用混合云/多云架构,成为驱动容器技术的重要原因。