idea?+?Docker?+?阿里鏡像服務(wù)打包部署的過(guò)程
一、下載docker desktop軟件
官網(wǎng)下載docker desktop,需要結(jié)合wsl使用
啟動(dòng)成功的畫(huà)面(如果不是這個(gè)畫(huà)面例如一直處理start或者是stop需要重新啟動(dòng),不行就重啟電腦)
打包成功的鏡像在這里,如果頻繁打包會(huì)導(dǎo)致磁盤空間被占滿,需要定期刪除舊鏡像
二、阿里云創(chuàng)建鏡像
創(chuàng)建鏡像服務(wù)實(shí)例(個(gè)人版免費(fèi)但可維護(hù)性不保證)
設(shè)置的密碼用在idea的docker鏡像配置和ecs上進(jìn)行腳本配置
創(chuàng)建命名空間
在命名空間下創(chuàng)建鏡像倉(cāng)庫(kù)
步驟1
步驟2
結(jié)果
三、idea配置docker
配置本地docker地址(本地的話就是tcp://127.0.0.1:2375)
創(chuàng)建Dockerfile文件
Dockerfile說(shuō)明
idea創(chuàng)建docker鏡像推送腳本
步驟1.
步驟2
有兩種方法配置docker推送到阿里云鏡像
1.使用AccessKey
idea將阿里云創(chuàng)建好的accesskey輸入
配置腳本
2.使用阿里云鏡像的賬號(hào)密碼(賬號(hào)為登錄賬號(hào),密碼為設(shè)置的鏡像訪問(wèn)密碼)
配置腳本
四、ecs服務(wù)器上安裝docker和配置docker腳本
安裝教程
http://chabaoo.cn/server/320450vo7.htm
常用開(kāi)發(fā)docker命名
docker ps 看正在運(yùn)行中的鏡像
docker ps -a 看全部鏡像
docker stop 停止鏡像(一般是內(nèi)存過(guò)大就停止)
docker start 開(kāi)啟鏡像
docker restart 重啟鏡像
docker rm 刪除鏡像
查看單個(gè)鏡像日志 docker logs -f ad-admin
查看 啟動(dòng)鏡像至今的日志 docker logs -f -t --since="2023-01-01T00:00:00" ad-spider 查看 時(shí)間范圍至今的日志 注意事項(xiàng):若鏡像處于stop狀態(tài),無(wú)法重新部署sh文件,必須刪除rm;
//如何觀察當(dāng)前服務(wù)線程使用情況
1.docker exec -it ad-resolve bash 進(jìn)入到對(duì)應(yīng)的dokcer容器
2.top 查看占用cpu和內(nèi)存的情況 找到對(duì)應(yīng)的PID top -H -p 1 查看對(duì)應(yīng)的線程(可以看出占用內(nèi)存和cpu情況)
3.jstack 1 >> xxx.txt 打印對(duì)應(yīng)的線程到Docker 本地
4.docker cp ad-resolve:/xxx.txt / 將對(duì)應(yīng)的文件復(fù)制到本地進(jìn)行查看
執(zhí)行項(xiàng)目腳本
IMAGE_NAME=配置的鏡像倉(cāng)庫(kù)地址(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=阿里云登錄賬號(hào)(不加.onaliyun.com這段) --password=鏡像設(shè)置的密碼 鏡像地址(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
五、執(zhí)行腳本
當(dāng)前阿里云鏡像
linux執(zhí)行
執(zhí)行成功 docker ps 可以看到容器
到此這篇關(guān)于idea + Docker + 阿里鏡像服務(wù)打包部署的文章就介紹到這了,更多相關(guān)idea docker 阿里鏡像打包部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何通過(guò)vs2017的Dockerfile來(lái)生成鏡像
這篇文章主要為大家詳細(xì)介紹了如何通過(guò)vs2017的Dockerfile來(lái)生成鏡像,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07Docker Compose在不同環(huán)境的多種安裝方式
這篇文章主要介紹了Docker Compose在不同環(huán)境的多種安裝方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Docker Compose安裝部署PostgreSQL數(shù)據(jù)庫(kù)的實(shí)現(xiàn)步驟
本文主要介紹了使用DockerCompose在Linux服務(wù)器上部署PostgreSQL,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12Docker容器命令執(zhí)行狀態(tài)碼的檢查與分析
在 Docker 容器化技術(shù)日益普及的今天,容器的運(yùn)行狀態(tài)和健康檢查成為了運(yùn)維人員和開(kāi)發(fā)者關(guān)注的焦點(diǎn),了解如何在 Docker 容器中執(zhí)行命令并檢查其退出狀態(tài)碼,對(duì)于確保容器服務(wù)的穩(wěn)定性和可靠性至關(guān)重要,需要的朋友可以參考下2024-12-12使用Docker容器部署rocketmq單機(jī)的全過(guò)程
這篇文章主要介紹了使用Docker容器部署rocketmq單機(jī),詳細(xì)介紹了查詢鏡像拉取鏡像的命令,對(duì)Docker部署rocketmq相關(guān)知識(shí)感興趣的朋友一起看看吧2022-04-04