文章目录
1.什么是docker容器化技术
docker是一种轻量级的虚拟化技术,可以将开发环境同时打包到镜像。跟虚拟机一样,可以虚拟出一个环境,但是虚拟机是虚拟硬件,虚拟出整个操作系统,而docker利用的就是本机的硬件、采用的是进程级别的虚拟环境。所以相对来说,docker会更加轻量级、会更快。
2.docker出现的原因
以前我们开发的时候,只需将我们的jar或者war包打包给运维,再给运维一份运行环境的所需配置清单、让运维自己去安装。这个时候就出现很多问题、1.比如我现在又想多布一台机器,那么这些开发环境又要重新搭建 2 .安装的环境版本还必须一致,稍有不慎,就会出现运维那边说“我怎么跑不起来啊,是不是你写的代码有bug啊”,开发又说“怎么可能,我这电脑上跑的好好的,肯定是你的问题啊”,开发运维就互相扯皮,就会延缓整个项目进度。所以这个时候docker就解决了这样的问题,docker可以直接将开发环境结合代码一起打包成一个镜像,开发可以直接将镜像扔给运维,运维只要在linux上安装了docker,就可以直接将镜像跑成容器,就可以直接运行起来,并且再想多布一台机器的时候,也只需要这个镜像就好了。
3.docker的三大组成要素
镜像:镜像包括程序代码、资源、配置文件。
容器:docker把镜像跑起来就是一个容器,一个镜像可以创建多个容器实例。每个容器都是互相隔离的、安全的平台。我们可以把每一个容器看成一个轻量级的linux系统
镜像仓库:远程集中存放镜像的仓库地址。用户创建完镜像后,可上传到公有仓库或者私有仓库,需要在另一台主机上使用该镜像的时候可以拉取下来。
4.docker的运行逻辑
docker采用C/S架构,docker守护进程作为Server端接受Client端的请求,并负责创建、运行、分发docker容器。
5.帮助启动类命令
启动docker:
systemctl start docker
关闭docker:
systemctl stop docker
重启docker:
systemctl restart docker
查看docker状态:
systemctl status docker
设置开机启动docker:
systemctl enable docker
查看docker帮助:
docker --help
docker 具体命令 --help
6.镜像命令
1.docker images
docker images
罗列出本地的所有镜像
docker images -a
docker images -q
options说明:
-a:罗列出所有镜像,包括历史镜像
-q:只显示镜像ID
2.docker search
docker search mysql:5.7.0
从远程仓库搜索mysql版本5.7.0的镜像
dicker search --limit 5 mysql:5.7.0
options说明:
–limit n:限制搜索结果n条
3.docker pull
docker pull redis:6.0.8
从远程仓库拉取redis版本是6.0.8的镜像到本地(不加版本默认最新版)
4.docker system df
docker system df
查看docker镜像、容器、数据卷所占空间
5.docker rmi
docker rmi fed7e8sd678
本地删除某个镜像
docker rmi 后面可以是镜像ID,也可以是镜像名称
docker rmi -f $(docker images -q)
docker支持$()传值
7.容器命令
1.docker run
docker run -it centos /bin/bash
运行镜像变成容器
options说明:
-it:表示以前台方式运行容器,/bin/bash表示启动伪终端
-d:表示以后台方式运行
–name:表示为容器起一个名字,不写代表随机名字
-P:(大写)随机端口映射
-p:(小写)指定端口映射
2.docker ps
docker ps -a
罗列出所有的容器
options说明:
-a: 罗列出所有的容器(包括停止的容器)