Docker容器技术 详解!!!

目录

一、概述

(一)docker介绍

(二)为什么使用Docker

(三)docker优势

1、运行环境的一致性:

2、更快速地启动部署:

3、更好的隔离性:

4、弹性伸缩、快速扩展:

5、迁移更加方便:

6、持续交付和部署:

二、docker的组成

(一)镜像:类似虚拟机镜像 , 是一个特殊的文件系统

(二)容器:类似linux系统环境,运行和隔离应用。是镜像运行时的实体

(三)仓库:集中存放镜像文件的地方。

三、在操作系统CentOS7.9安装

 (一)配置安装源

 (二)建立元数据缓存

 (三)安装docker-ce

 (四)更换国内源仓库

四、docker 信息查看

(一)docker version

 (二)docker info

 五、镜像相关

(一)组成

 (二)搜索

 (三)拉取

1、docker pull imageName    ​编辑 2、docker pull alpine   

 (四)查看

 (五)删除

(六)上传

(七)修改POSITORY:TAG(修改后保留原image,且imageID相同)

 (八)导出

(九)导入

五、容器相关

(一)启动

1、一次性运行(会直接进入容器中,当exit退出容器时,容器停止运行)

2、后台运行(不会直接进入容器,若进入后exit退出,容器依然运行)

(二)查看

(三)进入(CONTAINER ID 写到不重复即可)

(四)推出

(五)删除容器

(六)将容器导出为归档包

 (七)将容器导入的归档包导入为镜像

(八)将容器直接导出为镜像(服务容器导出为镜像采用该方法)

(九)状态

1、created

2、 up

3、Exited

4、paused

(十)查看容器详细信息

(十一)端口映射

1、-P(大写)                 随机端口映射,默认32768

2、-p(小写)  hostPort:containerPort

 3、若发现不能正常进行访问

(十二)查看容器端口映射

(十三)向容器内拷贝文件

(十四)查看容器运行进程

(十五)查看容器资源使用

(十六)查看容器日志


一、概述

(一)docker介绍

1、Docker 就像是一个轻量级的虚拟机,Docker是一个轻量级的容器,我们可以将环境交给 Docker 来管理,当我们需要移植我们的产品的时候,就可以将环境整个的迁移到另一台主机上,而不像虚拟机一样,迁移一台虚拟机及其资源;

2、Docker 是一个开源的应用容器引擎,基于 Go 语言开发。

3、Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

4、Docker相较于虚拟机来说具有更加轻量,启动更快,效率更高,可移植性更强等优势,实现了“一次封装,到处运行”,不用在关心环境的不一致问题

(二)为什么使用Docker

我们知道一款产品从开发到上线,从开发环境到生成环境。作为开发和运维人员之间协作需要考虑很多问题,尤其是当我们的产品多版本迭代之后,不同环境之间的兼容就会成为一个大问题;
这时 Docker 的出现就解决了这一难题,Docker 的出现使我们开发的软件可以“带环境安装”,即安装的时候,可以把原始环境一模一样的的复制过来,不用在担心环境不一致导致“开发时可以正常运行,生成环境就会出问题”,“在我的机器上可以正常运行,在别人的机器上就不能运行”的问题了

(三)docker优势

1、运行环境的一致性:

Docker 的镜像提供了除了内核之外完整的运行环境,确保了应用运行的一致性;

2、更快速地启动部署:

可以做到秒级,甚至毫秒级的的启动时间。大大节约了开发、测试、部署的时间;

3、更好的隔离性:

每个服务器都是独立运行的、完全隔离的。避免公用的服务器,资源会容易受到其他用户的影响;

4、弹性伸缩、快速扩展:

能够更好的处理集中爆发式的服务器使用压力;

5、迁移更加方便:

“带环境安装”;

6、持续交付和部署:

使用 Docker 可以通过定制镜像来实现持续集成,交付,部署;

二、docker的组成

(一)镜像:类似虚拟机镜像 , 是一个特殊的文件系统

1、操作系统分为内核和用户空间。对于Linux而言,内核启动后,会挂载root文件系统为其提供用户空间支持。而Docker镜像(Image),就相当于是一个root文件系统。

2、Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。 镜像不包含任何动态数据,其内容在构建之后也不会被改变。

(二)容器:类似linux系统环境,运行和隔离应用。是镜像运行时的实体

镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等 。

(三)仓库:集中存放镜像文件的地方。

