我奶奶都能懂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基本操作的主要内容,如果未能解决你的问题,请参考以下文章