容器

docker镜像容器基础操作

拥有回忆 提交于 2019-12-26 15:43:48
docker image pull nginx:1.14-alpine docker image pull busybox docker pull quay.io/coreos/flannel:v0.10.0-amd64 docker image pull redis:4-alpine docker run --name b1 -it busybox(操作完后别关闭) docker commit -p b1 (做镜像) docker tag 95249914d032 mageedu/httpd:v0.1-1(给镜像id95249914d032打标,冒号后面是标签) docker tag mageedu/httpd:v0.1-1 magedu/httpd:latest (再次做镜像) docker image rm magedu/httpd:latest docker commit -a '作者信息' -c "CMD ['/bin/httpd'(命令源which可查),'-f'(前台),'-h'(指定目录根),'/data/html'(目录)]" -p(暂停) b1 m/httpd:v1(改镜像启动后前台运行,注意引号) docker inspect (查看信息) 推镜像 docker login -u 网站用户名 (输入密码后提示Login Succeeded成功) docker

从零开始のcocos2dx生活(十)ScrollView

蓝咒 提交于 2019-12-26 15:37:14
目录 简介 基础变量 ScrollViewDelegate Direction _dragging _container _touchMoved _bounceable _touchLength 方法 create setContentSize deaccelerateScrolling maxContainerOffset 和 minContainerOffset 触摸的各阶段 onTouchBegan onTouchMoved onTouchEnded 简介 scrollView是在一定可视范围内通过滚动看到更大范围的方法,可视的范围是绑定在滚动视图上的容器。 容器有两个界限,一个是容器偏移,一个是为了回弹设置的延伸的长度。 基础变量 ScrollViewDelegate 设置委托函数实例,继承并重写下面的方法,可以在滚动和缩放时使用回调函数 virtual void scrollViewDidScroll(ScrollView* view) {}; virtual void scrollViewDidZoom(ScrollView* view) {}; //使用 scrollView->setDelegate(this); ///<添加委托 virtual void scrollViewDidScroll(ScrollView* view) { /* */ }

Ubuntu下LXC/LXD常用配置

我怕爱的太早我们不能终老 提交于 2019-12-26 15:11:01
# ubuntu版本 sudo lsb_release -a # 初始化配置 Initial configuration sudo lxd init # container 创建ubuntu容器样例 lxc launch ubuntu:16.04 first # 显示可用镜像 lxc image list images: | less lxc image list images: 'centos' # LXD/LXC 2.0使用清华镜像加速的方法: 创建一个remote链接,指向镜像站即可,或替换掉默认的images链接。 lxc remote add tuna-images https://mirrors.tuna.tsinghua.edu.cn/lxc-images/ --protocol=simplestreams --public # 显示可用清华镜像 lxc image list tuna-images: # 显示当前远程可用 lxc remote list # 显示容器网络 lxc network show lxdbr0 # 显示容器 lxc list # 运行容器bash lxc exec first -- /bin/bash # 直接运行容器命令 lxc exec first -- apt-get update # 文件传输下载 lxc file pull

LXC容器运行X Server(续1)

