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一定很好玩。
一定要**动手尝试****!**一定要**动手尝试****!**一定要**动手尝试!**