您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

CentOS 7.6下 docker 从安装到简易部署演示SpringBoot项目

目标服务器安装docker并配置

#安装
yum install docker

#检验安装是否成功
[root@localhost opt]# docker --version
Docker version 1.13.1, build 7f2769b/1.13.1

#启动
systemctl start docker

#换镜像源
sudo vim /etc/docker/daemon.json
内容如下:
{
 "registry-mirrors": ["https://m9r2r2uj.mirror.aliyuncs.com"]
}
保存退出,重启docker

#重启
systemctl restart docker

#设置docker service 开机启动
systemctl enable docker

本地准备SpringBoot项目jar包与Dockerfile配置文件

项目jar包:
这里创建了一个简单的Springboot项目,Maven 打包成jar包。在这里插入图片描述
Dockerfile文件:

FROM openjdk:8-jre-alpine
RUN echo "Asia/shanghai" > /etc/timezone;
COPY learn_2-0.0.1-SNAPSHOT.jar test_1.jar
CMD ["java","-Xms256m","-Xmx512m","-Xss1024K","-jar","/test_1.jar"]

将项目jar包与Dockerfile文件上传至目标服务器

  1. 在目标服务器创建项目打包文件夹,如:
mkdir dockertest
  1. 将jar包与Dockerfile文件移动至本文件夹。
  2. 执行docker开始构建库:docker build -t dockertest

-t [库名]

  1. 执行docker命令:docker images 查看镜像库。
  2. 将镜像库打包成容器开始运行。
docker run -d -p 80:54188 --name hello_docker dockertest

docker run -d -p [服务器映射端口]:[容器端口] --name [容器名] [被打包的镜像库名]

引自:https://www.runoob.com/docker/docker-run-command.html
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-P: 随机端口映射,容器内部端口随机映射到主机的端口

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

–name=“nginx-lb”: 为容器指定一个名称;

–dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

–dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h “mars”: 指定容器的hostname;

-e username=“ritchie”: 设置环境变量;

–env-file=[]: 从指定文件读入环境变量;

–cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

–net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

–link=[]: 添加链接到另一个容器;

–expose=[]: 开放一个端口或一组端口;

–volume , -v: 绑定一个卷

  1. 列出当前Docker中的容器:docker ps
  2. 查看容器控制台信息:docker logs -f [容器名]
  3. 运行成功。

可能出现的问题

1. 容器开启成功却没有办法从外部访问问题。
查看容器控制台打印信息为运行成功,但却无法从外部访问到,则极有可能是目标服务器的该端口没有打开。

CentOS6与CentOS7的解决方案:https://www.linuxidc.com/Linux/2016-12/138979.htm

2. 如果是使用虚拟机测试的小伙伴,在构建docker镜像库的时候可能会出现网络拉取超时的错误,则可能是虚拟机DNS设置错误的问题。

解决方案:在百度搜一个免费的DNS设置即可。引申链接:https://blog.csdn.net/weixin_43670802/article/details/104885920

参考B站大佬:https://www.bilibili.com/video/BV1v741137aZ?from=search&seid=2455662815014319307


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进