赞
踩
步骤 1.1:更新包索引并安装依赖包
先安装yum的扩展,yum-utils
提供了一些额外的工具,这些工具可以执行比基本yum
命令更复杂的任务
sudo yum install -y yum-utils
-
- sudo yum update -y #更新系统上已安装的所有软件包到最新版本
-
- #这条命令用于安装yum-utils、device-mapper-persistent-data和lvm2这三个软件包。
- sudo yum install -y yum-utils device-mapper-persistent-data lvm2
步骤 1.2:添加 Docker 官方仓库
用于添加Docker CE(Community Edition,社区版)的软件仓库到系统的yum
配置中。这意味着你可以通过yum
(或其前端如dnf
在CentOS 8及更高版本中)来安装、更新和管理Docker CE软件包。
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
使用yum-config-manager
:这是yum-utils
包中的一个工具,用于管理yum
的仓库配置。它允许你添加、禁用或启用仓库,而无需直接编辑仓库配置文件(通常位于/etc/yum.repos.d/
目录下)。
添加Docker CE仓库:通过指定--add-repo
选项和Docker CE的仓库URL(在这个例子中是https://download.docker.com/linux/centos/docker-ce.repo
)
仓库URL:https://download.docker.com/linux/centos/docker-ce.repo
是一个指向Docker CE仓库配置文件的URL。当你执行这个命令时,yum-config-manager
会从该URL下载仓库配置文件,并将其保存到你的/etc/yum.repos.d/
目录下。
步骤 1.3:安装 Docker CE
-
- sudo yum install -y docker-ce docker-ce-cli containerd.io
Docker CE提供了完整的容器化平台,包括Docker引擎、CLI(命令行界面)工具、容器运行时组件(如containerd.io)等,支持构建、发布和运行容器化应用。
手动下载 Docker 仓库文件并将其放入正确的位置:
-
- sudo curl -L https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
步骤 1.4:启动 Docker 并设置开机自启动
-
- sudo systemctl start docker
- sudo systemctl enable docker
步骤 1.5:验证 Docker 安装
sudo docker -v
步骤 2.1:发布.net core3.1项目(windows)
在解决方案、找到项目目录
选择发布到文件夹
点击打开文件夹 ,默认发布到项目文件的bin 下面的Release\netcoreapp3.1\publish中是编译后的项目文件
步骤 3.1:创建项目目录并进入目录
- mkdir dotnetapp
-
- cd dotnetapp
将编译后的项目放到linux目录中
步骤 3.2:创建 Dockerfile
在包含 netcoreapp3.1
文件夹的目录下创建或更新 Dockerfile:
使用 cat
命令创建 Dockerfile
并添加以下内容:
- cd /www/wwwroot/donetapp/NewsWebsite
- sudo bash -c 'cat > Dockerfile <<EOF
- # 使用官方的 ASP.NET Core 运行时作为基础镜像
- FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
- WORKDIR /app
- EXPOSE 80
- # 将发布的文件复制到基础镜像中
- COPY netcoreapp3.1/ .
- ENTRYPOINT ["dotnet", "NewsWebsite.dll"]
- EOF'
模版:
- # 使用官方的 ASP.NET Core 运行时作为基础镜像
- FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
- WORKDIR /app
- EXPOSE 80
-
- # 将发布的文件复制到基础镜像中
- COPY . .
- ENTRYPOINT ["dotnet", "YourAppName.dll"]
项目路径:
DLL 文件名称:
YourAppName.dll
修改为您的 .NET Core 应用程序的实际 DLL 文件名。步骤 4.1:创建项目目录并进入目录
cd /root/dotnetapp/NewsWebsite
sudo docker build -t newswebsiteapp .
newswebsiteapp是项目名,这个自定义
sudo docker run -d -p 8080:80 newswebsiteapp
这条命令的作用是以分离模式(在后台)启动一个名为newswebsiteapp
的容器实例,将容器内的80端口映射到宿服务器主机的8080端口上,以便可以通过宿主机的8080端口访问容器内的Web服务。 (记得开启8080端口)
你可以使用以下命令来管理 Docker 容器:
查看运行的容器:
sudo docker ps
停止一个容器:
sudo docker stop <container_id>
删除一个容器:
sudo docker rm <container_id>
在 CentOS 7 中打开防火墙上的端口 5000 以允许外部访问,可以使用 firewalld
工具。以下是详细步骤:
firewalld
状态首先,检查 firewalld
是否正在运行:
sudo systemctl status firewalld
如果 firewalld
没有运行,可以启动它:
sudo systemctl start firewalld
使用以下命令在 firewalld
中开放端口 5000:
sudo firewall-cmd --zone=public --add-port=5000/tcp --permanent
解释:
--zone=public
:指定要修改的区域(通常是 public
区域)。--add-port=5000/tcp
:添加 TCP 端口 5000。--permanent
:永久添加规则。firewalld
应用更改并重新加载 firewalld
配置:
sudo firewall-cmd --reload
使用以下命令验证端口是否成功开放:
sudo firewall-cmd --zone=public --list-ports
确保输出中包含 5000/tcp
。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。