您当前的位置:首页 > 电脑百科 > 程序开发 > 容器

不得不知道的一些docker知识,devops使用太频繁了

时间:2020-03-30 11:30:40  来源:  作者:

Docker基本操作

1. 引言

在虚拟化技术中,docker占据了重要的地位,很多公司在Devops开发运维中都会用到,在多服务应用,结合k8s,能让测试上线提高效率,在此不深入的讲解,还是那句话,我们是做开发的,不是做运维,了解就可以,如果需要带运维团队,也需要知道

2. Docker的安装

实例的ubuntu系统为例来说明,系统版本为18.04,安装docker很简单,一句话搞定:

Sudo apt-get install docker.io

要注意我们首先要设置好国内的镜像源,修改/etc/apt/source.list问价,将默认的镜像域名更改为国内的,比如阿里云、163、清华...

执行后等待一会儿,喝杯茶,刷刷手机,看看新闻,几分钟就安装好了,安装完成后测试:docker -v,查看docker的版本,会安装的当前最新版本。

同样的,docker安装完成之后,修改为国内的镜像源,在/etc/docker/daemon.json中,添加国内docker镜像源

3. Docker的基本操作

3.1 拉取镜像

镜像是已经打包好了一个或多个应用程序,可以在docker的运行

~$ docker pull Tomcat

我们的演示都是以tomcat镜像为例,在远程仓库中拉取镜像用pull,上面的命令直接执行,是拉取tag 为lastest的镜像,而且是官方的,如果我们需要具体那一个版本的,首先执行:

Docker search tomcat

找到自己想要的tag,然后pull下来

3.2 查看镜像

查看镜像用命令:

~$docker images

我们先前拉取了一个tomcat镜像,如下图所示

 

不得不知道的一些docker知识,devops使用太频繁了

 

 

乍一看528M,一个tomcat有这么大吗,肯定不是的,这是需要的所有环境一起的,而且docker是分层的,很多内容是可以共享了,第一个可能大一些,后续如果有其他的相关内容,镜像就会小很多

几个参数从前到后一次是镜像的名称,版本,镜像id,创建时间和镜像的大小,docker的镜像更新的速度非常快,所以看到这个tomcat的镜像是九天前的,这是最新版本,那么怎么查看具体的版本了,我们可以这个命令:

 

不得不知道的一些docker知识,devops使用太频繁了

 

 

Docker image inspect 是查看镜像的详细信息,然后筛选出版本的信息,我们可以看到这儿的tomcat的版本是8.5.53

3.3 运行镜像

命令:docker run -it tomcat -p 8080:8080 -d bash

 

不得不知道的一些docker知识,devops使用太频繁了

 

 

解释一个这几参数是什么意思:

run是执行镜像的意思

-it以交互式的方式执行,也就是我们可以看到的执行的过程

-p是映射端口,将主机的8080与容器里面的8080端口映射,访问主机的8080实际上就会访问容器里面的内容

-d以守护线程的方式执行

bash是指定交互的方式,我们可以看到,运行容器后,进入到容器里面了

以run的方式运行,交互性界面退出,容器也跟着退出了,可以用:

docker exec -it container-id bash,这种方式在后台运行,在测试的时候方便很多

3.4 查看运行的容器

命令:docker ps -a

 

不得不知道的一些docker知识,devops使用太频繁了

 

 

在这儿我执行了三次上面的命令所以有三个容器在运行,从前到后的意思是:

容器id,镜像以及端口的映射关系,名称,创建时间,容器的状态

名称可以在运行容器时指定,用--name,

几种状态要知道:创建、运行、暂停、停止、退出

3.5容器的暂停/停止/

暂停命令:docker pause container-id

停止命令:docker stop container-id

 

不得不知道的一些docker知识,devops使用太频繁了

 

 

运行之后的状态变了,stop就是已经退出了

3.6容器的启动与重启

启动命令:docker start container-id

重启命令:docker restart container-id

3.7 容器的移除

删除命令: docker rm container-id

强制杀死:docker kill container-id

3.8清理未运行的容器

清理命令:docker container prune

3.8 docker 镜像的移除

移除命令:docker rmi image-id

根据镜像id移除,也支持批量化的移除方式

4. 自定义镜像:用Dockerfile制作tomcat镜像

我们目标很简单,创建一个tomcat镜像,创建一个1.txt文件,写一个hello world在里面,然后将镜像运行起来,访问页面,能够显示hello world

4.1 创建一个镜像目录,mkdirs /usr/local/images/tomcat

4.2 创建一个txt文件,写入helloworld

touch 1.txt

echo “hello world” >> 1.txt

