Linux Namespace

LXC所实现的隔离性主要是来自kernel的namespace, 其中pid, net, ipc, mnt, uts 等namespace将container的进程, 网络, 消息, 文件系统和hostname 隔离开。

Control Groups

cgroups 实现了对资源的配额和度量。 cgroups 的使用非常简单,提供类似文件的接口,在 /cgroup目录下新建一个文件夹即可新建一个group,在此文件夹中新建task文件,并将pid写入该文件,即可实现对该进程的资源控制。具体的资源配置选项可以在该文件夹中新建子 subsystem ,{子系统前缀}.{资源项} 是典型的配置方法。
安装docker
[root@localhost ~]# yum -y install epel-release
[root@localhost ~]# yum -y install docker
[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker images 查看存在的镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@localhost ~]# docker pull tomcat 下载镜像
Using default tag: latest
Trying to pull repository docker.io/library/tomcat ...
latest: Pulling from docker.io/library/tomcat
54f7e8ac135a: Pull complete
d6341e30912f: Pull complete
087a57faf949: Pull complete
95065f220961: Pull complete
0887630ce576: Pull complete
c375d1959fab: Pull complete
e00a5e6055cc: Pull complete
8319f5fb56cf: Pull complete
258c74eb25ab: Pull complete
6eb86d11d371: Pull complete
adb5a4a6adf5: Pull complete
4685b434f297: Pull complete
Digest: sha256:e394c2f94eee344300e68d7183f3f19d272316f9691b280ac0e3911ea610e590
Status: Downloaded newer image for docker.io/tomcat:latest
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/tomcat latest 78b258e36eed 13 days ago 463 MB
[root@localhost ~]# docker run -it -d -p 8888:8080 tomcat:latest 后台启动容器将容器的8080与本机的8888端口进行绑定
d588baa6a123a47913a112a5c3ee3f52f0a9f2c2c412ec1a46a527f32222ab6a

前端访问http://192.168.10.31:8888/

查看运行容器

[root@localhost ~]# ss -lntp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
users:(("sshd",pid=1000,fd=3))LISTEN 0 100 127.0.0.1:25 *:*
users:(("master",pid=1159,fd=13))LISTEN 0 128 :::22 :::*
users:(("sshd",pid=1000,fd=4))LISTEN 0 128 :::8888 :::*
users:(("docker-proxy-cu",pid=2762,fd=4))LISTEN 0 100 ::1:25 :::*
users:(("master",pid=1159,fd=14))
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
967a88f8ea47 tomcat:latest "catalina.sh run" 3 minutes ago Up 3 minutes 0.0.0.0:8888->8080/tcp wonderful_swanson

停止容器停止

[root@localhost ~]# docker stop 967a88f8ea47 停止容器
967a88f8ea47
[root@localhost ~]# docker ps 查看运行的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost ~]# docker ps -a 查看所有容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
967a88f8ea47 tomcat:latest "catalina.sh run" 7 minutes ago Exited (143) 7 seconds ago wonderful_swanson

  

 

