一、下载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"
fiif [ -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 可以看到容器