镜像构建完成后,可以很容易的在当前宿主上运行,但是, 如果需要在其它服务器上使用这个镜像,我们就需要一个集中存储、分发镜像的地方,比如后面我们要学的,Docker Registry就是这样的服务。

三、在操作系统CentOS7.9安装

注意:不要关闭防火墙

 (一)配置安装源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 

 (二)建立元数据缓存

yum  makecache [fast]

 (三)安装docker-ce

 yum install -y docker-ce

 (四)更换国内源仓库

vim /etc/docker/daemon.json

{
    "registry-mirrors":[ "https://nyakyfun.mirror.aliyuncs.com" ]
}

 systemctl restart docker

四、docker 信息查看

(一)docker version

 (二)docker info

 

 五、镜像相关

(一)组成

index/name:tag          #tag为latest时不用书写

 (二)搜索

docker search keyWord

 (三)拉取

1、docker pull imageName
    
 2、docker pull alpine   

 (四)查看

docker images

 

 (五)删除

docker rmi imageName

(六)上传

docker push imageName

docker hub登录        docker login

(七)修改POSITORY:TAG(修改后保留原image,且imageID相同)

docker tag  oldName(POSITORY:TAG) newName(POSITORY:TAG)

 (八)导出

docker save  oldName(POSITORY:TAG)    -o filePath/fileName

(九)导入

docker load -i  filePath/fileName

五、容器相关

(一)启动

1、一次性运行(会直接进入容器中,当exit退出容器时,容器停止运行)

docker run -it POSITORY:TAG /bin/bash

2、后台运行(不会直接进入容器,若进入后exit退出,容器依然运行)

docker run -itd  POSITORY:TAG /bin/bash

(二)查看

docker ps -a

(三)进入(CONTAINER ID 写到不重复即可)

 docker exec -it  CONTAINER ID /bin/bash

(四)推出

exit

(五)删除容器

docker rm -f   容器名称或者ID

(六)将容器导出为归档包

docker export  容器名称  -o 归档包名称

 (七)将容器导入的归档包导入为镜像

docker import 归档包名称  repository:tag

(八)将容器直接导出为镜像(服务容器导出为镜像采用该方法)

docker commit  容器名称或ID repository:tag

(九)状态

1、created

docker create

2、 up

(1)docker start

(2)docker run

(3)docker restart

3、Exited

docker stop         容器运行异常

4、paused

docker pause

docker  unpause                恢复

(十)查看容器详细信息

docker  inspect  容器名称或者ID

(十一)端口映射

1、-P(大写)                 随机端口映射,默认32768

2、-p(小写)  hostPort:containerPort

 3、若发现不能正常进行访问

可能是运行的shell不正确

(1)查看容器详细信息        

(2)docker ps -a --no-trunc

(3)查看COMMAND                

(4)将COMMAND中的运行脚本跟在docker run命令的最后

(十二)查看容器端口映射

docker  port  容器名称或ID

(十三)向容器内拷贝文件

docker cp  文件名  容器名称或ID

(十四)查看容器运行进程

docker top  容器名称或ID

(十五)查看容器资源使用

docker stats   容器名称或ID

(十六)查看容器日志

docker logs   容器名称或ID

1、--details:显示更为详细的日志信息。

2、--follow(-f):跟踪日志输出。

3、--since:显示自某个开始时间的所有日志。

4、--tail:仅列出最新的N条容器日志。

5、--timestamps(-t):显示时间戳。

6、--until:显示到某个截止时间的所有日志。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker容器是在Docker主机上运行的独立的执行环境。Docker容器通过使用镜像来创建,镜像可以在Docker Hub等网站上搜索和获取。 为了创建一个Docker容器,你可以使用命令"docker commit",这个命令的格式为"docker commit [OPTIONS] 容器名称(容器ID) [REPOSITORY[:TAG]]"。该命令可以将容器的状态保存为一个新的镜像,这样你就可以在其他地方使用这个镜像来创建新的容器。 总结来说,Docker容器是在Docker主机上运行的独立执行环境,可以通过镜像来创建。你可以使用命令"docker commit"来保存容器状态并生成新的镜像。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Docker容器详解](https://blog.csdn.net/weixin_53794227/article/details/123594098)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Docker常用命令(启动、镜像相关、容器相关、文件拷贝、目录挂载、查看容器IP地址、Docker备份与恢复)](https://blog.csdn.net/hu1010037197/article/details/109723059)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值