Docker部署微服务项目

​ Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可抑制的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器完全使用沙盒机制,相互之间不会存在任何接口。几乎没有性能开销,可以很容易的在机器和数据中心运行。最重要的是,他们不依赖于任何语言、框架或者包装系统。下面介绍一下我在工作当中使用Docker进行部署的详细过程。

一、安装Docker

由于我是要在一台实体服务器而不是云服务器上进行应用的安装,而且实体服务器的网络并不是那么地好,所以我采用的方式是从别的机器上下载好包,然后上传到这台机器上进行安装。下载地址为:[https://download.docker.com/linux/]。接下来按照以下步骤进行安装。

第一步:解压安装包

tar -zxvf docker-17.09.0-ce.tgz

第二步:将二进制文件复制到系统路径

sudo cp docker/* /usr/bin/

第三步:验证安装

docker --version
# 应该输出:Docker version 17.09.0-ce, build afdb6d4

第四步:启动 Docker 守护进程(临时)

sudo dockerd &
  • & 表示后台运行
  • 你会看到 Docker 启动日志

第五步:设置开机自启

sudo tee /etc/systemd/system/docker.service << 'EOF'
[Unit]
Description=Docker Application Container Engine
After=network.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
EOF

第六步:启用并启动服务

# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 设置开机自启
sudo systemctl enable docker

# 启动 Docker 服务
sudo systemctl start docker

# 查看状态
sudo systemctl status docker

第七步:验证运行

# 查看 Docker 信息
sudo docker info

# 运行测试容器
sudo docker run hello-world

二、安装Redis、数据库、rabbitmq等服务

把Docker安装好以后,接下来就是安装这些第三方服务了。接下来以安转 nacos为例介绍一下如何安装,其他的类似。

第一步:加载 Nacos 镜像

sudo docker load -i /home/airspaceplatformfiles/docker-images/nacos-2.2.1.tar

第二步:确认镜像已加载

sudo docker images | grep nacos

你应该看到类似的输出;

nacos/nacos-server   2.2.1      xxxxxxx   xxxxxxx   200MB

第三步:启动 Nacos 容器

sudo docker run -d \
  --name nacos \
  -p 8848:8848 \
  -e MODE=standalone \
  -v /home/airspaceplatformfiles/nacos/logs:/home/nacos/logs \
  nacos/nacos-server:2.2.1

参数说明

参数说明
-d后台运行容器
--name nacos给容器命名为 nacos
-p 8848:8848将宿主机的 8848 端口映射到容器的 8848 端口(Nacos 默认端口)
-e MODE=standalone使用单机模式启动(适合测试和开发)
-v ...:/home/nacos/logs挂载日志目录,确保日志保存在宿主机上,防止容器删除后日志丢失
nacos/nacos-server:2.2.1要运行的镜像名称

第四步:查看容器运行状态

sudo docker ps -a | grep nacos

第五步:查看日志(确认启动成功)

sudo docker logs -f nacos

等待几秒,如果看到类似:

Nacos started successfully in stand alone mode. use external storage

说明 Nacos 启动成功!

第六步:访问 Nacos Web 界面

http://<您的服务器IP>:8848/nacos

三、安装后台服务

后台服务先要写好yml配置文件,然后打成jar包,编写好Dockerfile文件,以下是一个dockerfile文件示例

# /home/deploy/approval/Dockerfile
FROM openjdk:8-jre-slim

WORKDIR /app

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone

COPY app.jar app.jar

EXPOSE 8888

ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=docker", "app.jar"]

运行jar包命令示例如下:

cd /home/deploy/buu && \
docker build -t buu:latest . && \
docker run -d --name buu --network nacos-net -p 18111:18111 -e TZ=Asia/Shanghai buu:latest

更多推荐