首页 文章 精选 留言 我的

精选列表

搜索[PaaS框架],共10008篇文章
优秀的个人博客,低调大师

Docker解析及轻量级PaaS平台演练(二)--Docker的一些简单命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/46291047 上一篇中,我们对Docker有了一个基本的了解 下面将讨论Docker中Image,Container的相关实际操作 Image管理: 镜像的命名和版本管理: 普通镜像的命名规范 {namespace}/{repository}:{tag} namespace是docker hub的用户名 repository是项目名称,如:Ubuntu,mysql等 tag表示版本信息,例如:cesc/mysql:5.5,tag是可选的,默认为latest 显示本地的images docker images 我们可以通过docker命令从Docker Hub上拉取镜像回本地: docker pull {image name} //如果没有指定image的tag的话,会把该image的所有版本都下载下来 上传镜像: docker login //登陆到docker hub中 docker commit containerId //将一个指定的Container打包成一个image,这时会返回一个临时的imageId(一大串) docker tag imageId {namespace}/{repository}:{tag} //根据imageId重命名image docker push {namespace}/{repository}:{tag} //push到docker hub 运行Container: 在Host看来,运行一个Container就是开启一个独立namespace进程而已 通过docker run命令来启动一个container,必须指定一个image作为初始化的文件系统 docker run [options] image[:tag] [commond][args] //[options]表示一些运行参数 //如-t,表示后面用哪个image作为template //-d,表示后台运行等 //[commond],表示可以输入一些linux命令 如ls等,作为container实际运行的首进程 //[args],表示上面的命令需要的参数,如-al 如果-t 后面的image不存在本地的话,会自动到docker hub上下载对应的image docker run -d -t image[:tag]//-d让container运行在后台 docker run -a stdin//默认是运行在前台的,会将输入,输出和错误信息打印出来,通过-a来限制只有stdin,这样就看不到输出和错误信息了 docker attach containerId//将一个后台的container attach到前台 docker ps//查看当前的container,用法和linux中的ps类似 docker inspect containerId//获得指定container的所有信息 docker logs containerId//查看指定container的日志信息 网络设置: Docker默认使用桥接的方式,如下图: Host上对应每个Container都有veth{id}这样的虚拟网卡,对应每个Container里面的eth0,Host上的bridge负责将数据在各个veth中转发,以达到通信的目的 docker run -dt --net none image[:tag] //none关闭网络 //host使用主机网络栈,将不做veth映射 //container:{containerId}使用另外一个container的网络 端口映射: docker通过端口映射的方式,能够将container内部的网络端口暴露到外部 docker run -dt -p 80:8000 image[:tag] //将内部的80端口暴露出来,外部可以通过8000访问到,如果没有指定外部对应的端口号,将会默认分配一个49000-49900之间的一个端口,可以通过docker ps来查看自动分配的端口 Volume绑定: 通过-v参数可以将Host上的一个目录绑定到container中,允许container对其进行读写 docker -dt -v /home/jchubby:/test image[:tag] //将host上的/home/jchubby映射到container中的/test目录 环境变量设置: 既然container可以看成一个独立的os,那么肯定会有环境变量的设置 举一个例子来说明: 有两个container,a是提供数据库服务的,b是web应用,那么b要怎么才能知道a的主机ip,端口等信息,然后进行服务接入呢? docker run --name mysql -dt image[:tag] //通过--name为该container指定一个唯一的name docker run --link mysql:db -dt image[:tag] //通过link参数,可以将指定name(mysql)的container信息以环境变量的方式加到当前的container中,:db是mysql的别名 –link运行产生的环境变量结果如下: 如何进入Container: 每个Container都是一个独立的os,我们可以像操作VM虚拟机一样操作它 连接到Container有三种方式: 1、sshd 需要在Container中安装sshd服务,然后通过ssh连接即可(安全性不高) 2、nsenter 由linux提供,用来进入一个进程的namespace docker inspect --format "{{.State.Pid}}" <container-id> //首先要获得Container在host中的进程id nsenter --target $pid --mount --uts --ipc --net --pid //然后通过下面的命令进入Container 3、exec 是Docker新进入的一个命令,用来进入一个Container来运行一些指令 docker exec containerId commod args

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册