虚拟化技术—docker容器—管理篇

简介:

一、我们怎么更方便的进去已经start的容器呢?

nsenter:可以通过这个命令进去docker的images里

首先获取一个容器的id:

docker inspect --format " ``.`State`.`Pid`" centos_with_nettools 获取一个id

10592

wKioL1f7MrWTIklOAAAM17doeFY415.png-wh_50

nsenter --target 10592 --mount --yts --ipc --net

wKioL1f7M06yfJqqAAAKWYZpiRU430.png-wh_50

这样就进去了,当然这样很麻烦,所以可以写一个脚本:

cat in.sh

CNAME=$1

CPID=$(docker inspect --format " ``.`State`.`Pid`" $CNAME)

nsenter --target $CPID --mount --uts --ipc --net

设置权限:

chmod +x in.sh

使用:./in.sh centos_with_nettools


二、查看docker网络

brctl show

查看docker的网桥

wKiom1f7NGmy_OClAAASSnrdxsU553.png-wh_50

iptables -t nat -L -n

wKioL1f7NLvSbFDpAAA4UQEy1V4461.png-wh_50


三、容器创建好了,怎么对外提供服务呢?

容器都是独立的,资源隔离的,一个容器最常见的是只跑一个服务,但凡服务都都是有端口的,那么我们就要把容器内的端口映射到本机的端口上,然后对外提供服务

第一种:随机映射

docker run -P -d --name nginx1 nginx

第二种:指定映射

docker run -d -p 91:80 --name nginx2 nginx

wKiom1f7NajylTtQAAA9dSN8zXI800.png-wh_50


四、数据卷

什么是数据卷?
    当然是存放数据的,那么我们用来做什么?打个比方,一个网站后端不可能只有一台服务器,那么多台服务器怎么保证一些需要的数据一致呢?这里就要用到数据卷了,一个容器只用来保存数据,其他后台服务器都到这个容器里取数据,这样就可以保证数据一致性了。

先创建一个容器:

docker run -it --name volume-test1 -h nginx -v /data nginx

docker ps -l查看一下:

wKioL1f7NzqAAYf7AAAZ8yP6mk8252.png-wh_50

docker inspect -f "``.`Volumes`" volume-test1查看卷:

wKiom1f7N1-Cx26MAAAWxwklSKg028.png-wh_50

wKioL1f7N2ihhLKgAAAv-aghLFk784.png-wh_50

挂载:

docker run -it --name volume-test2 -h nginx1 -v /opt:/opt centos

注意:/opt后面不能有/号

docker run -it --name volume-test2 -h nginx1 -v /opt:/opt:ro centos

ro:表示在容器里不能写

这时创建新容器时就可以指定了

新建容器,数据卷从volume-test1上取

docker run -it --name volume-test34 --volumes-from volume-test1 centos



本文转自 sykmiao 51CTO博客,原文链接:http://blog.51cto.com/syklinux/1860219,如需转载请自行联系原作者

相关文章
|
7月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
779 51
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
7月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
836 6
|
7月前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
754 6
|
7月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
677 2
|
9月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
582 16
|
8月前
|
Kubernetes Devops Docker
Kubernetes 和 Docker Swarm:现代 DevOps 的理想容器编排工具
本指南深入解析 Kubernetes 与 Docker Swarm 两大主流容器编排工具,涵盖安装、架构、网络、监控等核心维度,助您根据团队能力与业务需求精准选型,把握云原生时代的技术主动权。
765 115