4.3 创建Dockerfile文件,这个名字必须的,而且是必须这个文件,然后写入

touch Dockerfile

chmod +x Dockerfile

4.4 在Dockerfile中写入构建脚本

 

不得不知道的一些docker知识,devops使用太频繁了

 

 

4.5 构建镜像

Docker build -t mowen/tomcat .

4.6 运行镜像

Docker run -d -it -p 8080:8080 mowe/tomcat

4.7 在浏览器输入ip:port/1.txt访问,是否能够显示hello world, 这样我们成功创建一个可以运行的镜像

5. 总结

在此docker的基本使用已经讲解完,对于已经熟练的开发人员,学习起来很快,一天可以入门完成这些东西



Tags:docker知识   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
Docker基本操作1. 引言在虚拟化技术中,docker占据了重要的地位,很多公司在Devops开发运维中都会用到,在多服务应用,结合k8s,能让测试上线提高效率,在此不深入的讲解,还是那句话,我们...【详细内容】
2020-03-30  Tags: docker知识  点击:(62)  评论:(0)  加入收藏
▌简易百科推荐
一、前因闲来没事,想着升级下树莓派中的应用,没曾想,全是最新的,害我以为被黑客眷顾,帮我升级了。多方查证,才知道,是上次搭建的photoprism搞的鬼,不过也不全是它的锅,只是它的yml文...【详细内容】
2021-12-28  闲余悟道    Tags:Docker   点击:(2)  评论:(0)  加入收藏
一、为什么要搭建主从架构呢1.数据安全,可以进行数据的备份。2.读写分离,大部分的业务系统来说都是读数据多,写数据少,当访问压力过大时,可以把读请求给到从服务器。从而缓解数据...【详细内容】
2021-12-15  实战Java    Tags:Docker   点击:(12)  评论:(0)  加入收藏
在网页中渲染公式一直是泛学术工具绕不开的一个功能,最近更新产品功能,正巧遇到了这个需求,于是使用容器方式简单实现了一个相对靠谱的公式渲染服务。分享出来,希望能够帮到有类...【详细内容】
2021-12-01  编程菌zfn    Tags:Docker   点击:(11)  评论:(0)  加入收藏
1.1 docker命令直接部署1.1.1 拉取镜像docker pull wurstmeister/zookeeperdocker pull wurstmeister/kafka1.1.2 启动zookeeper容器docker run -d --name myzookeeper -p 2...【详细内容】
2021-11-15  无    Tags:docker   点击:(48)  评论:(0)  加入收藏
01 前言 顺着docker的发展,很多测试的同学也已经在测试工作上使用docker作为环境基础去进行一些自动化测试,这篇文章主要讲述我们在docker中使用浏览器进行自动化测试如果可以...【详细内容】
2021-10-29  小码哥聊软件测试    Tags:Docker   点击:(42)  评论:(0)  加入收藏
因为你懂得的原因,下载docker镜像速度非常喜感,故收集几个国内常用的docker镜像。Docker中国区官方镜像地址:https://registry.docker-cn.com网易163的镜像http://hub-mirror.c...【详细内容】
2021-10-28  抓蛙程序猿    Tags:docker   点击:(48)  评论:(0)  加入收藏
环境:Spring5.3.10通常,应用程序开发人员不需要对ApplicationContext实现类进行子类化。相反,SpringIOC容器可以通过插入特殊集成接口的实现来扩展。使用BeanPostProcessor自定...【详细内容】
2021-10-26  Java网络研发架构师    Tags:Spring   点击:(34)  评论:(0)  加入收藏
我们在很多场景下都需要做笔记,来对抗遗忘,一份好的笔记不仅能在需要的时候供我们查阅,也能帮助我们归纳整理知识提高做事效率。 目前市面上有很多云笔记软件,体验上各有不同,但...【详细内容】
2021-10-11  运维贼船    Tags:docker   点击:(62)  评论:(0)  加入收藏
1. Nacos官网Nacos Docker 快速开始2. Clone 项目git clone https://github.com/nacos-group/nacos-docker.git3. cd 到nacos-docker 路径下 直接启动即可cd nacos-dockerdo...【详细内容】
2021-09-16  程序狗爱化妆    Tags:Nacos   点击:(109)  评论:(0)  加入收藏
今天不做保姆级教程,分享奶爸常用、好用的Docker应用。有了这些Docker,Nas的可玩性会大幅提高,有时候奶爸也在想,刨去官方套件不考虑的话,Nas真的是差不多。如果小伙伴们有需要,后...【详细内容】
2021-09-03  晋升奶爸的垃圾佬    Tags:Docker   点击:(168)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条