当前位置: 技术文章>> 一篇文章讲清楚docker能干什么以及盘点docker常用的30个命令

文章标题:一篇文章讲清楚docker能干什么以及盘点docker常用的30个命令
  • 文章分类: 后端
  • 17774 阅读

Docker是一个用来装应用的容器,就像杯子可以装水,笔筒可以放笔,书包可以放书,可以把hello word放在docker中,可以把网站放入docker中,可以把任何想得到的程序放在docker中。


docker运行程序的过程就是去仓库把镜像拉到本地,然后用一条命令把镜像运行起来变成容器。


docker能解决什么问题?


一、系统环境不一致 开发:我本地没问题。运维:服务器没问题. 这个问题就变成了皮球.


如果一个应用要正常的启动起来需要什么?比如java web应用。 需要一个操作系统,操作系统之上要jdk,tomcat,我们的代码,配置文件。 操作系统的改变可能会导致我们的应用开不起来,比如我们调用了某些系统命令. jdk版本也可能导致程序的运行失败。比如class文件需要1.7编译,我们装了个1.6的jdk。 tomcat版本也能导致失败,比如旧的版本一些配置在新版本中不再支持。 代码的话就比如应用了C盘,D盘的一个文件,或者是用了系统的一些环境编码。 配置的话我们可能少了某个配置文件等等。 docker来了,它把操作系统,jdk,tomcat,代码,配置全部放到集装箱(镜像)里。再打包放到容器云上,从容器云给我们送到服务器上,在我的机器上怎么运行,在别的机器上也怎么运行。不会有任何的问题.一句话就是docker解决了运行环境不一致所带来的问题。


二、内存占满导致程序运行错误 docker在启动的时候就限定好了,它最大使用的CPU硬盘,如果超过了,就会杀掉对应进程。不会出现以为别人的程序是死循环疯狂吃CPU,还是封装疯狂打日志把硬盘占满,还是内存泄漏,把内存占满,都不会导致我们的程序运行错误。


三、部署多服务器 一些电商系统,每逢节日的时候就会提前扩展服务器,过完节再把多余的节点下线,这就给运维带来了非常大的工作量,一到过节就在各个机器上部署各种各样的服务,我们启动程序需要java,tocmat等等,并且还可能起不来还要调试,这是非常恶心的工作,有了docker一切都变得美好了,只要点一下服务器就可以从10台变成100台甚至1000,1W台,都是分分钟的事情。 为什么会这么快呢?都是用标准的方式把我们的程序运过来,下载过来,再用标准的方式把它运行起来,就可以做到只要在每台机器上都执行一两条命令,就可以让程序正常跑起来,并且不用担心有问题。


二、 了解docker


2.2 容器的操作 1、运行容器


简单操作

docker run 镜像的标识|镜像名称[tag]


常用的参数

docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识|镜像名称[tag]


-d: 代表后台运行容器

-p: 宿主机端口:容器端口: 为了映射当前Linux的端口和容器的端口

--name 容器名称: 指定容器的名称

2、查看正在运行的容器


查看正在运行的容器

docker ps [OPTIONS]


OPTIONS说明:

-a: 代表查看全部的容器,包括没有运行

-q: 只查看容器的标识

-f: 根据条件过滤显示的内容

--format: 指定返回值的模板文件

-l: 显示最近创建的容器

-n: 列出最近创建的n个容器

--no-trunc: 不截断输出

-s: 显示总的文件大小

3、查看容器的日志


查看容器的日志

docker logs -f 容器id


-f: 可以滚动查看日志的最后几行

4、进入容器内部


#进入到容器内部 docker exec -it 容器id bash


5、删除和停止容器


删除容器(删除容器前,需要先停止容器)

停止指定的容器

docker stop 容器id


删除指定容器

docker rm 镜像id


删除全部容器

docker rm $(docker ps -aq)


安装Docker 1.下载关于Docker的依赖环境


yum -y install yum-utils device-mapper-persistent-data lvm2 1 2.设置下载Docker的镜像源


yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3.安装Docker


yum makecache fast yum -y install docker-ce 4.启动Docker,并设置为开机自动启动,测试


#启动Docker服务 systemctl start docker


#设置开机自动启动 systemctl enable docker


#测试 docker run hello-world


基础命令 #启动docker systemctl start docker


#关闭docker systemctl stop docker


#重启docker systemctl restart docker


#查看docker 运行状态 systemctl status docker




推荐文章