Doker的基本使用与Docker部署SpringBoot项目(详细版)

Docker

docker的基本使用
  1. 启动docker

    systemctl start docker
    
  2. 查看版本

    docker version
    
  3. 搜索镜像

    docker search centos
    
  4. 配置镜像加速器

    #我这里使用的是阿里云的镜像加速器,在镜像工具,直接复制所有命令,在服务器运行,这样下载速度直接起飞
    https://cr.console.aliyun.com
    
  5. 拉取镜像

    docker pull 镜像名:版本号
    
  6. 查看镜像

    docker images
    
  7. 删除镜像

    docker rmi 镜像名:TAG名
    
  8. 查看正在运行容器

    docker ps
    
  9. 列出所有容器

    docker ps -a
    
  10. 启动镜像命令(重点

    docker run [可选参数] 镜像名:TAG名  #启动容器(无镜像会先下载镜像)
    #参数说明
    --name = Name   #容器名字
    -c   #后面跟待完成的命令
    -d   #以后台方式运行并且返回ID,启动守护进程式容器
    -i   #使用交互方式运行容器,通常与t同时使用
    -t   #为容器重新分配一个伪输入终端。也即启动交互式容器
    -p   #指定容器端口    -p 容器端口:服务器(虚拟机)端口  #映射端口
    -P   #随机指定端口
    -v   #给容器挂载存储卷
    
  11. 创建镜像

    #使用cd命令进入一个空文件夹,将jar包和Dockerfile放在里面
    #可以使用xftp进行文件传输
    #执行 docker build . t 镜像名:TAG名 
    docker build .t 镜像名:TAG名 
    
  12. 停止容器

    docker  stop  容器名 #或者容器ID
    docker kill 容器名 #或者容器ID
    
  13. 删除容器

    #删除前必须停止容器
    docker rm 容器名 #或者容器ID
    
  14. 启动与重启

    docker start 容器名 #或者容器ID
    docker restart 容器名 #或者容器ID
    
  15. 进入容器

    docker exec -it 容器名 /bin/bash 
    
SpringBoot项目部署
  1. 安装Java:8镜像

    #拉取java:8
    docker pull java:8
    #启动容器
    docker run -itd --name java  java
    
  2. 安装Mysql:8

    #拉取mysql:8
    docker pull mysql:8
    #启动容器,并设置初始密码123456
    docker run -itd --name mysql-8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0
    

    使用Navicat(或者其他数据库软件)链接服务器容器的mysql

    使用Navicat导航条的工具栏下的数据传输,将本地数据库的数据传输到服务器的数据库里(需要先建库)

  3. 安装Nginx

    #拉取nginx
    docker pull nginx
    #启动容器
    docker run --name nginx -p 80:80 nginx
    #配置反向代理,就可以直接通过公网ip(域名)访问,不用在记端口号了
    
    #首先在本机创建nginx的一些文件存储目录
    mkdir -p /root/nginx/www /root/nginx/logs /root/nginx/conf
    
    #查看nginx容器id
    docker ps
    
    #将nginx容器配置文件copy到本地
    docker cp nginx容器id :/etc/nginx/nginx.conf /root/nginx/conf
    
    #创建新nginx容器nginx-web,并将www,logs,conf目录映射到本地
    docker run -d -p 80:80 --name nginx-web 
    -v /root/nginx/www:/usr/share/nginx/html
    -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
    -v /root/nginx/logs:/var/log/nginx nginx
    
    #进入到/root/conf/nginx.conf 添加如下即可
        server{
           listen 80;
           charset utf-8;
           server_name 公网ip(域名);
     
           location / {
              proxy_pass http://公网ip(域名):8080;
              proxy_redirect default;
           }
        }
    
  4. jar打包成镜像

    #打jar包前,要修改运行的配置文件,修改数据库链接信息,ip改为公网ip,库选择服务器的mysql的库,账号密码一样要修改
    #将jar包和Dockerfile放在同一目录下
    
    #Dockerfile文件信息
    /**
    # Docker image for springboot file run
    # VERSION 0.0.1
    # 作者
    # Author: sun
    # 基础镜像使用java
    FROM openjdk:8
    # VOLUME 指定了临时文件目录为/tmp。
    # 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
    VOLUME /tmp 
    # 将jar包添加到容器中并更名为xx.jar
    ADD Blog-0.0.1-SNAPSHOT.jar  blog.jar 
    # 运行jar包
    RUN bash -c 'touch /blog.jar'
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/blog.jar"]
    */
    #镜像打包
    docker build . -t blog:v1.0
    # 运行镜像,端口映射注意改成自己项目的端口号
    docker run --name blog --restart=always -d -p 7777:7777 blog:v1.0
    # 查看容器运行情况
    docker ps
    #查看日志是否出错
    docker logs -f blog
    #如果出现错误请按提示解决
    
本博客总结了其他大佬的经验融合而成,经博主亲自测试,部署成功,如有问题,先百度,未解决,可私信,或者评论区留言。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值