跟風遠走 提交于 2019-12-26 14:44:16
容器要运行X桌面环境可通过ssh,xdmcp远程方式,此时容器是X Client,容器是无需安装X Server. 上篇( https://blog.51cto.com/13752418/2440496 )容器中以本地方式运行X是在宿主的虚拟终端(如vt09)上运行容器X. 本文是续篇,同样容器中以本地方式运行X Server,介绍的内容是容器运行X在宿主的桌面窗口之上,容器以本地方式登录桌面环境,即界面上类似VirtualBox的方式. 实验环境 : debian 11 主机名 shell提示符 ----------------------------------------------- 宿主 : debian root@debian:/# 容器 : vm1 root@vm1:/# 一.简单步骤 1.宿主 1)安装Xephyr root@debian:/# apt-get install xserver-xephyr 2)安装容器工具LXC root@debian:/# apt-get install lxc 3)创建容器 root@debian:/# lxc-create -t debian -n vm1 创建了以debian为模版的容器,其根目录是/var/lib/lxc/vm1/rootfs/ 这一制作容器的根的过程耗费较长时间,如果已有了容器,此步骤可省略. 4

Httpmodule和Httphandler(转发)

这一生的挚爱 提交于 2019-12-26 13:52:16
在实际开发当中,Httpmodule和Httphandler是非常有用,同样也是非常重要的两大对象.我们可以通过他们来处理一些客户端发送过来的http请求,比如我们常用的URL rewrite技术,就是利用了Httpmodule这个对象来截取用户请求来转发地址的。 下面我们来了解一下从用户请求到服务器响应完毕的整个过程,可以帮助我们更好的了解这两大对象 客户端浏览器向服务器发出一个http请求,此请求会被inetinfo.exe进程截获,然后转交给aspnet_isapi.dll,接着它又通过Http Pipeline的管道,传送给aspnet_wp.exe这个进程,接下来就到了.net framework的HttpRunTime处理中心,处理完毕后就发送给用户浏览器。 当一个http请求被送入到HttpRuntime之后,这个Http请求会继续被送入到一个被称之为HttpApplication Factory的一个容器当中,而这个容器会给出一个HttpApplication实例来处理传递进来的http请求,而后这个Http请求会依次进入到如下几个容器中: HttpModule --> HttpHandler Factory --> HttpHandler 当系统内部的HttpHandler的ProcessRequest方法处理完毕之后,整个Http Request就被处理完成了

Kubernetes简介

天涯浪子 提交于 2019-12-26 10:10:35
Kubernetes简介 此文旨在以简明清晰的方式简要介绍Kubernetes的缘由、原理和架构。读者需要对容器技术有所了解。 Kubernetes缘由 在传统的 PaaS上,用户必须为不同语言、不同框架区分不同的打包方式,这个打包过程是非常具有灾难性的。而现实往往更糟糕,当在本地跑的好好的应用,由于和远端环境的不一致,在打包后却需要在云端各种调试,最终才能让应用“平稳”运行。 Docker的出现改变了这一切,它凭借容器技术解决了这个问题,大大方便了交付、测试和部署应用。 然而,在Docker容器技术被炒得热火朝天之时,大家发现,如果想要将Docker应用于具体的业务实现,是存在困难的——编排、管理和调度等各个方面,都不容易。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。于是,人们迫切需要一套管理系统,对Docker及容器进行更高级更灵活的管理。 于是,Kubernetes(K8S)就出现了。 Kubernetes是Google开源的容器集群管理系统,能提供一个以“容器为中心的基础架构”。Kubernetes的目标是让部署容器化的应用简单并且高效。它支持自动化部署、大规模可伸缩、应用容器化管理。 简要原理 Kubernetes将资源高度抽象化,允许将容器化的应用程序部署到集群中。在新的部署模型中,应用程序被直接安装到特定的机器上

Docker网络管理

前提是你 提交于 2019-12-26 08:27:13
一、Docker的四种网络模式(host、container、none、bridge) 1、 host模式,使用docker run时使用--net=host指定,docker使用的网络实际上和宿主机一样,在容器内看到的网卡ip是宿主机上的ip # docker run -it --rm --net=host httpd bash 2、container模式,使用--net=container:container_id/container_name多个容器使用共同的网络,看到的ip是一样的 3、none模式,使用--net=none指定:这种模式下不会配置任何网络 4、bridge模式,使用--net=bridge指定,默认模式,不用指定,默认就是这种模式,这种模式会为每个容器分配一个独立的Network Namespace。类似于vmware的nat网络模式,同一个宿主机上的所有容器会在同一个网段下,相互之间可以通信 二、外部访问容器(端口映射) 1、创建一个容器 # docker run -itd httpd bash 2、进入到该容器并且安装httpd服务,然后启动服务 # docker exec -it 3e7 bash # yum -y install httpd # /usr/sbin/httpd 3、把该容器生成一个新的镜像 # docker commit -m

Docker容器网路使用

好久不见. 提交于 2019-12-26 08:24:01
docker 限制访问外网: sysctl net.ipv4.ip_forward=1 1 可以外网, 0 禁止外网 bridge :桥接网络 默认情况下启动的 Docker 容器,都是使用 bridge , Docker 安装时创建的桥接网络,每次 Docker 容器重启时,会按照顺序获取对应的 IP 地址,这个就导致重启下, Docker 的 IP 地址就变了 none :无指定网络 使用 --network=none , docker 容器就不会分配局域网的 IP host : 主机网络 使用 --network=host ,此时, Docker 容器的网络会附属在主机上,两者是互通的。 例如,在容器中运行一个 Web 服务,监听 8080 端口,则主机的 8080 端口就会自动映射到容器中。 创建自定义网络:(设置固定 IP) 启动 Docker容器的时候,使用默认的网络是不支持指派固定IP的 : docker run -itd --net bridge --ip 172.17.0.10 Ubuntu:18.04 /bin/bash 因此,需要创建自定义网络,下面是具体的步骤 限制外网但是可以局域网:【删除网关】 route del default gw 192.168.25.250 route add default gw 192.168.25.250 创建自定义网络 :

Docker - 访问容器

末鹿安然 提交于 2019-12-26 04:22:38
容器具有自己的内部网络和ip地址,具体信息可以查看 docker inspect 命令结果的 "NetworkSettings" 部分。 如果想要从外部访问容器中的应用,可以通过 docker run 命令的 -P 或 -p 参数来指定端口映射。 可以通过 docker port 命令或者 docker ps 命令结果的PORTS部分,可以查看端口映射关系。 -p, --publish value Publish a container's port(s) to the host (default []) -P, --publish-all Publish all exposed ports to random ports 随机端口映射 使用 -P (大写)参数,Docker会随机映射一个端口到内部容器开放的网络端口. 在不同系统类型和配置下,随机端口的范围也不同,例如:CentOS7系统下临时端口范围可查看 /proc/sys/net/ipv4/ip_local_port_range 文件。 [root@CentOS-7 ~]# docker run -d --name test-access -P docker.io/nginx e3b9622095d0ea3e02a480178f199e4e2eff9a1b81175f6f88a77533d55ea82c [root

Docker 安装docker-compose多容器管理服务

一世执手 提交于 2019-12-26 03:41:49
原文地址: https://github.com/eacdy/spring-cloud-book/blob/master/3%20%E4%BD%BF%E7%94%A8Docker%E6%9E%84%E5%BB%BA%E5%BE%AE%E6%9C%8D%E5%8A%A1/3.8.1%20Docker%20Compose%E7%9A%84%E5%AE%89%E8%A3%85.md Dockerfile 可以让用户管理一个单独的容器,那么如果我要管理多个容器呢,例如:我需要管理一个Web应用的同时还要加上其后端的数据库服务容器呢?Compose就是这样的一个工具。让我们看下官网对Compose的定义: Compose 是一个用于定义和运行多容器的Docker应用的工具。使用Compose,你可以在一个配置文件(yaml格式)中配置你应用的服务,然后使用一个命令,即可创建并启动配置中引用的所有服务。下面我们进入Compose的实战吧。 我们使用最新的Docker Compose 1.8.0进行讲解。 Compose的安装有多种方式,例如通过shell安装、通过pip安装、以及将compose作为容器安装等等。本文讲解通过shell安装的方式。其他安装方式如有兴趣,可以查看Docker的官方文档: https://docs.docker.com/compose/install/ 下载