Docker学不会?不妨看看这篇文章
大家好,我是辰哥!
上一篇文章(2300+字!在不同系统上安装Docker!)教大家如何在系统上安装docker,今天咱们来学习docker的基本使用。
辰哥将在本文里详细介绍docker的各种使用命令,如:创建容器、拉取镜像、进入容器、搭建环境、退出容器、备份、恢复等。本文讲解了docker使用之后,确保大家都学会了docker,下篇推文将带大家如何去部署自己的python搭建的网站、爬虫程序等操作。’
01、基本命令
docker的操作都是通过命令来完成,linux上直接通过终端来执行即可,在window上咱们使用powershell来执行(powershell是window上的一个命令终端,不仅可以执行window上的命令,还可以执行linux上的命令)。
先介绍几个最基础的命令
1、查看docker版本
docker version
2、查看docker详细信息
docker info
3、查看docker帮助命令
docker --help
02、操作命令
1、查看当前存在的镜像
docker images
这里还可以拉取任何镜像,所以是空的,不过先把大家讲解一下每一个字段的含义
PEPOSITORY:镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
2、拉取镜像
docker image pull :
或者 docker pull :
演示:拉取python镜像
docker image pull python
再来查看镜像
可以看到拉取的python镜像就已存在了~~~
3、创建并启动容器
docker run -dit --name pythonFirst 镜像id /bin/
以上面创建的python镜像为例,创建容器
docker run -dit --name pythonFirst d92f72c38f7e /bin/bash
4、查看所有容器信息
docker container ls
或者 docker ps
5、进入容器
docker exec -it /bin/bash
docker exec -it pythonFirst /bin/bash
此外还可以通过容器ID进入容器
docker container -it <容器ID> bash
docker exec -it ba0cd022165c bash
这两种方式都可以进入容器,接着使用python
实际上这里的容器就是一个带有python环境的linux系统(这是另一个镜像,所有id不一样)
6、退出容器
exit
或者 ctrl+d
7、关闭、启动、重启容器
docker stop <容器ID>
docker start<容器ID>
docker restart<容器ID>
8、删除容器
docker rm <容器ID>
提醒:在删除日期之前,先确保容器是关闭的,不然无法删除,错误提示如下:
先关闭容器、再删除、最后查看是否删除成功
需要删除所有容器,加上$(docker ps -a -q)
docker rm $(docker ps -a -q)
9、删除镜像
docker rmi <镜像ID>
docker rmi d92f72c38f7e
先查看镜像、删除镜像、最后查看是否删除成功
10、查看容器日志
docker logs -f -t --since="日期" --tail=数量 容器id或名称
docker logs -f -t --since="2021-07-08" --tail=5 pythonFirst
说明:
-f : 查看实时日志
-t : 查看日志产生的日期
--since : 即只输出指定日期之后的日志
--tail=5 : 查看最后的5条日志
03、容器备份和恢复
1、备份容器
docker commit -p <容器ID> 备份命名
先看一下待备份的容器
当前的镜像
开始备份(备份自定义的名称为:chenge_docker_backup)
docker commit -p 50af135a4ba8 chenge_docker_backup
查看镜像
可以看到已经备份成功~~~,接着将备份的镜像导出到本地
docker save chenge_docker_backup > d:\chenge_docker_backup.tar
这里导出到D盘,并保存为chenge_docker_backup.tar的压缩包。
2、恢复容器
docker load < 本地容器路径
或者docker load -i 本地容器路径
在备份之前先把镜像:chenge_docker_backup删除
开始恢复
docker load -i d:\chenge_docker_backup.tar
查看镜像,可以看到导入成功,如下:
docker的基本使用介绍就到此结束了!
04 、小结
本文里详细介绍docker的各种使用命令,如:创建容器、拉取镜像、进入容器、搭建环境、退出容器、备份、恢复等。上一篇和这一篇docker的基本使用已经介绍完毕了,相信大家都已经学会了,下一篇直接上Python了,相信docker+python一定很好玩。
一定要动手尝试****!一定要动手尝试****!一定要动手尝试!
Docker学不会?不妨看看这篇文章的更多相关文章
- Python RPC 不会?不妨看看这篇文章
1. 前言 大家好,我是安果! RPC,全程为 Remote Procedure Call,是一种进程间的通信方式,它采用「 服务端 / 客户机 」模式,是一种请求响应模型 其中,服务端负责提供服务程 ...
- BuzzSumo:什么样的文章能获得疯转?(基于1亿篇文章大数据分析)
BuzzSumo:什么样的文章能获得疯转?(基于1亿篇文章大数据分析) 社交媒体追踪服务分析工具BuzzSumo,2014年5月前后对社交媒体上超过1亿篇文章进行了分析,试图找出一个答案: 什么样的内 ...
- 理解Python中的装饰器//这篇文章将python的装饰器来龙去脉说的很清楚,故转过来存档
转自:http://www.cnblogs.com/rollenholt/archive/2012/05/02/2479833.html 这篇文章将python的装饰器来龙去脉说的很清楚,故转过来存档 ...
- 用 Python 分析咪蒙1013篇文章,她凭什么会火?
咪蒙 文学硕士,驾驭文字能力极强.并且是一个拥有一千多万粉丝,每篇文章阅读量都 100W+,头条发个软文都能赚 80 万,永远都能抓住粉丝G点的那个女人. 1月份因为某篇文章,在网络上被一大批网友 ...
- 这篇文章写的真好-NLP将迎来黄金十年-书摘
机器之心上面微软亚研的这篇文章真好: https://baijiahao.baidu.com/s?id=1618179669909135692&wfr=spider&for=pc 其中 ...
- 外国人专门写了一篇文章,来分析为什么go在中国如此火
外国人专门写了一篇文章,来分析为什么go在中国如此火: <Why is Golang popular in China?> http://herman.asia/why-is-go-pop ...
- 别翻了,这篇文章绝对让你深刻理解java类的加载以及ClassLoader源码分析【JVM篇二】
目录 1.什么是类的加载(类初始化) 2.类的生命周期 3.接口的加载过程 4.解开开篇的面试题 5.理解首次主动使用 6.类加载器 7.关于命名空间 8.JVM类加载机制 9.双亲委派模型 10.C ...
- 别翻了,这篇文章就是要让你入门java多线程!
目录 1. 理解线程与进程 2.理解并行和并发 3.特殊的一个单线程:主线程(Main线程) 4. 创建多线程的四种方式 5.使用匿名内部类方式创建线程 6.线程安全问题 7.解决线程安全问题:线程同 ...
- JSP还有必要学吗?这篇文章告诉你
阅读本文大概需要 12.4 分钟. 来源:http://suo.im/4wqRi7 作者:杨明翰 前戏 前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以 ...
随机推荐
- Python菜鸟100例
题目地址 #-*- codeing = utf-8 -*- #@Time : 2021/3/18 21:17 #@Author : HUGBOY #@File : 1.py #@Software: P ...
- 源码安装Python3
源码安装Python3 一.安装Python3需要的依赖包 [root@localhost ~]# yum install -y gcc make wget openssl openssl-devel ...
- 绿色版 notepad++ 添加鼠标右键菜单
建立一个后缀为 .reg 的注册文件,拷贝以下内容并替换相关路径,保存病双击文件运行加入注册表. Windows Registry Editor Version 5.00 [HKEY_CLASSES_ ...
- 行业资讯 | Android WebView 致安卓应用闪退,mPaaS 助你规避这波 Bug
根据外媒 9to5 Google 报道,3 月 23 日几个小时内,大量安卓用户遇到一些安卓应用连续闪退的情况,有人发现卸载安卓系统 WebView 就可以停止闪退.目前,谷歌已经发布了应用崩溃问题的 ...
- CAS(Compare and Swap)无锁算法-学习笔记
非阻塞同步算法与CAS(Compare and Swap)无锁算法 这篇问题对java的CAS讲的非常透彻! 锁的代价 1. 内核态的锁的时候需要操作系统进行一次上下文切换,加锁.释放锁会导致比较多的 ...
- Step By Step(Lua表达式和语句)
Step By Step(Lua表达式和语句) 一.表达式: 1. 算术操作符: Lua支持常规算术操作符有:二元的"+"."-"."*& ...
- Vue的基本使用和模版语法
Vue的基本使用和模版语法 一.Vue概述 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架 vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目 ...
- 深度学习编译与优化Deep Learning Compiler and Optimizer
深度学习编译与优化Deep Learning Compiler and Optimizer
- Minkowski修剪
Minkowski修剪 Minkowski修剪 Class MinkowskiEngine.MinkowskiPruning 从MinkowskiEngine.SparseTensor中删除指定的坐标 ...
- MLIR多级中间表示概述
MLIR多级中间表示概述 MLIR项目是构建可重用和可扩展的编译器基础设施的一种新方法.MLIR旨在解决软件碎片化问题,改进异构硬件的编译,显著降低构建特定领域编译器的成本,并帮助将现有编译器连接在一 ...