如何快速使用Docker部署我们的微服务

开发 前端
Docker是一个开源的应用容器引擎,它让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

我们都知道这个 Docker 在部署我们的微服务上,起到了至关重要的作用,但是,很多时候,都是我们直接开发微服务,而不直接的接触 Docker,今天了不起就来说一下这个 Docker 如何快速的安装以及部署。

Docker

Docker是一个开源的应用容器引擎,它让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker是由PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,其源代码托管在Github上。它主要用于构建和打包应用及依赖包,以方便其在不同环境中无缝地运行。使用Docker,开发者可以将应用及其环境一同打包到一个可移植的容器中,然后发布到任何流行的操作系统上。这大大简化了应用的部署和管理,提高了开发效率和应用的可移植性。

请注意,Docker并不只是一个应用容器引擎,而是一个完整的平台,它包含了众多的工具和组件,如Docker Client、Docker Daemon、Docker Image和Docker Container等,这些组件帮助实现了Docker的强大功能。

Docker目前已经被广泛使用于云计算、DevOps、软件开发等领域,它大大提高了应用开发和部署的效率,已经成为现代应用部署和管理的标准之一。

所以了不起才说,Docker 是至关重要的一个工具,可以不精通,但是至少得是会用,了解的才可以。

Docker 安装

1.安装前置条件

yum install -y yum-utils device-mapper-persistent-data lvm2

2.添加源

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

3.查看Docker 更新版本

yum list docker-ce --showduplicates | sort -r

4.安装Docker 最新版本

yum -y install docker-ce
安装指定版本:
yum -y install docker-ce-18.09.8

5.开启 Docker 服务

systemctl start docker
systemctl status docker

6.设置阿里云镜像加速器

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["自己的阿里云镜像加速地址"]
}
EOF
systemctl daemon-reload
systemctl restart docker

7.设置docker开启启动服务

systemctl enable docker

这里着重说一下这个 阿里云镜像加速器这块,有很多小伙伴不知道这个是什么,我相信大部分的开发都有注册过阿里云,而这个就需要去阿里云里面去寻找了,方式了不起也给大家科普一下:

图片图片

登陆自己的账号,搜索镜像加速器,找到获取镜像加速器地址,

图片图片

点进去就能找到了,虽然很简单,但是很必要呦。

我们通过Docker 命令,则可以知道我们是否安装成功

docker -version

图片图片

接下来,我们就得来看看如何快速在 Docker 上部署自己的微服务了。

Docker 部署微服务

部署微服务肯定是需要有一些前置条件的,比如,使用 Docker 来安装 Mysql,安装 Redis,这些, 这些内容都是小意思,了不起就不做赘述了。

我们主要来讲这个如何部署自己的微服务。

我们来给自己的微服务中增加一个 Dockerfile 文件,用来编写脚本内容。我们先来看示例再说这个文件。

FROM openjdk:8
VOLUME /tmp
ADD chuyikeji.jar test.jar
RUN bash -c 'touch /test.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/test.jar"]

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

Dockerfile文件中的指令开头:

图片图片

我们编写的这块内容,如果翻译起来,其实就很好理解了,我们先指定了基础的镜像,使用 JDK8,然后告诉Docker,我们创建一个 /tmp 的基础卷,然后把这个 jar包 改为 test.jar,最后我们运行这个jar。

当我们吧这个文件编写完成的时候,我们同时还需要准备好我们的 jar,也就是通过 maven 打成的 jar包。

这个时候,我们直接在 Linux 服务器下,创建一个文件夹,然后把我们的 Dockerfile 和 jar 包都上传到这个文件下,接下来,我们就去执行这个 Docker 命令,把我们的 jar 包打成镜像,去让他运行起来。

docker build -t test . 或者 docker build -t xxx .

(xxx) 为Dockerfile中的指定的名称

查看docker 镜像

docker image

启动项目

docker run -p 18081:18081 xxx(test)

至于是否启动成功,那么就得通过命令来看一下日志了。

再使用关键字docker logs <容器id>打印出该容器产生的日志

关于如何使用 Docker 部署自己的微服务,你学会了么?

责任编辑:武晓燕 来源: Java极客技术
相关推荐

2015-09-28 11:16:50

SoundCloud微服务

2023-09-08 08:14:14

2017-05-23 15:53:52

docker服务容器

2018-05-04 15:27:22

Spring Boo Web开发

2017-05-25 10:32:41

Docker微服务容器

2021-09-08 11:25:45

KubernetesAPISIXLinux

2023-04-10 07:23:24

软件微服务网络

2022-03-29 08:30:15

微服务架构单体架构

2022-07-29 15:19:27

Dockersudo权限

2022-06-27 07:33:19

微服务Loki

2019-07-01 09:33:58

DockerNginx操作系统

2023-10-12 21:15:08

微服务Docker

2022-08-16 08:19:04

Sentinel微服务

2016-10-13 15:03:27

混合云多云环境微服务

2017-03-22 10:06:40

ubuntuceph集群

2024-01-10 14:24:32

Docker容器Kafka

2022-10-10 08:00:00

微服务Spring Boo容器

2015-06-16 16:29:43

Docker云计算七牛

2021-07-26 08:10:24

微服务单体架构

2024-10-28 15:40:26

点赞
收藏

51CTO技术栈公众号