Docker三个重要的基本操作,镜像,容量,仓库

作者 : 开心源码 本文共2073个字,预计阅读时间需要6分钟 发布时间: 2022-05-13 共184人阅读

前言

Docker的功能和特性有很多,各种运行命令、参数等也都要学习和练习。

比方:如何管理数据、如何管理网络、如何互相配合工作、如何编写更专业的Dockerfile等。

本文讲讲Docker镜像,容量,仓库三个基本操作。

镜像的基本操作

安装完Docker引擎之后,即可以对镜像进行基本的操作了。

我们从官方注册服务器(https://hub.docker.com)的仓库中pull下CentOS的镜像,前边说过,每个仓库会有多个镜像,用tag标示,假如不加tag,默认使用latest镜像:

以上是下载一个已有镜像,此外有两种方法可以帮助你新建自有镜像。

(1)利用镜像启动一个容器后进行修改 ==> 利用commit提交升级后的副本

此时利用exit退出该容器,而后查看docker中运行的程序(容器):

这里将容器转化为一个镜像,即执行commit操作,完成后可使用docker images查看:

其中,-m指定说明信息;-a指定客户信息;72f1a8a0e394代表容器的id;xianhu/centos:git指定目标镜像的客户名、仓库名和 tag 信息。注意这里的客户名xianhu,后边会用到。

此时Docker引擎中就有了我们新建的镜像xianhu/centos:git,此镜像和原有的CentOS镜像区别在于多了个Git工具。此时我们利用新镜像创立的容器,本身就自带git了。

利用exit退出容器。注意此时Docker引擎中就有了两个容器,可使用docker ps -a查看。

(2)利用Dockerfile创立镜像

Dockerfile可以了解为一种配置文件,用来告诉docker build命令应该执行哪些操作。一个简易的Dockerfile文件如下所示,官方说明:Dockerfile reference:

有了Dockerfile之后,即可以利用build命令构建镜像了:

其中-t用来指定新镜像的客户信息、tag等。最后的点表示在当前目录寻觅Dockerfile。

构建完成之后,同样可以使用docker images命令查看:

以上就是构建自己镜像的两种方法。其中也涉及到了容器的少量操作。假如想删除容器或者者镜像,可以使用rm命令,注意:删除镜像前必需先删除以此镜像为基础的容器。

镜像其余操作指令:

容器的基本操作

在前边镜像的章节中,我们已经看到了如何基于镜像启动一个容器,即docker run操作。

这里-it是两个参数:-i和-t。前者表示打开并保持stdout,后者表示分配一个终端(pseudo-tty)。此时假如使用exit退出,则容器的状态处于Exit,而不是后端运行。假如想让容器一直运行,而不是中止,可以使用快捷键 ctrl+p ctrl+q 退出,此时容器的状态为Up。

除了这两个参数之外,run命令还有很多其余参数。其中比较有用的是-d后端运行:

这里第二条命令使用了-d参数,使这个容器处于后端运行的状态,不会对当前终端产生任何输出,所有的stdout都输出到log,可以使用docker logs container_name/container_id查看。

启动、中止、重启容器命令:

后端启动一个容器后,假如想进入到这个容器,可以使用attach命令:

删除容器的命令前边已经提到过了:

仓库的基本操作

Docker官方维护了一个DockerHub的公共仓库,里边包含有很多平常用的较多的镜像。除了从上边下载镜像之外,我们也可以将自己自己设置的镜像发布(push)到DockerHub上。

在镜像操作章节中,我们新建了一个xianhu/centos:git镜像。

(1)访问https://hub.docker.com/,假如没有账号,需要先注册一个。

(2)利用命令docker login登录DockerHub,输入客户名、密码就可登录成功:

(3)将本地的镜像推送到DockerHub上,这里的xianhu要和登录时的username一致:

(4)以后别人即可以从你的仓库中下载合适的镜像了。

对应于镜像的两种创立方法,镜像的升级也有两种:

创立容器之后做更改,之后commit生成镜像,而后push到仓库中。

升级Dockerfile。在工作时一般建议这种方式,更简洁明了。

这里再一次回顾一下三个重要的概念:镜像、容器、仓库:

【从仓库(一般为DockerHub)下载(pull)一个镜像,Docker执行run方法得到一个容器,客户在容器里执行各种操作。Docker执行commit方法将一个容器转化为镜像。Docker利用login、push等命令将本地镜像推送(push)到仓库。其余机器或者服务器上即可以使用该镜像去生成容器,进而运行相应的应用程序了。】

利用Docker创立一个用于Flask开发的Python环境

上边已经解释和练习了Docker的基本操作命令,下边以实例的形式完整走一遍流程。

我们创立一个用于Flask开发的Python环境,包含Git、Python3、Flask以及其余依赖包等。

完整命令如下:

linux服务器开发,高级架构技术篇

欢迎一起交流分享。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Docker三个重要的基本操作,镜像,容量,仓库

发表回复