.NET Core 打包镜像,并部署镜像,更新镜像需要用的命令
执行环境为powershell终端,#号后为备注内容,{}括起内容为变量,视具体内容而定
打包
# 进入项目根目录
cd {D:/Project/testproject}
#build镜像,testproject为镜像名称,pro为镜像tag
docker build -t {testproject}:{pro} -f ./testproject/Dockerfile
#查看打包好的镜像,testproject为上一步骤的镜像名称,找到指定tag的记录,复制ImageId
docker images {testproject}
#登录到远程仓库,已登录过可以不用重复执行
docker login -u {repo}
#a7f62992b4ef 为上一步骤中指定tag的ImageId,将本地镜像名和标签重命名为远程镜像
docker tag {a7f62992b4ef} {{repo}}/xx-aliyun/{testproject:v1.0}
#推送上一步重命名后的镜像到远程仓库
docker push {{repo}}/xx-aliyun/{testproject:v1.0}
部署(更新镜像直接删除容器,所以要做挂载卷持久化)
#查找镜像id
docker ps | grep "testproject"| awk '{print $1}'
# 根据上一步镜像id停止运行
docker stop a7f62992b4ef
# 删除现有镜像 简化:docker rm $(docker ps -a| grep "site-testproject" | awk '{print $1}')
docker rm a7f62992b4ef
# 登录远程私有镜像仓库(阿里云为例)
docker login --username=xx - xx
# 远程仓库拉取更新的tag
docker pull {image-name}:{ tag-name}
# 创建挂载卷
docker volume create website-log
docker run --name site-testproject -p 8081:80--mount source = website - log, target =/ var / lib / websitelog / shortvideoapi - d {image-name}:{ tag - name}
端口启动
1、开启防火墙
systemctl start firewalld
2、开放指定端口
firewall-cmd --zone=public --add - port = 5433 / tcp--permanent
命令含义:
--zone #作用域
--add-port=5433/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
3、重启防火墙
firewall-cmd --reload
4、查看端口号
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 5433 //查看所有5433 端口使用情况·