前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker 容器化部署技术

Docker 容器化部署技术

作者头像
用户8949263
发布2022-04-08 12:55:54
1.7K0
发布2022-04-08 12:55:54
举报

大家好,我是Brook!

本文主要介绍Docker容器技术概述、Docker的安装及相关常见操作命令。

Docker容器技术概述

Docker重新定义了程序开发测试、交付和部署的过程。

随着云计算技术的深入发展,使用虚拟服务器代替传统的物理服务器越来越常见。

服务器虚拟化的思想是在性能强劲的服务器上运行多个虚拟机,每个虚拟机运行独立的操作系统与相应的软件。通过虚拟机管理器可以隐藏真实机器的物理配置。其中虚拟机中运行的操作系统称为客户操作系统(Guest OS),服务器运行的操作系统称为主机操作系统(Host OS)。

物理服务器运行着主机操作系统,虚拟机管理器进行硬件虚拟化,向虚拟机提供CPU、内存、网络、显卡等虚拟设备,虚拟机运行着客户操作系统和应用程序。

有一种技术不进行硬件虚拟化,就能让虚拟机直接使用物理服务器的CPU、内存、网络等,即容器技术。在一台物理服务器上安装Linux操作系统,通过容器技术创建多个虚拟服务器,这些虚拟服务器和物理服务器共用Linux内核。

Docker容器技术共享服务器Linux操作系统内核和文件系统,性能得到极大提高,并不像虚拟机那样模拟 一个完整的操作系统,却提供虚拟机一样的效果。

虚拟机是操作系统级别的隔离,容器是进程级别的隔离。

Docker是开源的应用容器引擎,开发者可以将应用及其依赖的软件一起打包到容器中,实现一次部署到处运行的效果。当应用切换服务器时,再次部署相当于复制一个文件的操作,节约大量的安装部署时间。

Docker容器技术优势

1、启动快、解决虚拟机资源消耗问题

启动容器相当于启动本机一个进程,启动速度快。一台电脑运行一个Linux虚拟机可能会卡顿,却可以使用Docker虚拟几十甚至上百台虚拟Linux服务器,容器仅占用用到的资源,多个容器可共享资源。

2、体积小、快速部署

开发的应用在自己电脑上运行,换一台机器可能无法运行,需要环境配置。

使用Docker可以将应用程序及依赖包打包在一个文件里,运行这个文件就会启动虚拟服务器。

3、提供一次性环境

启动或关闭一个虚拟服务器就像启动或关闭一个进程一样简单、快速。

4、组建微服务架构

通过多个容器,一台机器可以跑很多虚拟服务器,一台机器上可以虚拟出微服务架构,也可以模拟出分布式架构。

Docker的安装部署与使用

下载网址:https://docs.docker.com/

一、Windows下安装Docker

双击 Docker Desktop Installer.exe 运行安装程序,在 Windows 上安装 Docker 桌面应用。

1)首先确保windows开启虚拟化功能

勾选确定后,重启电脑生效,在任务管理器中即可查看虚拟化功能是否开启

2)出现提示时,确保在“配置”页面上选择“启用 Hyper-V Windows 功能”或“为 WSL 2 安装所需的 Windows 组件”选项。

按照安装向导上的说明授权安装程序并继续安装。

安装成功后,单击关闭完成安装过程,最后Docker成功启动如下图所示。

注:

安装重启后,docker会启动失败,不用慌,直接根据提示点击链接下载更新wsl版本并安装即可解决。

3)配置镜像加速

后续进一步介绍服务器中Linux(Ubuntu)系统下Docker安装与使用。

二、Docker的命令使用方法

参考:https://docs.docker.com/go/guides/

操作工具:利用Win10自带的powershell命令终端以管理员身份打开,执行Docker操作命令。

查看Docker命令的帮助信息,查看常见命令

1、查看Docker命令的帮助信息

docker --help #docker全部命令帮助信息docker command --help #docker具体命令commad的帮助信息

2、查看docker信息和版本docker info #容器的池、已用数据大小、总数据的大小、基本容器大小、当前运行容器数量等。docker version #查看docker版本

3、镜像操作

1)搜索镜像,查看网上已经做好的容器镜像

docker search python

我们也可以制作包含自己应用或服务的镜像文件,此文件共享给他人,即可直接使用Docker打开容器

2)网络中拉取下载镜像

docker image pull <repository>:<tag>

或docker pull <repository>:<tag>

下载仓库Python镜像

3)导入下载好的容器镜像文件docker load < image_xxx.tar

4)查看当前已有镜像docker images

注:以上为拉取的Python镜像 REPOSITORY:镜像远程仓库源 TAG:镜像标签 IMAGE ID :镜像ID CREATED :镜像创建时间 SIZE :镜像大小

5)删除镜像(通过镜像名称或id来指定删除)

docker rmi <镜像ID或名称>

6)删除所有的镜像

docker rmi $(docker images -q)

4、创建并运行容器

docker run <容器名称>

docker run -dit --name="容器名称" 镜像ID或名称 /bin/sh

#创建一个名为python~的容器。

5、查看容器docker ps -a #查看所有容器docker ps -l #列出最近一次启动的容器

注:创建不同容器ID是不一样的,但利用的镜像文件ID是创建时引用决定的

6、进入容器

docker exec -it <容器名>/bin/bash

docker exec -it <容器ID> bash

注:可知这里的容器是带Python环境的Linux系统

7、复制容器里文件、目录到本地服务器

1)从容器里面拷文件到宿主机:docker cp CONTAINER: SRC_PATH DEST_PATH

docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径

2)从宿主机拷文件到容器里面:docker cp SRC_PATH CONTAINER: DEST_PATH

docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径

注:不管容器有没有启动,拷贝命令都会生效

8、停止、启动、重启、退出容器

docker stop <容器ID>

docker start <容器ID>

docker restart <容器ID>

exit或ctrl+d #退出容器

9、删除容器(删除前先停止该容器运行)

docker stop <容器ID>

docker rm <容器ID> #删除单个容器

docker rm/kill $(docker ps -a -q) #停止所有容器

10、容器的备份和恢复

docker commit -p<容器ID>备份命名 #备份,导出到本地

docker save 备份名> 导出本地容器路径全名

docker load -i 本地容器路径 #恢复容器

下一篇Docker 容器化部署 Python 应用,敬请期待!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python数据分析实例 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档