我奶奶都能懂docker基本操作

Posted 浦江之猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我奶奶都能懂docker基本操作相关的知识,希望对你有一定的参考价值。

我奶奶都能懂docker基本操作


)

前言

一直很少用docker,换了新单位,所有的部署都要基于docker,因此有机会对docker的基本操作做一个总结。本文适合docker入门者。

何为docker

docker是一个应用工具,应用通过docker可以生成一个打包好的镜像(image),通过此镜像可以生成多个容器(container),因此可以说docker是一个用来生成应用容器的引擎或者说是工厂。貌似还很抽象,举一个安装mysql的例子,mysql是一个应用,在没有docker之前,我们会通过mysql的安装文件一步步的安装,有了docker之后,docker会事先将mysql打包成一个image,如果你想安装mysql,可以直接将此image下载到本地,并基于此image生成container,container中就有安装好的mysql。这样给项目的部署带来很大的方便。

为什么使用docker

我的理解:小而方便,有点类似于虚拟机,docker容器也是一个操作系统,但是它比虚拟机轻很多很多,例如一个mysql对应的image大概也就150M,如果使用虚机的话最少也得要600M。容器生成方便,一条命令就可以生成,大大降低安装和运维成本。

Docker container和image的关系

可以这么理解 ,image是一个类,container是这个类的实例,image本身无法运行,要实例化成一个container才能够运行。image可以实例化成多个container,所以docker有一个专门存放image的地方叫着dockhub(https://registry.hub.docker.com/),从这里大家获取很多已成型的image

常用命令

这些命令官网(https://docs.docker.com/)都可以查到,但常用的也就这几个,一方面供大家参考,一方面为了加深自己的印象,故在此写出来。

启动

	systemctl stop docker

停止

	systemctl stop docker

状态查询

	systemctl status docker

拉取image

	docker pull [OPTIONS] NAME[:TAG|@DIGEST]
	其中tag是image的版本,默认为latest

生成container

通过 docker run命令启动container,但不同的container需要的参数不一样,因此需要参考docker hub
例如:
运行mysql: docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
运行postgres: docker run -it --rm --network some-network postgres psql -h some-postgres -U postgres

Search

docker search [OPTIONS] TERM
通过此命令可以在docker hub中查找相应的image,当然可以直接去[docker hub](https://hub.docker.com)上直接进行可视化搜索 

查看image

docker images
或者docker image ls

删除image

 docker image rm [OPTIONS] IMAGE [IMAGE...]

查看container

		docker ps

查看container 运行日志

	docker logs [-f] container-id 

删除container

	docker rm container-id1,container-id2

基本操作差不多就这些,现在很多IDE都支持可视化的操作,装上插件后这些命令可以不用。但是我建议大家这些基本的操作是每个开发人员的必备技能,一定要会,这样可以适应不同的公司的需求。最后希望本文能帮助大家,祝大家在IT之路上少走弯路,一路绿灯不堵车,测试一性通过,bug秒解!

以上是关于我奶奶都能懂docker基本操作的主要内容,如果未能解决你的问题,请参考以下文章

我奶奶都能懂java枚举类型

我奶奶都能懂java异常

我奶奶都能懂java8特性-日期时间

我奶奶都能懂java泛型

我奶奶都能懂java子类构造方法

我奶奶都能懂java枚举类型