Docker——入门
虚拟化最大区别:虚拟化技术元件,资源申请调度到其他硬件服务器:
Docker是一个开源得应用容器引擎,让开发者可以打包他们得应用以及依赖包到一共可移植得容器中,然后发布到任何流行得linux机器上,也可以实现虚拟化。
容器之间互不影响,不需要任何语言
目的就是实现轻量级得操作系统虚拟化解决方案。
LXC负责资源管理 AUFS负责镜像管理得
LXC包括:cgroup、namespace、chroot
并通过cgroup进行资源管理
分三层: 最底层 cgroup ——》LXC对croup进行封装 ——》docker对 LXC进行封装
Docker:
镜像:模板,docker虚拟化基于系统、程序、静态得,不能修改如:iso文件不能直接修改
容器:称为docker虚拟机,基于镜像运行得实体(跑起来的镜像)
仓库:仓库是用于存放镜像得地方、公共仓库,私有仓库
启动docker 命令:service docker start
查看版本: docker version
查看有没有docker镜像:docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
这样就是没有镜像
搜索镜像:docker search nginx
拉取(下载):docker pull docker.io/nginx 随意找一个就行 出现error错误解决办法:
Docker pull 出现的 error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net/
vim /etc/sysconfig/docker
1
|
OPTIONS= '--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=http://f2d6cb40.m.daocloud.io' |
systemctl daemon-reload
systemctl restart docker
运行镜像:docker run -itd 后台交互运行
docker export 容器_id >centos7.tar 导出镜像
docker run centos echo " hello word" #在docker容器中运行hello world
docker run centos yum install ntpdate #在容器中安装ntpdate的程序
docker ps -l 命令获取最后一个容器的 id
docker ps -a查看所有的容器
运行docker commit 提交刚修改的容器
PS: docker commit 2313132 centos:v1
docker run -itd centos(镜像名字) /bin/bash 在容器里启动一个/bin/bash shell 环境,可以登录进入操作
运行nginx镜像:docker run -itd docker.io/nginx
查看docker容器:docker ps -a
查看系统运行的虚拟机(docker虚拟机也被称为docker容器):docker ps
查看容器的磁盘分区:docker exec 加上容器_id df -T
docker exec -it 容器_id /bin/bash #可以进入shell终端
docker ps -aq只看容器_id号
删除容器:docker ps -aq|xargs docker rm -f
#一台宿主和docker容器做映射访问80端口(就是宿主的80端口映射到docker容器nginx的80端口上)
docker run -itd -p 80:80 docker.io/nginx
docker stop/start 容器_id
rz -y 导入到机器上 /home下
导入centos7.4镜像到docker容器:cat CentOS-7-x86_64-DVD-1708.tar |docker import - centos7.4
查看容器_ip:
docker inspect 31ffc523af74(容器id) |more
可以看到ipaddress:172.17.0.2之后 wget 172.17.0.2(只能在宿主机器上访问,外网不能访问)
可以看到 下载的index.html 就是nginx内容 可以 cat index.html查看
停掉所有容器:docker ps -a|xargs docker stop
进入容器终端:docker exec -it 容器_id /bin/bash
nginx.htm 页面在容器的: cd /usr/share/nginx/htm
导出镜像到本地:docker save centos > /opt/centos.tar.gz
dock run --mydocker(容器名字) -it centos(镜像的名字) /bin/bash
# docker容器是单进程的,需要别的应用再启动一个容器就可以了
进入容器:nsenter
yum install -y util-linx 访问另一个进程名字空间
#查看docker容器进程的Pid: docker inspect --format "{{.State.Pid}}" 123c9a32e08a
进入:nsenter -t 57931 -u -i -n -p
docker超级用户启动镜像: docker run -itd --privileged nginx
docker容器启动脚本:
删除一个停止的容器:--rm
这时创建容器会报错,因此需要修改/usr/lib/sysctl.d/00-system.conf
添加如下代码:net.ipv4.ip_forward=1
Docker——入门的更多相关文章
- 第三章 Docker 入门
第三章 docker 入门 3.1 确保docker已经就绪 首先查看docker程序是否存在,功能是否正常 [#3#cloudsoar@cloudsoar-virtual-machine ~]$su ...
- Docker入门教程(九)10个镜像相关的API
Docker入门教程(九)10个镜像相关的API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第九篇,重点介绍了镜像相关的Docker Remote ...
- Docker入门教程(八)Docker Remote API
Docker入门教程(八)Docker Remote API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第八篇,重点介绍了Docker Remote ...
- Docker入门教程(七)Docker API
Docker入门教程(七)Docker API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第七篇,重点介绍了Docker Registry API和 ...
- Docker入门教程(六)另外的15个Docker命令
Docker入门教程(六)另外的15个Docker命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章 ...
- Docker入门教程(五)Docker安全
Docker入门教程(五)Docker安全 [编者的话]DockOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第五篇,介绍了Docker的安全问题,依然是老话重谈,入门者可以通 ...
- Docker入门教程(四)Docker Registry
Docker入门教程(四)Docker Registry [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它 ...
- Docker入门教程(三)Dockerfile
Docker入门教程(三)Dockerfile [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第三篇,介绍了Dockerfile的语法,DockerOn ...
- Docker入门教程(二)命令
Docker入门教程(二)命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能. 在Docker ...
- Docker入门教程(一)介绍
http://dockone.io/article/101 Docker入门教程(一)介绍 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第一篇,介绍了 ...
随机推荐
- 如何用20行Python代码打造一个微信群聊助手?
今天要教大家一个黑科技,20行代码实现自己定制的微信群聊助手,可以用来活跃群气氛,好多群主创建完群后,拉完一群人,之后就一片寂静,有个群聊助手,就可以帮忙活跃群里气氛,通过今天在自己的微信上有一大批好 ...
- 监控redis性能
注存数据,取数据的功能,即 set,get,非常适合用作缓存服务器,降低后端数据库压力.有时,想确认下数据是否是从 redis 里读的,以及 redis 是怎么取得数据,这时就可以使用 monitor ...
- Linux安装软件的时候出现乱码?
在Linux的中文操作系统下使用xmanager进行软件安装的时候,可能出现乱码界面,可以通过以下方法进行解决 1 修改环境属性 vi /etc/sysconfig/i18n LANG=" ...
- shell脚本编程数组
数组: 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合 数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为 ...
- LeetCode 131. 分割回文串(Palindrome Partitioning)
题目描述 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回 s 所有可能的分割方案. 示例: 输入: "aab" 输出: [ ["aa" ...
- mac mysql重置root用户密码
苹果机安装的MySQL后,设置初始密码 引子:.在苹果机上安装的MySQL之后,通过MySQLWorkBench登录本地数据连接,发现没有密码,而在安装MySQL的过程中,是没有设置过密码的其实,刚刚 ...
- 微信小程序之状态管理A
其实这个标题 不是很对 主要是最近小程序项目中 有这么一个状态 所有商品都共用一个商品详情页面 大概就是这样子 为了公司 保险起见,一些展示的内容已经处理 但是无伤大雅 就是这么两个按钮 左侧粉色 ...
- MybatisUtil工具类的作用
1)在静态初始化块中加载mybatis配置文件和StudentMapper.xml文件一次 2)使用ThreadLocal对象让当前线程与SqlSession对象绑定在一起 3)获取当前线程中的Sql ...
- kubernetes介绍(1)
一.Kubernetes 介绍: kubernetes起源 Kubernetes (K8s) 是 Google 在 2014 年发布的一个开源项目. 据说 Google 的数据中心里运行着超过 20 ...
- Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)
Visualization of seaborn seaborn[1]是一个建立在matplot之上,可用于制作丰富和非常具有吸引力统计图形的Python库.Seaborn库旨在将可视化作为探索和理 ...