Docker 容器化部署实践--入门

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Docker 容器化部署实践--入门

前面的文章给大家分享了「Python web开发从入门到放弃」其中提到了开发部署的事宜。由于有很多同学咨询,为了让大家更好的理解,所以打算把容器化部署作为一个系列来阐述,今天给大家简单讲下Docker入门使用,欢迎大家进行持续关注。

Docker是基于Go语言实现的开源容器项目,从2013年诞生就引起了业界广泛的关注,它是一种新的容器技术对比传统的LXC(Linux Container)技术。


Docker理念是实现「Build,Ship and Run Any App Anywhere」,达到类似JAVA「一次封装,处处运行」的目的。通过Docker我们可以为应用的开发,测试,部署,进行一站式处理。


作为现在云计算最火的技术,Docker拥有非常多的优点:

  1. 简单容易上手
  2. 解决运维环境和服务调度问题
  3. 低CPU内存资源占用
  4. 云计算核心技术
  5. 社区活跃

下面我们简单介绍一下Docker的安装使用


Docker安装


Docker目前只能运行在64位平台上,我记得当初团队两年前团队服务器用不了Docker估计就是这个原因。

安装我们可以手动安装或者脚本进行安装,这里我们使用脚本进行安装。

Ubuntu Linux安装:


sudo curl -sSL https://get.docker.com | sh  # 官方安装
sudo curl -sSL https://get.daocloud.io/docker | sh # 安装速度快,二选一
sudo service docker start

Mac OS安装就直接下载Docker for Mac就好了,这里就不进行演示了。

https://docs.docker.com/v17.12/docker-for-mac/install/

为了避免Docker命令每次都用root身份,可以将当前用户加入到组里面。

sudo usermod -aG docker USER_NAME


Docker的基本概念

安装好了,我们也是时候讲下基本概念了:

Docker镜像(image): 类似一个只读模板,镜像是创造Docker 容器(container)基础。

Docker容器(container): 是一个沙箱环境,这个环境就是mini的Linux系统,我们主要利用容器来运行隔离不同应用。

Docker仓库(repository):这个类似我们版本的代码仓库,如Github或Bitbucket,集中存放镜像文件的地方。

一个仓库往往放了多个镜像文件,主要通过标签(tag)来进行区分。为了速度和安全性我们往往都建立自己的镜像私有仓库。

仓库,标签这些操作,熟悉Git的同学可以看到Docker与之非常相似,上手起来非常容易。


Docker 常用命令

讲完概念,我们说一下Docker的常见命令。

docker pull ubuntu:16.04 # 拉群镜像冒号后面是标签tag,不指定默认latest,强烈建议加上
docker images  # 列出本地已经有的镜像,注意image id很重要
docker tag ubuntu:16.04 myubuntu:product # 给镜像添加新标签,类似链接作用
docker inspect myubuntu:product # 获取镜像详细信息
docker rmi myubuntu:product # 这里删除可以用image id
docker run ubuntu:16.04 /bin/bash -c "while true; do echo 1; sleep 1; done" # 启动容器 容器ID(dd06064bf6c0)
docker stop dd06064bf6c0  # 停止容器 dd06064bf6c0为容器ID
docker exec -it 292586a3883f bash # 进入容器
docker rm 292586a3883f 删除容器
docker ps -a # 查看所有容器


这里我们说一下创建新镜像:

docker run -it ubuntu:16.04 bash # 1. 启动镜像
root@42e296cc9587:/# touch 123.txt 
docker commit -m "add 123.txt" 42e296cc9587 ubuntu:test123
sha256:99db484eac429a6413977903653396c226dcc9917346417e4153ea322dc6a5d0
docker push hub.yourdomain.com/ubuntu:test123 # 推送镜像到仓库


我们可以看下效果

image.png

图片

命令其实有很多,比如docker import/save/laod这里面我就不过多说了,更多命令我们可以使用docker -h操作,常用命令介绍我们就讲到这儿。

容器化部署实践,我打算从基础操作到实战应用以一个系列进行分享,今天是第一篇入门,后期我将持续分享更多相关内容,从容器化入门使用到部署实践编排技术,欢迎大家持续进行关注。


相关文章
|
15天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
3天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
23 6
|
3天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
13 5
|
3天前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
21 3
|
3天前
|
存储 安全 数据安全/隐私保护
Docker 容器化应用管理更加高效,但数据安全和业务连续性成为关键。
在数字化时代,Docker 容器化应用管理更加高效,但数据安全和业务连续性成为关键。本文探讨了 Docker 应用的备份与恢复策略,涵盖备份的重要性、内容、方法及常见工具,制定备份策略,恢复流程及注意事项,并通过案例分析和未来趋势展望,强调备份与恢复在保障应用安全中的重要性。
14 2
|
8天前
|
Kubernetes Linux 开发者
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
36 5
|
11天前
|
运维 Cloud Native 云计算
云原生之旅:Docker容器化实战
本文将带你走进云原生的世界,深入理解Docker技术如何改变应用部署与运维。我们将通过实际案例,展示如何利用Docker简化开发流程,提升应用的可移植性和伸缩性。文章不仅介绍基础概念,还提供操作指南和最佳实践,帮助你快速上手Docker,开启云原生的第一步。
|
9天前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
|
9天前
|
开发者 Docker Python
从零开始:使用Docker容器化你的Python Web应用
从零开始:使用Docker容器化你的Python Web应用
25 1
|
12天前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【10月更文挑战第43天】在云计算时代,云原生技术成为推动现代软件部署和运行的关键力量。本篇文章将带你了解云原生的基本概念,重点探讨Kubernetes和Docker如何协同工作以支持容器化应用的生命周期管理。通过实际代码示例,我们将展示如何在Kubernetes集群中部署和管理Docker容器,从而为初学者提供一条清晰的学习路径。

相关产品

  • 容器服务Kubernetes版