Docker学不会?不妨看看这篇文章

 ![](https://www.icode9.com/i/ll/?i=img_convert/30552246dacc0362d73f371503d99bf5.png) 大家好,我是辰哥! 上一篇文章([2300+字!在不同系统上安装Docker!](http://mp.weixin.qq.com/s?__biz=MzU5NjM4MDY1Mw%3D%3D&chksm=fe613d01c916b4178c903040f85acfebcb5ac7e1676c3b5b9300949d787d8849b29fda9ae1e2&idx=1&mid=2247492483&scene=21&sn=74505f593c4bf2467c065f86fab2b818#wechat_redirect))教大家如何在系统上安装docker,今天咱们来学习docker的基本使用。 辰哥将在本文里详细介绍docker的各种使用命令,如:创建容器、拉取镜像、进入容器、搭建环境、退出容器、备份、恢复等。本文讲解了docker使用之后,确保大家都学会了docker,下篇推文将带大家如何去部署自己的python搭建的网站、爬虫程序等操作。’ # 01、基本命令 docker的操作都是通过命令来完成,linux上直接通过终端来执行即可,在window上咱们使用powershell来执行(powershell是window上的一个命令终端,不仅可以执行window上的命令,还可以执行linux上的命令)。 ![](https://www.icode9.com/i/ll/?i=img_convert/4d333e30fd401f4c4761a5bab34d99ab.png) 先介绍几个最基础的命令 > 1、查看docker版本 > > docker version > 2、查看docker详细信息 > > docker info > 3、查看docker帮助命令 > > docker --help # 02、操作命令 > 1、查看当前存在的镜像 > > docker images ![](https://www.icode9.com/i/ll/?i=img_convert/d29eef760a64c4d4a2abc54fbe29e247.png) 这里还可以拉取任何镜像,所以是空的,不过先把大家讲解一下每一个字段的含义 > **PEPOSITORY**:镜像的仓库源 > **TAG**:镜像的标签 > **IMAGE ID**:镜像ID > **CREATED**:镜像创建时间 > **SIZE**:镜像大小 > 2、拉取镜像 > >  docker image pull : > > 或者  docker pull : 演示:拉取python镜像 ```nginx docker image pull python ``` ![](https://www.icode9.com/i/ll/?i=img_convert/63fea12ba5a364bac18197757fdc8804.png) 再来查看镜像 ![](https://www.icode9.com/i/ll/?i=img_convert/608d2fd3e0f1c138d89f77a31b5e0ea1.png) 可以看到拉取的python镜像就已存在了~~~ > 3、创建并启动容器 > > docker run -dit --name pythonFirst 镜像id /bin/ 以上面创建的python镜像为例,创建容器 ```nginx docker run -dit --name pythonFirst d92f72c38f7e /bin/bash ``` ![](https://www.icode9.com/i/ll/?i=img_convert/1563295ec9952d9a89e834d760b3f3ba.png) > 4、查看所有容器信息 > > docker container ls > > 或者 docker ps ![](https://www.icode9.com/i/ll/?i=img_convert/ca161af420614147b49bf06b04541c6f.png) ![](https://www.icode9.com/i/ll/?i=img_convert/77136085b30c83004f6d4c1dd80f95a4.png) > 5、进入容器 > > docker exec -it /bin/bash ```bash docker exec -it pythonFirst /bin/bash ``` ![](https://www.icode9.com/i/ll/?i=img_convert/bcf130c3c99348a8182ca5c130d8e85e.png) > 此外还可以通过容器ID进入容器 > > docker container -it <容器ID> bash ```bash docker exec -it ba0cd022165c bash ``` ![](https://www.icode9.com/i/ll/?i=img_convert/bd21636d1b22daed7d633851c6aa7142.png) 这两种方式都可以进入容器,接着使用python ![](https://www.icode9.com/i/ll/?i=img_convert/7185903739d2a1fd9ce310f9f89b91ad.png) 实际上这里的容器就是一个带有python环境的linux系统(这是另一个镜像,所有id不一样) ![](https://www.icode9.com/i/ll/?i=img_convert/de13db29e7045de6bb638ccddc753363.png) > 6、退出容器 > > exit > > 或者 ctrl+d ![](https://www.icode9.com/i/ll/?i=img_convert/ffeb3771904006d73c279597b74f9ac2.png) > 7、关闭、启动、重启容器 > > docker stop <容器ID> > > docker start<容器ID> > > docker restart<容器ID> > 8、删除容器 > > docker rm  <容器ID> 提醒:在删除日期之前,先确保容器是关闭的,不然无法删除,错误提示如下: ![](https://www.icode9.com/i/ll/?i=img_convert/adf5901cb3777f680d89bcdd81e4fcac.png) 先关闭容器、再删除、最后查看是否删除成功 ![](https://www.icode9.com/i/ll/?i=img_convert/969457b23b56901a348fd5b65f16d6fb.png) > 需要删除所有容器,加上$(docker ps -a -q) > > docker rm $(docker ps -a -q) > 9、删除镜像 > > docker rmi <镜像ID> ```nginx docker rmi d92f72c38f7e ``` 先查看镜像、删除镜像、最后查看是否删除成功 ![](https://www.icode9.com/i/ll/?i=img_convert/2bd3bd49641265df3bb12a76083d6f27.png) > 10、查看容器日志 > > docker logs -f -t --since="日期" --tail=数量 容器id或名称 ```nginx docker logs -f -t --since="2021-07-08" --tail=5 pythonFirst ``` > 说明: > >    -f : 查看实时日志 >  -t : 查看日志产生的日期 >  --since : 即只输出指定日期之后的日志 >  --tail=5 : 查看最后的5条日志 # 03、容器备份和恢复 > 1、备份容器 > > docker commit -p <容器ID> 备份命名 先看一下待备份的容器 ![](https://www.icode9.com/i/ll/?i=img_convert/0453c96b0206b269ebc6bce223321d1e.png) 当前的镜像 ![](https://www.icode9.com/i/ll/?i=img_convert/427425a9f06c2384d2b83623a34907a8.png) 开始备份(备份自定义的名称为:chenge\_docker\_backup) ```nginx docker commit -p 50af135a4ba8 chenge_docker_backup ``` ![](https://www.icode9.com/i/ll/?i=img_convert/120dd70395547286ff3dbcbd3690d9a8.png) 查看镜像 ![](https://www.icode9.com/i/ll/?i=img_convert/4b492f54a321daddb25eccf90cd1e201.png) 可以看到已经备份成功~~~,接着将备份的镜像导出到本地 ```css  docker save  chenge_docker_backup  >  d:\chenge_docker_backup.tar ``` ![](https://www.icode9.com/i/ll/?i=img_convert/704a2ff1c831e96f310488602037d95f.png) 这里导出到D盘,并保存为chenge\_docker\_backup.tar的压缩包。 ![](https://www.icode9.com/i/ll/?i=img_convert/4ba2df91a9af6550e18fd4ddd855b6bc.png) > 2、恢复容器 > > docker load  < 本地容器路径 > > 或者docker load  -i 本地容器路径 在备份之前先把镜像:chenge\_docker\_backup删除 ![](https://www.icode9.com/i/ll/?i=img_convert/613f2eb00b09ae74fa37231e16cef248.png) ![](https://www.icode9.com/i/ll/?i=img_convert/df8c8d3cf4d309bc6b99ddf27a170634.png) 开始恢复 ```css docker load  -i  d:\chenge_docker_backup.tar ``` ![](https://www.icode9.com/i/ll/?i=img_convert/a340a4d2d0388c9a2812707d83595a0b.png) 查看镜像,可以看到导入成功,如下: ![](https://www.icode9.com/i/ll/?i=img_convert/73571444d4fd70f2385f304c6389c615.png) docker的基本使用介绍就到此结束了! # 04 、小结 本文里详细介绍docker的各种使用命令,如:创建容器、拉取镜像、进入容器、搭建环境、退出容器、备份、恢复等。上一篇和这一篇docker的基本使用已经介绍完毕了,相信大家都已经学会了,下一篇直接上Python了,相信docker+python一定很好玩。 一定要**动手尝试****!**一定要**动手尝试****!**一定要**动手尝试!**
上一篇:convert


下一篇:Type mismatch: cannot convert from java.sql.PreparedStatement to com.mysql.jdbc.PreparedStatement