阿里云部署docker& docker部署springboot项目

docker简介及常用命令

---- 

docker是linux容器的一种解决方案,相比于原来使用的vm虚拟机,有很多优势,比如启动时秒级,虚拟机为分钟级;硬盘使用MB,vm为GB;而且性能更接近原生;在系统支持量上面,单机支持上千个容器,而vm只有几十个。

容器包含:
          镜像  容器  仓库
对应: 类    实例  (面向对象)
多用于ci/cd  持续集成、持续交付  ,自动化打包部署,自动化测试。 节省资源做更多的事情。
命令
docker run -i -t  // i交互式操作;t终端
docker ps -a  // 查看所有容器
docker start [容器id] // 
docker stop 容器id
docker restart 容器id
        
----------- 运行web应用
docker pull traing/webapp  // 载入镜像
docker run -d -p traing/webapp  phthon app.py  
-d  后台运行  -p主机端口映射
docker logs -f  [容器id]  
     logs -f  =》  tails -200f  ....
docker ps 后,可以根据names属性 进行停职 开始 移除web应用 , 对应 stop start rm [webapp names]
----------镜像使用 
docker images 

----------docker compose
yaml 文件配置  docker-compose.yml 
编写Dockerfile文件 
执行: docker-compose up 启动运行整个应用。
docker-compose up -d // 后台运行
 

阿里云Es安装docker

yum安装:

$   yum install docker

开机自动启动

$ service docker start

查看

$ docker version

查看发现报错:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

使用下面方法: 

$ systemctl daemon-reload
$ sudo service docker restart
$ sudo service docker status (should see active (running))

阿里云部署docker& docker部署springboot项目_第1张图片

再查看version,成功安装

 

阿里云部署docker& docker部署springboot项目_第2张图片

部署springboot项目

springboot项目打包 jar包 

https://blog.csdn.net/lileLife/article/details/103890550

新建目录  

$ mkdir dcapp

上传打包后的webapp.jar  包

编写Dockerfile文件

$ touch Dockerfile

vim Dockerfile 

# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER lile 
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp 
# 将jar包添加到容器中并更名为app.jar
ADD webapp.jar app.jar 
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

也就是 Dockerfile 和 webapp是在一个目录,该dockerfile是用于将webapp 打成镜像的

阿里云部署docker& docker部署springboot项目_第3张图片

制作镜像:

$ docker build -t dcwebapp .

# -t 后面指定该镜像名为 dcwebapp     命令后面有个 .   !!!

查看镜像

$docker images

阿里云部署docker& docker部署springboot项目_第4张图片

已经制作成功。

启动容器

先kill掉 前面使用shell运行的 webapp.jar 包,防止端口冲突

$ docker run -d -p 8001:8001 dcwebapp 

# -d  后台运行  -p端口映射,服务器的8001端口映射到容器的8001端口。

下面的长串就是 运行后的容器id  

查看运行容器 :

$ docker ps 

至此简单的部署完成 。

日志查看

使用上面docker ps后的 container id .

docker logs -f -t [container id] 

关闭:

docker stop [conatiler id]

你可能感兴趣的:(ci/cd,后台,docker)