在Centos7上配置docker运行DotNetCore项目
在centos7上配置docker运行DotNetCore项目
1.在vmware上安装centos操作系统(略过)
2.将centos的网络设置为桥接模式,固定IP
(桥接模式就是你的虚拟机就像是一台和你在同一局域网的主机一样,有自己独立的局域网ip和本机可以互相ping通)
2.1 首先将虚拟机关闭
2.2 选择需要桥接的网卡(必须是可以上网的网卡)
2.3 经过上述设置vm上的设置完成了,接下来是配置centos的网络
首先查询本机的ip,子网掩码,网关,dns服务器信息,然后再centos上
sudo vi /etc/sysconfig/network-script/ifcfg-ens33
修改该配置文件,添加并修改(第一项和最后一项是修改)
BOOTPROTO=static IPADDR=192.198.3.110 NETMASK=255.255.255.0 GATEWAY=192.168.3.1 ONBOOT=yes
修改完后,设置DNS服务器
sudo vi /etc/resolv.conf
添加
nameserver 192.168.3.1
修改完成后,重启服务即可
sudo systemctl restart network
网络配置完毕,如果你本机可以上网的话,可以在centos上ping一个外网地址,如果能够ping通,即配置成功。
3.在vs上创建一个简单的asp .net core项目
在项目路径下添加 Dockerfile 编写如下代码:
# 添加基础镜像 FROM microsoft/dotnet:2.1-aspnetcore-runtime # 容器中系统的工作空间 WORKDIR /app # 拷贝当前文件夹下的文件到容器中系统的工作空间 COPY . /app# 设置Docker容器对外暴露的端口 EXPOSE 80 # 容器中使用 ["dotnet","系统启动的dll"] 来运行应用程序 # 使用ENTRYPOINT ["dotnet","系统启动的dll"] # 或使用 CMD ["dotnet","系统启动的dll"] ENTRYPOINT ["dotnet", "DockerTest.dll"]
并设置属性使发布时复制到发布文件夹
Dockerfile是在生成镜像时运行的命令文件,提供生成镜像需要的库和操作命令
最后将项目在确认没有错误的情况下,发布到固定路径下
4. 在centos上面安装docker
使用如下命令(因为yum命令是联网下载安装包,因此centos必须在前面将网络配置OK)
yum install -y docker
5. 在centos上安装ftp并配置firewall(防火墙)和selinux
5.1 安装ftp
前者是ftp协议服务,后者是ftp服务器软件(也可以选用其他软件)
yum install -y ftp yum install -y vsftpd
5.2 配置(vim打开/etc/vsftpd/vsftpd.conf)
修改下面两个配置项目
# 禁用匿名用户 12 YES 改为NO
anonymous_enable=NO# 禁止切换根目录 101 行 删除#
chroot_local_user=YES
5.3 添加ftp用户
#创建一个用户 ftpuser useradd ftpuser #为用户 ftpuser 设置密码 echo "jingjing" | passwd ftpuser --stdin
5.4 限制用户 ftpuser
只能通过 FTP 访问服务器,而不能直接登录服务器:
usermod -s /sbin/nologin ftpuser
5.5 为用户分配主目录
#添加一个欢迎文件 echo "Welcome to use FTP service." > /data/ftp/welcome.txt#设置访问权限 chmod a-w /var/ftp && chmod 777 -R /var/ftp/pub#设置为用户的主目录: usermod -d /var/ftp ftpuser
5.6 防火墙和selinux设置(selinux是一种安全程序,会阻碍ftp)
# 关闭SELinux服务 setenforce 0 # 允许ftp firewall-cmd --add-service=ftp
5.7 启动服务
#开机启动 systemctl enable vsftpd.service #启动服务 systemctl start vsftpd.service
5.8 在电脑上下载一个FileZilla
就可以使用用户ftpuser 和密码 jingjing访问centos了
6.将发布文件夹通过ftp发布到centos上
点击文件夹右键,选择上传即可
7. 使用docker命令创建镜像和容器并运行
7.1 首先使用cd命令跳转到publish文件夹目录下(有dockerfile的目录)
7.2 运行命令,将项目文件(使用dockerfile)生成为镜像Image
# 注意最后有一个点,意识是将当前目录编译为 # 镜像名为school版本号1.0.0的镜像 docker build -t school:1.0.0 .
使用如下命令查询镜像列表
docker images
7.3 使用镜像启动容器
运行名字为school的容器,将本地的/var/ftp/pub/publish路径映射为容器的/app,将本地的8000端口映射为容器的80,使用school:1.0.0镜像产生容器,并返回容器ID
docker run --name=school -d -p 8000:80 -v /var/ftp/pub/publish:/app school:1.0.0
使用如下命令查询正在运行的容器
docker ps
7.4 最后就可以使用centos的ip+8000端口去访问asp .net core程序在docker中运行的网站了
转载于:https://www.cnblogs.com/gamov/p/10128883.html
在Centos7上配置docker运行DotNetCore项目相关推荐
- 在CentOS7上配置Open vSwitch和VXLAN
在CentOS7上配置Open vSwitch和VXLAN 环境 实验环境 主机环境 [yuwh@node0 ~]$ uname -a Linux node0 3.10.0-123.9.3.el7.x ...
- 使用Docker运行java项目需要注意的glibc依赖库问题
使用Docker运行java项目需要注意的glibc依赖库问题 转载自:https://blog.51cto.com/u_15329153/3758717 docker官方推荐java是基于glibc ...
- IDEA配置tomcat的方法、IDEA配置tomcat运行web项目
IDEA配置tomcat的方法 1.打开idea,在项目运行列表下拉选择"Edit Configurations" 2.点击 左上角的"+">Templa ...
- Windows 上配置Docker Desktop 的k8s
前言:打算在windows上配置docker & k8s 的环境来实现abp vnext 的k8s部署,遂进行一系列的安装和配置 在docker desktop 上启动k8s但是一直在star ...
- M1上模拟器无法运行的项目,可以用Rosetta打开
M1上模拟器无法运行的项目,可以用Rosetta打开 访达-应用程序-Xcode-右键-显示简介-通用-使用Rosetta打开
- mscoreei.dll没有被指定在windows上运行_在Windows上使用Docker运行.NetCore
今天我们来说下如何在windows下使用docker运行.net core,既然是docker,那么我们首先得在windows上安装docker. 在Windows安装 docker 有两种选择 : ...
- 在Windows上使用Docker运行.NetCore
今天我们来说下如何在windows下使用docker运行.net core,既然是docker,那么我们首先得在windows上安装docker. 在Windows安装 docker 有两种选择 : ...
- 使用docker运行dotnetcore站点
使用docker运行netcore站点 1.新建一.netcore测试站点,dotnet publish 发布到publish目录下 2.编写Dockerfile文件 3.打包上传到centos服务器 ...
- 在centos7上使用Docker安装oracle 11g
如果还没安装docker,可查看Centos7下安装Docker(详细安装教程) 1.拉取 docker 镜像: [root@localhost ~]# docker pull registry.cn ...
- eclipse使用maven插件(m2e)配置及运行web项目
maven是一个项目管理工具,它可以方便对项目进行管理.本文将介绍如何在eclipse环境下,使用maven对web项目进行配置,并在tomcat容器下进行运行及调试. 一.环境准备: 1.下载tom ...
最新文章
- 精确人工智能——核物理与粒子物理领域的新生力量
- pycharm 类型注释_后端开发使用pycharm的技巧
- 【嵌入式开发】嵌入式 开发环境 (远程登录 | 文件共享 | NFS TFTP 服务器 | 串口连接 | Win8.1 + RedHat Enterprise 6.3 + Vmware11)
- python安装不了bs4_怎么在python安装bs4
- 面试官:Maven 的这 7 个问题你思考过没有?
- webuploader结合php实现图片上传到本地和保存数据库
- Qt在Mac系统下添加alias到IncludePath中
- 关于容量设计、规划、治理 你知多少?
- 设置windows引导linux分区,windows下安装grub引导Linux
- Mugeda(木疙瘩)H5案例课—什么,才是福-岑远科-专题视频课程
- hp ilo 服务器磁盘定位
- 机器学习神器Scikit-Learn保姆级入门教程
- python 爬虫 短信验证码
- 2021 ICPC 银川打铜记
- 计算机c盘program,电脑c盘program files(x86)文件夹可以删除吗
- 口袋理财:“来了就是深圳人?”全国均价最高的房租了解一下
- JAVA XML转对象 对象转XML
- 据说是新浪乐居的面试题及我的答案
- 大数据算法模型中的数据清洗
- P2357 守墓人(树状数组/线段树)
热门文章
- 编程基本功:找到问题的合理解释,才算解决问题
- 泰山游记:晚上爬并无乐趣,什么也看不到
- trump可音译为“专普”
- WEB前端、后端的说明
- 在tunnelbroker为服务器IP建立IPV6 Tunnel
- 苹果提交版本后显示”缺少出口合规证明“的解决办法
- 多任务计时器anytime
- oracle和mysql用户名_oracle的SID和用户名和角色
- java arraylist_Java 集合框架之 ArrayList 源码图示法简要剖析
- C++中对sprintf()