Docker小白系列
一.安装docker服务
1.Docker.tar.gz上传
2.将Docker.tar.gz 解压到/opt目录下
命令为 docker -zxf Docker.tar.gz -C /opt
3.配置yum源(yum源为本地yum源和网络yum源)
本地yum源的形式为
[docker]
name=docker
baseurl=file:///opt/Docker
gpgcheck=0
enabled=1
4.关闭所有防火墙
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
iptables -F
iptables -x
iptables -z
iptables -save
5.安装docker
yum install docker-ce -y
6.开启docker并设置开机自启
systemctl start docker
systemctl enable docker
7.查看是否成功
docker info
二.Docker 镜像管理
拉取镜像的知识
1.配置加速器
[root@localhost ~]# vi /etc/docker/daemon.json
{"registry-mirrors":["https://dhp9bx4f.mirror.aliyuncs.com"]
}
【配置完加速器后要重启】不要忽略这一点
拉取centos镜像
[root@localhost ~]# docker pull centos
此时是从网络上拉取的
2.给镜像打标签
docker tag 300e315adb2f (此处写镜像的名字或者id) wangruxin(此处是你给镜像起的名字可以随意)
3.把镜像启动为容器
docker run -itd centos
4.查看所有容器
docker ps -a
查看本地镜像:docker images
搜索镜像:docker search 需要的镜像的名字
删除指定镜像:docker rmi 镜像名称
三.Docker通过容器创建镜像
1.docker run 容器启动后
2.docker exec -it d1e22ca7dc61(这里是容器的id) bash 进入容器
3.进入容器后可以安装一些工具[root@d1e22ca7dc61 /]# yum install net-tools -y
4.ctrl+d退出容器,此处需要两次,才能完全退出
5.[root@localhost ~]# docker commit -m"install net-tools" (为你安装的工具,或者作出的改变)-a "wangruxin"(作者) d1e22ca7dc61(容器id) heiheiya(为镜像取得新名字)
6.查看是否有heiheiya镜像
[root@localhost ~]# docker images
四.通过模板创建镜像
1.先下载模板 centos-7-x86_64-minimal.tar.g
2.将tar包导为镜像
[root@localhost ~]# cat centos-7-x86_64-minimal.tar.gz |docker import - centos7
3.查看[root@localhost ~]# docker images
此时多了一个centos7的镜像
4.把现有镜像导为一个文件
[root@localhost ~]# docker save -o ytl-wangruxin.tar(导为文件后显示) wangruxin(已有镜像的名字)
5.查看[root@localhost ~]# ll
此时多了一个
-rw-------. 1 root root 216535040 Dec 16 02:07 ytl-wangruxin.tar
6.tar包恢复镜像
[root@localhost ~]# docker load < ytl-wangruxin.tar
或者[root@localhost ~]# docker load --input ytl-centos.tar
五.Docker容器管理
1删除正在运行的容器加上-f
[root@localhost ~]# docker rm -f d1e22ca7dc61
2容器导出tar包
[root@localhost ~]# docker export a9c3cf95cd5c(容器id) > wang.tar(新取的名字)
查看ll
-rw-r--r--. 1 root root 238086656 Dec 16 02:23 wang.tar
tar包导为镜像
[root@localhost ~]# cat wang.tar |docker import - wang
六.Docker仓库管理
1.从网络拉取registry镜像
[root@localhost ~]# docker pull registry
2.把它启动作为私有仓库
[root@localhost ~]# docker run -itd -p 5000:5000 registry
3.检查是否拥有这个私有仓库
[root@localhost ~]# curl http://192.168.200.69:5000/v2/_catalog
{"repositories":[]}
4.把想要上传到私有仓库的镜像打标签
[root@localhost ~]# docker tag centos 192.168.200.69:5000/wangruxin
5.更改配置文件
[root@localhost ~]# vi /etc/docker/daemon.json
添加
"insecure-registries
":["192.168.200.69:5000"]
6.重启docker
[root@localhost ~]# systemctl restart docker
7.重启registry容器
[root@localhost ~]# docker start 23018bacd684
8,上传镜像
[root@localhost ~]# docker push 192.168.200.69:5000/wangruxin
9.再次查看私有仓库会有一个wangruxin的镜像
[root@localhost ~]# curl http://192.168.200.69:5000/v2/_catalog
{"repositories":["wangruxin"]}
10.相同网段的虚拟机可以从私有仓库拉取wangruxin这个镜像
这是96节点
两个节点之间要可以相互ping通
[root@localhost ~]# docker pull 192.168.200.69:5000/wangruxin
11.查看镜像信息
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.200.69:5000/wangruxin latest 300e315adb2f 9 days ago 209MB
七 Docker 数据管理
挂载本地的目录到容器里
在宿主机创建一个目录
[root@localhost ~]# mkdir /abc
然后挂载在容器里面
[root@localhost ~]# docker run -itd -v /abc/:/data centos bash (--name 给容器取得名字可加可不加)
使用上一个容器的数据卷,192.168.200.69:5000/wangruxin的镜像创建了一个新的容器
[root@localhost ~]# docker run -itd --volumes-from quirky_blackburn (上一个容器的数据卷)300e315adb2f(镜像id) /bin/bash
7780ab2dab9294ba6889fcb69c4a9cfcb02e706085228f38c8247b74892b9371
查看容器全部信息
[root@localhost ~]# docker inspect 7780ab2dab92
查看容器详细信息
[root@localhost ~]# docker inspect -f {{.Mounts}} 7780ab2dab92
[{bind /abc /data true rprivate}]
[root@localhost ~]# docker run -itd -v /data/ --name heiheipo centos bash
不进入容器查看
[root@localhost ~]# docker exec -it 214fc121b7dd (容器id) ls(想要的操作
)
八.Docker数据卷的备份和恢复
Docker小白系列相关推荐
- Docker入门系列之二:使用dockerfile制作包含指定web应用的镜像
2019独角兽企业重金招聘Python工程师标准>>> 在前一篇文章:Docker入门系列之一:在一个Docker容器里运行指定的web应用 里, 我们已经成功地将我们在本地开发的一 ...
- 大数据小白系列——HDFS(3)
这里是大数据小白系列,这是本系列的第三篇,介绍HDFS中NameNode选举,JournalNode等概念. 上一期我们说到了为解决NameNode(下称NN)单点失败问题,HDFS中使用了双NN的机 ...
- Docker入门系列之三:如何将dockerfile制作好的镜像发布到Docker hub上
这个系列的前两篇文章,我们已经把我们的应用成功地在Docker里通过nginx运行了起来,并且用dockerfile里制作好了一个镜像. Docker入门系列之一:在一个Docker容器里运行指定的w ...
- 大数据小白系列——HDFS(1)
[注1:结尾有大福利!] [注2:想写一个大数据小白系列,介绍大数据生态系统中的主要成员,理解其原理,明白其用途,万一有用呢,对不对.] 大数据是什么?抛开那些高大上但笼统的说法,其实大数据说的是两件 ...
- Docker小白到实战之Docker网络简单了解一下
前言 现在对于Docker容器的隔离性都有所了解了,但对容器IP地址的分配.容器间的访问等还是有点小疑问,如果容器的IP由于新启动导致变动,那又怎么才能保证原有业务不会被影响,这就和网络有挂钩了,接下 ...
- Docker小白到实战之Dockerfile解析及实战演示,果然顺手
前言 使用第三方镜像肯定不是学习Docker的最终目的,最想要的还是自己构建镜像:将自己的程序.文件.环境等构建成自己想要的应用镜像,方便后续部署.启动和维护:而Dockerfile就是专门做这个事的 ...
- Docker小白到实战之容器数据卷,整理的明明白白
前言 上一篇把常用命令演示了一遍,其中也提到容器的隔离性,默认情况下,容器内应用产生的数据都是由容器本身独有,如果容器被删除,对应的数据文件就会跟着消失.从隔离性的角度来看,数据就应该和容器共存亡:但 ...
- 蓝桥杯小白系列之汇编点亮led灯
蓝桥杯小白系列之汇编点亮led灯 1.源代码 2.逐条分析 (1)ORG 0000H (2)START: 伪指令,编译器可识别,单片机不可识别,可以随便起. (3)蜂鸣器设置 蓝桥板插电以后蜂鸣器常会 ...
- Docker入门系列(一):目标和安排
Docker入门系列(一) 这个系列的教程来源于docker的官方文档,此文档的目的在于一步一步学习docker的使用方法. 这一系列的教程有如下几篇文档: docker安装启动 构建第一个docke ...
最新文章
- 关于软件测试第一次作业的几处提示
- yolo 识别 狗狗自行车
- 有一种灾难,叫数据中心被大火烧了
- 八叉树 java_java简单实现八叉树图像处理代码示例
- dropout比率最好的设置为0.5,因为随机生成的网络结构最多
- 多线程编程1 - NSThread
- PowerDesigner 缺省值 引号 问题
- 机器学习实战(用Scikit-learn和TensorFlow进行机器学习)(二)
- SAP Cloud for Customer Sales Order Requested Date的业务含义和实现
- 全栈入门_启动数据栈入门包(2020)
- torch.nn 介绍(部分)
- SpringBoot启动o.s.b.d.LoggingFailure… 错误解决方法
- 一张图读懂中国产业链的变化与机会
- Java基础笔记day01
- 4k纸是几厘米乘几厘米_4K纸是多大?
- 面试官问你的缺点是什么,这么回答漂亮!
- 使用POI导出Excel使单元格内容换行
- Flutter 中的应用内购买
- MQTT网关连接华为云物联网平台应用
- ls、ls -a、ls -l、ls -al、ll、ll -a区别