Loading...
墨滴

流逸穿风

2021/05/28  阅读:49  主题:橙心

docker1

docker文档地址

  • docker官网:https://www.docker.com/
  • 文档:https://docs.docker.com/
  • 仓库:https://hub.docker.com/

docker概述

解决问题

一款产品: 开发–上线 两套环境!应用环境,应用配置! 开发 — 运维。 问题:我在我的电脑上可以允许!版本更新,导致服务不可用!对于运维来说考验十分 大? 环境配置是十分的麻烦,每一个机器都要部署环境(集群Redis、ES、Hadoop…) !费事费力。 发布一个项目( jar + (Redis MySQL JDK tomcat) ),项目能不能带上环境安装打包! 服务器配置一个应用的环境 jar + (Redis MySQL JDK tomcat)配置超麻烦了,不能够跨平台。 开发环境Windows,最后发布到Linux! docker流程: java-jar(环境) — 打包项目帯上环境(镜像) — ( Docker仓库:商店)----- Docker给以上的问题,提出了解决方案!

虚拟机

虚拟机:在window中装一个VMware,通过这个软件我们可以虚拟出来一台或者多台电脑!笨重! 虚拟机也属于虚拟化技术,Docker容器技术,也是一种虚拟化技术! vm : linux centos 原生镜像(一个电脑!) 隔离、需要开启多个虚拟机! 几个G 几分钟 docker: 隔离,镜像(最核心的环境 4m + jdk + mysql)十分的小巧,运行镜像就可以了!小巧! 几个M 秒级启动!

Docker基本组成

镜像(image):

docker镜像就好比是一个目标,可以通过这个目标来创建容器服务,tomcat镜像==>run==>容器(提 供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。

容器(container):

Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的. 启动,停止,删除,基本命令 目前就可以把这个容器理解为就是一个简易的 Linux系统。

仓库(repository):

仓库就是存放镜像的地方! 仓库分为公有仓库和私有仓库。(很类似git) Docker Hub是国外的。 阿里云…都有容器服务器(配置镜像加速!)

dcoker基本命令

docker version
docker images
docker search XX
docker pull XX
docker rmi XX

docker run 
docker run -d centos
docker ps 
docker rm 
docker rm -f $(docker ps -aq)
docker start
docker restart
docker stop
docker exec -it 55321bcae33d /bin/bash

docker cp 容器id:容器内路径 主机目的路径
docker commit -a="liuyi" -m="add webapps app" 容器id tomcat-hx:1.0
docker run -it -v /home/ceshi:/home centos /bin/bash

docker 容器卷技术

什么是容器卷

将应用和环境打包成一个镜像! 数据?如果数据都在容器中,那么我们容器删除,数据就会丢失!需求:数据可以持久化 MySQL,容器删除了,删库跑路!需求:MySQL数据可以存储在本地! 容器之间可以有一个数据共享的技术!Docker容器中产生的数据,同步到本地! 这就是卷技术!目录的挂载,将我们容器内的目录,挂载到Linux上面!

docker安装软件

nginx

docker run -d --name nginx00 -p 8899:80 nginx

tomcat

docker run -d -p 8080:8080 --name tomcat01 tomcat

Dockerfile

docker部署springboot项目

编写Dockerfile文件

# 基础镜像
FROM openjdk:8-jdk-alpine
# 作者信息
MAINTAINER "liuyi liui@hxsmart.com"
# 添加一个存储空间
VOLUME /tmp
# 暴露8080端口
EXPOSE 8080
# 往容器中添加jar包
ADD demo-docker.jar app.jar
# 启动镜像自动运行程序
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/urandom","-jar","/app.jar"]

构建镜像

docker build -t demo-docker .

运行容器

docker run -d -p 8809:8080 demo-docker

访问地址

http://116.63.76.113:8809/demo/

docker-compose

文件示例

version: '3.7'
services:
  docker-compose1:
    build: .
    restart: always 
    ports:
        - "8809:8080"
  docker-compose2:
    build: .
    restart: always 
    ports:
        - "8808:8080"

安装

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

加速镜像
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

授权

sudo chmod +x /usr/local/bin/docker-compose

安装nginx

docker run -p 80:80 -p 443:443 --name nginx01 \
-v /home/docker/nginx/html:/usr/share/nginx/html \
-v /home/docker/nginx/logs:/var/log/nginx \
-v /home/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/docker/nginx/conf/cert:/etc/nginx/cert \
-d nginx

流逸穿风

2021/05/28  阅读:49  主题:橙心

作者介绍

流逸穿风