[Docker精进篇] Docker部署和实践 (二)

前言:

Docker部署是通过使用Docker容器技术,将应用程序及其所有相关依赖项打包为一个可移植、自包含的镜像,然后在任何支持Docker的环境中快速部署和运行应用程序的过程。

[Docker精进篇] Docker部署和实践 (二)_第1张图片

文章目录

  • Docker部署
    • 1️⃣为什么需要?
    • 2️⃣有什么作用?
    • 3️⃣docker部署(以mysql和redis为例)
      • 部署mysql和映射
      • 部署redis和映射
    • 4️⃣总结

这篇文章是我的笔记,旨在带您快速入门上手docker,更加深入学习docker知识

Docker部署

做事三件套:是什么,为什么,怎么办 我们一步一步来看,哈哈

Docker部署是指利用Docker容器技术将应用程序及其依赖项打包成一个可移植、自包含的镜像,并在不同的环境中进行快速部署和运行的过程。

[Docker精进篇] Docker部署和实践 (二)_第2张图片

1️⃣为什么需要?

  1. 环境一致性:传统部署中,应用程序在不同环境中可能遇到依赖不一致、配置不一致等问题。而使用Docker部署,可以将所有依赖项打包到镜像中,保证了应用程序在不同环境中的一致性。

  2. 快速部署和扩展:Docker容器可以在几秒钟内快速部署和启动,使得应用程序的部署过程变得更加简单和高效。此外,可以根据负载需求,快速地进行水平扩展,以提供更好的性能和可伸缩性。

  3. 资源利用率:Docker容器利用了宿主机的资源管理功能,可以更高效地利用系统资源。容器可以在隔离的环境中运行,并共享宿主机的资源,最大限度地提高资源利用率。

  4. 隔离性和安全性:Docker容器提供了隔离的运行环境,使得应用程序与宿主机和其他容器相互隔离。这种隔离性增强了应用程序的安全性,不同容器之间相互独立,互不干扰。

  5. 快速开发和部署:通过使用Docker容器,可以在本地开发环境中构建和测试应用程序,并且可以使用相同的容器镜像将应用程序轻松部署到其他环境,既可以加快开发迭代周期,又减少开发与运维之间的协调与沟通成本。

2️⃣有什么作用?

看完了为什么需要使用docker,再来简单了解一下在docker部署能带来的优点吧。
反正就是docker要用起来,哈哈哈
Docker部署的作用:

  1. 简化交付流程:Docker部署可以将应用程序及其依赖项打包成一个可移植的镜像,简化了应用程序的交付和部署过程。

  2. 提高可移植性:Docker容器可以在不同的平台和环境中运行,提供了高度的可移植性。这意味着可以将应用程序轻松地部署到各种云平台、物理机或虚拟机中。

  3. 提供一致的运行环境:通过Docker部署,可以确保应用程序在不同环境中以相同的方式运行,减少了因环境差异引起的问题。

  4. 提高开发和运维效率:Docker提供了一种标准化的部署方式,简化了开发与运维团队之间的协作。开发人员可以在容器中构建和测试应用程序,而运维人员可以使用相同的容器镜像进行部署和维护,从而提高了开发和运维效率。

3️⃣docker部署(以mysql和redis为例)

其实docker部署非常简单,你只要花费极少的时间去真正学会使用,你会发现是真的方便呀。
docker部署分为win和linux上的,我这里linux上的,道理都差不多,哈哈

部署mysql和映射

[Docker精进篇] Docker部署和实践 (二)_第3张图片

  1. 拉取镜像
docker pull mysql:5.7(可以替换为你需要的版本)
  1. 创建镜像容器
docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v /mnt/docker/mysql/conf:/etc/mysql/conf.d \
-v /mnt/docker/mysql/logs:/logs \
-v /mnt/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
mysql:5.7

大家看着这一串别害怕,我来详细讲解一下:

这段代码是根据mysql:5.7 版本镜像进行容器构建,容器名字是mysql,同时设置了容器的root用户密码是root,以及挂在了三个数据卷。同时设置虚拟机3307端口和容器3306端口映射,即本地连接虚拟机3307接口即可完成mysql配置,你构建之后还会发现并没有进去容器内部,因为-d 是开启守护容器进行,默认开启不进入

其中的 -v 后端跟的参数是 设置数据卷,

docker run -di -v /宿主机目录:/容器目录 

设置数据卷,进行数据的双向绑定,如果虚拟机数据丢失本地还有,同时修改本机数据,虚拟机那边的数据也会改变

  1. 进入容器
docker exec -it mysql(这个是你的容器名,上面是mysql)
  1. 开启mysql
    进入容器后,输入命令开启mysql
service start mysql  如果你的容器没开启mysql服务,需要开一下
mysql -uroot -p 
密码是root

即可完虚拟机中的配置。

  1. 本地映射端口号
    [Docker精进篇] Docker部署和实践 (二)_第4张图片

部署redis和映射

上面我们配置完了mysql,接下来部署redis

[Docker精进篇] Docker部署和实践 (二)_第5张图片

  1. 拉取镜像
ocker pull redis(可以替换为你需要的版本)
  1. 创建镜像容器
docker run -di --name redis -p 6379:6379 redis

这段代码是根据最新版redis 进行容器构建,容器名字是redis,同时端口映射,虚拟机6379:容器6379,你构建之后还会发现并没有进去容器内部,因为-d 是开启守护容器进行,默认开启不进入

  1. 进入容器
docker exec -it redis(这个是你的容器名,上面是mysql)
  1. 开启redis
    进入容器后,输入命令开启redis
redis-server

即可完虚拟机中的配置。

  1. 本地映射端口号

[Docker精进篇] Docker部署和实践 (二)_第6张图片

4️⃣总结

[Docker精进篇] Docker部署和实践 (二)_第7张图片

Docker部署提供了一种可靠、高效、一致和可移植的方式来打包、部署和运行应用程序。它简化了应用程序的交付和部署流程,提高了部署的可靠性、可移植性和可维护性,同时提升了开发与运维团队的效率。

如果您在学习过程中有什么疑问或者不懂的地方,可以随时私信我,看到会及时回复!!

你可能感兴趣的:(Docker精进,docker,容器,云原生,网络,运维)