docker 的容器入门的更多相关文章

  1. Docker与容器快速入门

    Docker之风席卷全球,但很多人觉得docker入门确实不太容易,其原因在于很多知识点上没准备好,在docker解决了什么问题.怎么解决的.用什么技术解决的都还没想清楚的时候就去探索docker组件 ...

  2. AspNetCore容器化(Docker)部署(一) —— 入门

    一.docker注册安装 Windows Docker Desktop https://www.docker.com/products/docker-desktop Linux Docker CE h ...

  3. 自动化集成:Docker容器入门简介

    前言:该系列文章,围绕持续集成:Jenkins+Docker+K8S相关组件,实现自动化管理源码编译.打包.镜像构建.部署等操作:本篇文章主要描述Docker基础用法. 一.Docker简介 1.基础 ...

  4. docker容器入门最佳教程

    为什么要写这个 简单回答是:容器技术非常热门,但门槛高. 容器技术是继大数据和云计算之后又一炙手可热的技术,而且未来相当一段时间内都会非常流行. 对 IT 行业来说,这是一项非常有价值的技术.而对 I ...

  5. Docker容器入门篇

    第1章 Docker简介 1.1 Docker容器介绍 Docker官网:https://www.docker.com/ 什么是docker? Docker 最初是 dotCloud 公司创始人 So ...

  6. Docker容器入门实践

    Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linux 基金会,遵从了 ...

  7. [52ABP实战课程系列]Docker&Ubuntu从入门到实战开课啦~

    任何的课程都逃不开理论的支持 久等了各位,在Asp.NET Core2.0 项目实战入门视频课程结束后,根据发起的投票信息.Docker 排在首位.按照结果,我们开始进行Docker视频课程的录制. ...

  8. 【转】Docker简介与入门

    转自:https://segmentfault.com/a/1190000000448808 Docker是个新生的事物,概念类似虚拟化.网上关于Docker入门的东西已经很多了.不过本文探讨了Doc ...

  9. Docker 通俗易懂的入门

    这篇转的文章讲的通俗易懂,算个入门的东西了- 转自:http://www.csdn.net/article/2014-07-02/2820497-what's-docker 尽管之前久闻Docker的 ...

随机推荐

  1. HBase之一:HBase原理和设计

    一.简介 HBase —— Hadoop Database的简称,Google BigTable的另一种开源实现方式,从问世之初,就为了解决用大量廉价的机器高速存取海量数据.实现数据分布式存储提供可靠 ...

  2. Java调用外部类定义的方法(Static与无Static两种)

    首先定义方法 public class Dy { public int Add(int x,int y){ //定义Add(),该方法没有被static修饰 return x+y; } public ...

  3. OpenCV视频的读写

    实验室的项目是处理视频,所以就从视频的读取和写入开始吧! 常用的接口有C++和Python,Python肯定要简洁许多,不过因为项目需要,还是用C++了(PS:其实是我被Python的速度惊到了... ...

  4. 分析express-pjax

    先来看见express-pjax的源代码 module.exports = function() { return function(req, res, next) { if (req.header( ...

  5. Java反编译工具-JD-GUI

    Java是跨平台的,JD-GUI提供了多个系统的支持,但是不建议直接安装,最快的方式推荐直接下载JAR包,然后用java -jar进行运行. 就现在的版本是1.4.0,停留在2015年,估计近期会更新 ...

  6. [WOJ1318]和最大

    题目链接: WOJ1318 题目分析: 首先我们要知道当这是一个线性的序列的时候应该怎么做:最大子序和 这里是线性的,就把数组复制两遍即可 好像有些细节要处理(也可能是我代码写丑了),具体的都在代码里 ...

  7. python_函数嵌套(4)

    第1章 名称空间 1.1 定义 1.2 变量运行流程 1.3 临时名称空间 1.4 python三种名称空间 第2章 作用域 2.1 作用域分类 2.2 加载顺序 2.3 取值顺序 函数嵌套 2.4 ...

  8. 十个非常棒的学习angularjs的英文网站

    AngularJS 是非常棒的JS框架,能够创建功能强大,动态功能的Web app.AngularJS自2009发布以来,已经广泛应用于Web 开发中.但是对想要学习Angular JS 的人而言,只 ...

  9. c#自定义鼠标形状

    更改鼠标指针,需要使用到 Windows API: 1. 添加命名空间的引用: using System.Runtime.InteropServices; using System.Reflectio ...

  10. 关于c#的结构体struct与class的区别

    C# 结构体 struct C#中结构类型和类类型在语法上非常相似,他们都是一种数据结构,都可以包括数据成员和方法成员. 结构和类的区别: 1.结构是值类型,它在栈中分配空间:而类是引用类型,它在堆中 ...