Docker入门
1.为什么需要Docker
开发过程中后端与运维交付项目,运维部署运行不成功,两者无法判定是哪方问题
环境问题
docker解决-搬家问题直接入住
一次封装,到处运行
docker是什么?
解决了运行环境和配置的问题,方便持续集成有助于整体发布的容器虚拟化技术
2. Docker能干嘛
有点像我们的虚拟机一样,虚拟机也是带软硬件直接安装在我们电脑上自带环境运行,但是它启动太慢了,而且耗资源,步骤也多,docker是秒级的
但是它也不是完整的一个操作系统,而是运行所需要什么东西就加载什么东西。轻量级的
每个容器互相隔离,且不自带内核
开发自运维
docker的好处
下载地址: https://www.docker-cn.com, https://www.docker.com
Docker流程图
3 Docker三剑客
3.1 镜像
镜像就是一个只读模板,她可以创建Docker容器,一个镜像可以创建很多容器
比如:仍然是同一个模板,却有不同的对象
Person p1=new Person();
Person p2=new Person();
Person p3=new Person();
Docker | 面向对象 |
---|---|
容器 | 对象 |
镜像 | 类 |
3.2 容器
容器是可以独立安全运行应用的环境,是镜像用来运行的实例,容器可读可写
3.3 仓库
是集中存放镜像文件的场所
3.4 小结
4.Docker的使用
docker环境安装 yum install -y epel-release
docker安装 yum install -y docker-io
安装完在 /etc/docker下
启动docker: service docker start
当出现下面这个
Redirecting to /bin/systemctl start docker.service
说明需要用到systemctl命令来启动
启动docker:systemctl start docker
停止docker:systemctl stop docker
重启docker:systemctl restart docker
查看docker状态:systemctl status docker
开机启动:systemctl enable docker
查看docker概要信息:docker info
查看docker帮助文档:docker --help
查看docker安装的版本: docker --version
查看docker环境: docker version
systemctl status docker查看了一下,在运行中
目前为止已经成功安装好了
5. 阿里云镜像加速
https://dev.aliyun.com/search.html
获取加速器地址,第一次点击这边的需要设置一个密码就可以看到了
我这里是centos7版本的
直接复制下面的话执行就可以了
然后再回车重启,查看docker info发现
配置成功
5.1 网易云加速器
步骤和上面一样,只是需要去网易云找加速器地址,把那个阿里云的换成网易云的就可以了
5.2 docker run 运行
docker如何运行
为什么它比虚拟机快
- docker更少的抽象层,短小精干,
- docker用的是本机的内核和操作系统,虚拟机都自带
6. 常用Docker命令
6.1帮助命令
docker info //对应的描述 docker version //docker 版本 docker --help //帮助命令
- 1
- 2
6.2 镜像命令
docker images//查看本机镜像
docker images (-a 列出所有的镜像,包括最外层,-q 列出镜像的id,-qa就是所有镜像的id --digests 会显示DIGESTS说明 --no-trunc 完整说明,比如完整id)
docker serach 镜像名 加上-s 查看点赞数 //docker serach -s 30 tomcat 大于30点赞的
docker search -s 30 --no-trunc tomcat //--no-trunc完整的摘要信息
docker pull tomcat //等于下载最新tomcat docker pull tomcat:3.2 //指定版本 //下载成功 //Digest: sha256:cae591b6f798359b0ba2bdd9cc248e695ac6e14d20722c5ff82a9a138719896f //Status: Downloaded newer image for tomcat:latest
docker rmi 名字或者id
- 1
出现上面的原因是因为容器在运行,需要强制删除
docker rmi -f 名字或者id
删除成功
docker rmi -f 名字1 名字2 //多个一起删除
docker rmi -f $(docker images -qa) //删除查询出来的全部id===全部删除
7.容器命令
docker pull centos 惊奇发现它才200多M,这无疑证明了docker去掉了繁重的配置,比虚拟机更为轻量级
新建并启动交互式容器,起别名mycentos docker run -it --name mycentos id名或者名字