下载 .NET Core 3.1 SDK (v3.1.403) - Linux x64 Binaries
2、创建目录mkdir -p /usr/local/dotnet3、解压
tar zxf dotnet-sdk-3.1.403-linux-x64.tar.gz -C /usr/local/dotnet4、winSP进去编辑 /etc/profile 文件在最末尾加入以下内容:
#dotNet5 export DOTNET_ROOT=/usr/local/dotnet export PATH=$PATH:/usr/local/dotnet
5、保存后执行:source /etc/profile 使环境变量配置生效
6、执行dotnet -h 查看成功 7、离线安装docker...略,docker version 查看是否成功
https://www.runoob.com/docker/centos-docker-install.html
8、安装微软镜像包,文件拷贝到root文件夹下链接: https://pan.baidu.com/s/1MDq3BkK0g2h1V1PiUu59Xg 提取码: bwx8 然后执行: docker load < dotnet_core_aspnet.tar 他会得到一串ID docker images #查看ID 就是上面的ID docker tag [这里修改成:ID] mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim 例子: #docker images #bdca989bc8d3bd57f876b7f1265933f222a7752cd7bfe4fdf969ed22d219f95c #docker tag bdca989bc8d3bd57f876b7f1265933f222a7752cd7bfe4fdf969ed22d219f95c mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim9、NET Core打包,生成DockerFile文件,只到生成DockerFile即可【重要,打包的时候指定端口】
https://www.cnblogs.com/elsons/p/15343436.html
#环境运行时基础镜像 FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base #将当前目录内容.copy到镜像目录 COPY . /publish #设置工作目录 WORKDIR /publish #对外暴漏端口 EXPOSE 80 #EXPOSE 443 #使用北京时间 #RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localting && echo'Asia/Shanghai' >/etc/timezone #运行镜像入口命令和可执行文件名称 ENTRYPOINT ["dotnet", "Application.WebApi.dll"]
11、cd /root/publish,构造项目程序镜像,注意名字小写,且注意后面的.,都是固定格式
docker build -f Dockerfile -t webapi:1.0 .12、查看是否创建完成,里面会出现webapi
docker images13、暂时启动-黑窗口关闭就会丢,测试用【特别注意端口】
docker run -it -p 8082:80 749be68ef80614、启动
# 镜像发布为容器 # --name 指定容器名称 # -d 指定容器后台运行 # -p 主机(宿主)端口:容器端口(容器端口映射到主机(宿主)端口 ) # webappdocker镜像名 docker run --name webapi -d -p 8082:80 webapi:1.015、开机启动(没尝试过)
docker run --restart=always --name webapi -p 8082:80 -v /home/config/webapi/appsettings.json:/root/publish/appsetting.json -d webapi:1.0
以下是爬坑参考资料#失败后,先删再执行
#docker ps -a
#docker stop 8c03ff334716
#docker rm 1b47e4f0206e
Docker对外暴露端口
iptables -t nat -A DOCKER -p tcp -dport 8082 -j DNAT --to-destination 172.17.0.25:8082
https://blog.csdn.net/weixin_45063703/article/details/118790061
--------------------------------
查看端口:netstat -lntp
--------------------------------
查询 netstat -anp 所有开放端口信息
关闭
iptables -A OUTPUT -p tcp --dport 端口号-j DROP
打开
iptables -A INPUT -ptcp --dport 8099 -j ACCEPT
https://blog.csdn.net/weixin_42227661/article/details/118695109
https://www.lxlinux.net/2490.html
查看当前防火墙开放的端口
firewall-cmd --list-all
查看指定端口是否开放命令
firewall-cmd --query-port=80/tcp
移除指定开放端口命令
firewall-cmd --remove-port=80/tcp
最后重新启动firewalld
firewall-cmd --reload
https://blog.csdn.net/qq_45152095/article/details/121985186
--------------------------------
Docker命令
# 查看所有容器运行状态
docker ps -a
docker ps --all
# 查看docker状态
systemctl status docker
# 重启docker
systemctl restart docker
# 删除容器
docker rm [CONTAINER_ID]
# 停用全部运行中的容器
docker stop $(docker ps -q)
# 删除所有容器(要先停用才能删除)
docker rm $(docker ps -aq)
# 查看镜像
docker images
# 删除镜像
docker rmi [IMAGE_ID]
# 删除所有镜像
docker rmi $(docker images -aq)
# 查看容器日志
docker logs -f [CONTAINER_ID]
# 容器内访问
docker exec -t webapp_v1 curl -L localhost/home/index
# 进入容器
docker exec -it [CONTAINER_ID] bash
# 查看容器所有状态信息
docker inspect [CONTAINER_ID]
# 查看容器ip地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' [CONTAINER_ID]



