idea配合docker实现快速部署项目

目录

Docker安装(ubuntu)

1,脚本安装docker快速安装

2,验证是否安装成功

3,下载镜像

4,寻找镜像,复制

5,运行docker实例

6,Docker可视化操作(我自己没有实现这个可视化的界面)可省略

Docker安装(centos)

1、安装与启动

2、常见镜像命令

3、容器相关

4、数据卷

5、直接挂载

6、docker-compose

Idea配合使用docker实现快速部署

1,首先前往插件市场添加docker的插件

2,添加docker的运行配置

3,选择SSH链接

4,连接虚拟机

5,绑定端口号,容器的名称自己随便

6,DockerFile文件配置

7,运行Docker部署到云服务器上


Docker安装(ubuntu)

这个docker的安装采取的脚本的安装方式,我在测试中没有更改过docker的源的情况

1,脚本安装docker快速安装

此示例下载脚本https://get.docker.com/open_in_new并运行它以安装 Linux 上 Docker 的最新稳定版本:

curl -fsSL https://get.docker.com -o get-docker.sh

sudo sh get-docker.sh

2,验证是否安装成功

3,下载镜像

Docker Hub Container Image Library | App Containerization

4,寻找镜像,复制

拉取镜像成功

sudo docker pull hello-world(从Docker Hub下载并拉取一个名为hello-world的镜像

sudo docker images(查看docker的镜像)

5,运行docker实例

sudo docker run hello-world

6,Docker可视化操作(我自己没有实现这个可视化的界面)可省略

www.portainer.io

下载

安装部署

首先,创建 Portainer Server 将用于存储其数据库的卷:

sudo docker volume create portainer_data

然后,下载并安装 Portainer 服务器容器:

docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

最后访问这个可视化面板

Docker安装(centos)

1、安装与启动

1)卸载docker

sudo yum remove docker \                                                      

                   docker-client \                                         

                   docker-client-latest \                                

                   docker-common \                            

                   docker-latest \                     

                   docker-latest-logrotate \          

                   docker-logrotate \                  

                   docker-engine   

2)设置镜像

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  

3)安装docker

yum install -y docker-ce docker-ce-cli containerd.io  

4)启动

systemctl start docker  

5)检测

docker version  

6)关闭防火墙

systemctl stop firewalld.service 关闭防火墙

systemctl disable firewalld.service 禁止防火墙开启自启

systemctl status firewalld 查看防火墙状态

7)更改docker镜像为阿里

sudo mkdir -p /etc/docker  

sudo tee /etc/docker/daemon.json <<-'EOF'  

{  

  "registry-mirrors": ["https://uy35zvn6.mirror.aliyuncs.com"]  

}  

EOF  

8)重启docker

sudo systemctl daemon-reload  

sudo systemctl restart docker  

2、常见镜像命令

  1. 镜像的拉取

语法docker pull 软件(版本)

可以拉取docker中的软件镜像,没有指定版本默认为最新的

docker pull nginx 

也可以去docker hub找到软件版本的运行语句粘过来执行

2)镜像的查看

语法docker images

3)镜像保存为压缩包

语法: docker save 压缩包名.tar   软件:版本号

4)删除镜像

语法:docker rmi 软件:版本号

5)加载镜像文件

语法:docker load -i 压缩包名.tar

3、容器相关

1)创建并运行一个容器

语法docker run –-name 容器名 -p 宿主机端口:容器端口映射 -d 镜像名

:docker run –name nginx1 -p 80:80 -d nginx 可以创建一个Nginx容器

写完以后就创建了一个容器,并且映射到了宿主机的80端口上,访问80端口就可以看到Nginx部署成功了

2)查看容器

语法docker ps

3)启动容器

语法docker start 容器名

4)停止容器

语法docker stop 容器名

5)进入容器

语法docker exec -it 容器名 bash

比如说进入Nginx容器 

4、数据卷

概述:可以在宿主机中创建一个虚拟的目录,在这个虚拟的目录下可以直接对docker容器进行操作

1)创建数据卷

语法docker volume [COMMAND]

COMMAND包括以下几个选项:

create 创建一个volume

inspect 显示volume信息

ls 列出所有的volume

rm 删除volume

如:创建一个名为volume1的volume并查看

2)挂载一个数据卷

我们在创建容器时,可以通过-v参数来挂载一个数据卷到某个容器的某个目录

语法:docker run –-name  【容器名】 -v 【数据卷名】:【要挂载的容器路径】 -p 【宿主机端口】:【容器端口映射】 -d 【镜像名】

:创建一个名为Nginx2的容器并将他的/usr/share/nginx/html目录映射到nginxHtml数据卷上

docker run --name nginx2 -v nginxHtml:/usr/share/nginx/html -p  8080:80 -d nginx

5、直接挂载

概述:其实还可以将宿主机目录直接挂载到容器目录

语法:-v【宿主机目录】:【容器内目录】

    -v 【宿主机文件】:【宿主机文件】

6、docker-compose

1)安装docker-compose

curl -SL https://get.daocloud.io/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose  

赋予权限

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

2)安装base自动补全

echo "185.199.111.133 raw.githubusercontent.com" >> /etc/hosts  

curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose  

Idea配合使用docker实现快速部署

1,首先前往插件市场添加docker的插件

2,添加docker的运行配置

3,选择SSH链接

4,连接虚拟机

5,绑定端口号,容器的名称自己随便

然后我们需要在项目的根目录下新建一个docker文件,在docker文件夹里新建一个DockerFile文件

6,DockerFile文件配置

相关配置语句:

#1.定义父镜像(定义当前工程依赖的环境)
FROM openjdk:17
#2.定义作者信息(可以省略不写):
MAINTAINER  ideaDocker
#3.将jar包添加到容器(将jar包存入镜像中):
ADD there-0.0.1-SNAPSHOT.jar hello-idea-docker.jar
#4.指定这个容器对外暴露的端口号
EXPOSE 8081
#5.定义容器启动执行的命令: 当通过此镜像启动容器的时候,执行的命令
ENTRYPOINT ["java","-jar","hello-idea-docker.jar"]

  1. 是我们使用的java版本
  2. there-0.0.1-SNAPSHOT.jar是我自己打包之后的jar包名称,hello-idea-docker.jar是我新命名的名称跟5要对应
  3. 这个there.jar需要我们将项目打包之后放在docker的目录下

7,运行Docker部署到云服务器上

这个sha的文件是我们之前运行docker的there.Jar的文件,被覆盖之后会被随机命名可以删除

此时这个jar已经跑在了我们的云服务器上,这个时候我们来测试一下

这个需要我们同步的去将数据库上传到云服务器上,更改数据库的链接地址

测试成功!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The end !

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值