一、下載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 可以看到容器