×

docker容器常用命令

分类:互联网热点 编辑:新网小青年 浏览量:77
2020-07-20 13:33:06
点击上方“python 爬 虫实战之路”,关注公众号满满干货,极速送达

最近打算突破一下docker的知识,买了一门课程,这里同步做一下笔记

获取镜像

查询镜像

删除镜像

导入导出镜像

启动容器

进入容器

查询容器

删除容器

容器网络

容器其他操作

容器持久化存储

数据卷容器

基于容器制作镜像

优点:制作方便,只要进入容器,安装好环境,就可以制作一个新的镜像,并部署到其他环境。

缺点:容器内新增的服务必须在启动后,再进入容器启动一次服务,但是可以通过启动时执行指定命令来解决这个问题

基于Dockerfile制作镜像

以上命令就是切换到/opt目录,创建一个code子目录,安装vim和wget

使用镜像启动容器时默认的运行命令,如果在docker run的时候,在后面带上自定义命令,那么这个命令就会被替换掉,导致容器启动的时候不会执行,所以一般我们不用这个

和上面的CMD命令相似,但是不会被启动容器时的自定义命令替换掉,一定会执行;还有一个用法是在docker run后面的自定义命令可以作为ENT RYPOINT的命令参数传入

主机拷贝文件到容器中

和copy命令类似,拷贝文件到镜像中,但是对于压缩文件(含有tar的)拷贝过去会直接解压

指定容器要对外暴露的端口

在dockerfile中声明了VOLUME绑定目录并不会在容器启动的时候帮我们自动绑定目录,那么VOLUME和-v有什么区别呢?假设我们在dockerfile中声明了

那么我们使用不同的命令启动时

所以如果一个镜像制作的时候使用了VOLUME,那么每次启动都会在宿主机上创建一个数据目录,如果这个目录里存在的东西很多,那么时间长了,我们就会发现宿主机上空间越来越小,即使你重启容器也不行。所以要了解这个性质,针对性的清理docker目录。

相当于cd命令,区别是在dockerfile中使用了WORKDIR后,在它下面的语句,工作目录都变成了WORKDIR指定的目录

在dockerfile中设置环境变量,主要为了在执行docker run的时候可以通过-e参数修改环境变量,这样也可以使镜像更加通用。例如MySQL安装时要指定用户名、密码、绑定IP,如果直接在容器里面安装,那么我们如果要修改的话,必须登录到容器中,进行修改重启。但是在dockerfile中指定了ENV变量,那么在docker run的时候就可以修改这些设置。

下面给一个简单的dockerfile例子

在当前目录下创建dockerfile文件,并使用docker build命令制作镜像

搭建私有镜像库

在很多企业中,都不能肆意的访问外网,那这样是不是docker就没法愉快的使用了呢?我们通常下载镜像都是从docker hub官方仓库下载的,如果在企业内部搭建一个私有镜像库,那是不是就能像外网一样使用docker了呢,docker官方为我们提供了非常简单的搭建私有库的方式:

好了,通过以上命令我们的私有镜像库就搭建好了,是不是很简单呢?那么怎么使用呢?

vim /etc/docker/daemon.json

{

"insecure-registries": ["xx.xx.xx.xx:5000"]

}

systemctl restart docker

修改镜像名称,添加私有镜像库地址为前缀,然后push到镜像库


声明:免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发

送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。本站原创内容未经允许不得转载,或转载时

需注明出处:新网idc知识百科

免费咨询获取折扣

Loading