Docker和Docker Compose 使用

前言:
因为参加腾讯mini项目(看了两周的源码了=.=),项目中有遇到要使用docker和docker compose在服务器上运行代码,所以就开始展开深入的学习,学习怎么使用和调试环境。

先上官网:https://www.runoob.com/docker/docker-tutorial.html

Docker 教程

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。

Docker的应用场景

Web 应用的自动化打包和发布。

自动化测试和持续集成、发布。

在服务型环境中部署和调整数据库或其他的后台应用。

从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

Docker 的优点

Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

1、快速,一致地交付您的应用程序
Docker 允许开发人员使用您提供的应用程序或服务的本地容器在标准化环境中工作,从而简化了开发的生命周期。

容器非常适合持续集成和持续交付(CI / CD)工作流程,请考虑以下示例方案:

您的开发人员在本地编写代码,并使用 Docker 容器与同事共享他们的工作。
他们使用 Docker 将其应用程序推送到测试环境中,并执行自动或手动测试。
当开发人员发现错误时,他们可以在开发环境中对其进行修复,然后将其重新部署到测试环境中,以进行测试和验证。

测试完成后,将修补程序推送给生产环境,就像将更新的镜像推送到生产环境一样简单。
2、响应式部署和扩展

Docker 是基于容器的平台,允许高度可移植的工作负载。Docker 容器可以在开发人员的本机上,数据中心的物理或虚拟机上,云服务上或混合环境中运行。

Docker 的可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展或拆除应用程序和服务。

3、在同一硬件上运行更多工作负载
Docker 轻巧快速。它为基于虚拟机管理程序的虚拟机提供了可行、经济、高效的替代方案,因此您可以利用更多的计算能力来实现业务目标。Docker 非常适合于高密度环境以及中小型部署,而您可以用更少的资源做更多的事情。

安装

window下的安装:

https://www.runoob.com/docker/windows-docker-install.html

一些常用的命令语句

1、查看docker镜像

docker images

2、查看docker容器

docker ps

3、启动docker

docker start 容器名称

或者 docker start 容器id

4、停止docker

docker stop 容器名称(这里可以接ID)

5、进入docker容器

进入方式有多种,本人对docker也是一知半解,没有真正的了解过docker的命令方式,docker启动时候是需要指定命令路径的,大概是这样

docker attach docker名称

但是我发现如果是docker-compose命令实例化的容器,这种方式不行,需要使用以下方式

docker exec -it mysql_mysql_1 /bin/bash

mysql_mysql_1 是docker容器名称

这样就可以进入compose方式的容器里了,进去后就可以像操作linux一样操作了,但其实docker是精简化的虚拟机,大部分例如vim命令就不提供。

6、退出容器到宿主机

退出容器不能用exit命令,或者ctrl+c,会杀死容器的,正确的方法是

使用Ctrl+p组合键就可以了

7.docker kill命令总结

Docker kill命令概述
docker kill 命令可以用来杀掉一个或者多个正在运行的 Docker容器。该命令后面的 CONTAINER 可以是容器Id,或者是容器名。

首先,使用 docker run 命令,创建并运行一个 docker 容器。

docker run

使用 docker ps 命令,查看当前正在运行的容器

docker ps

现在我们使用 docker kill 命令,杀掉刚运行的 docker 容器。(可以是容器的名字)

haicoder(www.haicoder.net)# docker kill 59f80afcdd52
59f80afcdd52

再次使用 docker ps 命令,查看当前正在运行的容器

docker ps

此时,我们发现,已经没有正在运行的 Docker 容器了,即容器被杀死了。即,在以上案例中,我们使用 docker kill containerId 命令,杀掉一个正在运行的 docker 容器。

最后,我们使用 docker rm 命令,删除所有 docker 容器。

haicoder(www.haicoder.net)# docker rm $(docker ps -aq)
59f80afcdd52

Docker Compose的简单使用

Compose 简介
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

Compose 使用的三个步骤:

  • 使用 Dockerfile 定义应用程序的环境。
  • 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。
  • 最后,执行 docker-compose up 命令来启动并运行整个应用程序。

使用 Compose 命令构建和运行您的应用

在测试目录中,执行以下命令来启动应用程序:

docker-compose up

如果你想在后台执行该服务可以加上 -d 参数:

docker-compose up -d

这周docker的使用心得就先到这啦,有空再进一步分享。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值