idea + Docker + 阿里镜像服务打包部署

一、下载docker desktop软件

官网下载docker desktop,需要结合wsl使用

启动成功的画面(如果不是这个画面例如一直处理start或者是stop需要重新启动,不行就重启电脑)

打包成功的镜像在这里,如果频繁打包会导致磁盘空间被占满,需要定期删除旧镜像

二、阿里云创建镜像

创建镜像服务实例(个人版免费但可维护性不保证)

设置的密码用在idea的docker镜像配置和ecs上进行脚本配置

创建命名空间

在命名空间下创建镜像仓库

步骤1

步骤2

结果

三、idea配置docker

配置本地docker地址(本地的话就是tcp://127.0.0.1:2375)

创建Dockerfile文件

Dockerfile说明

idea创建docker镜像推送脚本

步骤1.

步骤2

.

有两种方法配置docker推送到阿里云镜像

1.使用AccessKey

idea将阿里云创建好的accesskey输入

配置脚本

2.使用阿里云镜像的账号密码(账号为登录账号,密码为设置的镜像访问密码)

配置脚本

四、ecs服务器上安装docker和配置docker脚本

安装教程

https://blog.csdn.net/romanticRose/article/details/101351679

常用开发docker命名

docker ps 看正在运行中的镜像

docker ps -a 看全部镜像

docker stop 停止镜像(一般是内存过大就停止)

docker start 开启镜像

docker restart 重启镜像

docker rm 删除镜像

查看单个镜像日志 docker logs -f ad-admin

查看 启动镜像至今的日志 docker logs -f -t --since="2023-01-01T00:00:00" ad-spider 查看 时间范围至今的日志 注意事项:若镜像处于stop状态,无法重新部署sh文件,必须删除rm;

//如何观察当前服务线程使用情况

1.docker exec -it ad-resolve bash 进入到对应的dokcer容器

2.top 查看占用cpu和内存的情况 找到对应的PID top -H -p 1 查看对应的线程(可以看出占用内存和cpu情况)

3.jstack 1 >> xxx.txt 打印对应的线程到Docker 本地

4.docker cp ad-resolve:/xxx.txt / 将对应的文件复制到本地进行查看

执行项目脚本

IMAGE_NAME=配置的镜像仓库地址(rregistry-vpc.cn-shenzhen.xx.aliyuncs.com/xxx/sz-admin)

CONTAINER_NAME=容器名称

#容器id

CID=(docker ps \| grep "CONTAINER_NAME" | awk '{print $1}')

#镜像id

IID=(docker images \| grep "IMAGE_NAME" | awk '{print $3}')

#删除容器和镜像

delete(){

if -n "$CID" ; then

echo "exist CONTAINER_NAME container,CID=CID,delete docker container ..."

docker stop $CONTAINER_NAME

docker rm $CONTAINER_NAME

echo "$CONTAINER_NAME container delete success"

fi

if -n "$IID" ; then

echo "exist IMAGE_NAME image,IID=IID, ,delete docker image ..."

docker rmi -f $IID

echo "$IMAGE_NAME image delete success"

fi

}

run(){

delete

docker login --username=阿里云登录账号(不加.onaliyun.com这段) --password=镜像设置的密码 镜像地址(registry-vpc.cn-shenzhen.xx.aliyuncs.com)

docker pull $IMAGE_NAME

docker run --cap-add=SYS_PTRACE --name CONTAINER_NAME -p 端口:端口 -e JAVA_OPTS='-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms2048m -Xmx2048m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC' -v /opt/dnwx/log/ad-admin:/opt/dnwx/log/ad-admin -v /etc/localtime:/etc/localtime:ro -d IMAGE_NAME

}

#入口

run

四、执行脚本

当前阿里云镜像

linux执行

执行成功 docker ps 可以看到容器

相关推荐
m0_646429978 小时前
Docker 完整核心知识点总结(超通俗易懂版)
运维·docker·容器
吴声子夜歌10 小时前
Docker入门与实战——实战案例(Web服务与应用)
docker·容器
Wang's Blog11 小时前
Java 项目部署之 Docker工具快速入门: Docker 架构拆解:镜像、容器、守护进程与 Registry
java·docker·架构
java_logo11 小时前
Docker 部署 OpenViking:轻松搭建 AI Agent 上下文数据库平台
数据库·人工智能·docker·agent·火山引擎·openviking·轩辕镜像
a59865211 小时前
Docker云手机搭建挂机环境,外网远程访问完整实操
docker·容器·智能手机·云手机
夜之眷属11 小时前
服务启动即崩:InetAddress.getLocalHost() 抛 UnknownHostException 排查记
java·运维·后端·docker
郭老二13 小时前
【docker】使用阿里云的容器镜像服务(ACR)构建自己的容器仓库
阿里云·docker·容器
Wang's Blog16 小时前
Java 项目部署之 Docker工具快速入门: Docker 是什么以及它如何解决部署环境问题
java·开发语言·docker
AIGC大时代17 小时前
LLM Agent 执行沙箱闸门:失败含义与当天最小实验
docker·沙箱·闸门·bubblewrap·llm agent
灯澜忆梦18 小时前
【docker】#2 | 基础命令
docker·容器·eureka