一、环境html
二、安装dockermysql
首先查看CentOS的内核版本(CentOS7系统必须为64位,内核必须3.10及以上)react
uname -r 3.10.0-229.el7.x86_64
更新已经安装的包linux
sudo yum update
安装dockergit
curl -fsSL https://get.docker.com/ | sh
启动dockergithub
sudo service docker start 或 systemctl start docker
运行docker hello world demoweb
sudo docker run hello-world
三、建立docker用户组sql
(2) sudo usermod -aG docker
your_username(你的用户名)
四、 docker相关概念docker
-P
或 -p
参数来指定端口映射。
docker images //显示全部镜像文件 docker ps -q -a //显示全部容器 docker run -it --name dn_container -d -p 5000:5000 microsoft/dotnet:latest //新增一个容器用于加载 microsoft/dotnet:latest镜像文件,-p host port:container port docker run -it --name dn_container -d -p 127.0.0.1:5000:5000 microsoft/dotnet:latest docker start dn_container //启动容器 docker attach dn_container //关联并进入启动容器,须要先启动容器 docker stop dn_container //中止容器 docker kill $(docker ps -a -q) //强制中止全部容器 docker rm $(docker ps -a -q) //删除全部容器 doker commit ContainerID NewImageName //将容器里的内容提交为新的镜像文件 docker rmi -f 7d9495d03763 //删除全部容器 //标记镜像,push到Docker Hub docker images docker tag a66b7258f574 sobit17/sobit-dotnet:1.0.0-beta-002252 docker images docker login --username=test --email=test@qq.com docker push sobit17/sobit-dotnet
五、制做HelloMvc imagecanvas
mkdir app cd app git clone https://github.com/aspnet/cli-samples.git cd cli-samples
须要显式指定HelloMvc的端口(即便指定的是5000端口),目前尝试过不加下面这段代码,发现默认的5000并不起做用
//拷贝命令 cp -p /root/app/cli-samples/NuGet.Config /root/app/cli-samples/HelloMvc/NuGet.Config
FROM microsoft/dotnet:latest RUN mkdir -p /webapp COPY . /webapp WORKDIR /webapp RUN ["dotnet", "restore"] RUN sudo apt-get -y update \ && sudo apt-get install -y dialog make automake libtool curl RUN curl -sSL https://github.com/libuv/libuv/archive/v1.8.0.tar.gz | sudo tar zxfv - -C /usr/local/src \ && cd /usr/local/src/libuv-1.8.0 \ && sudo sh autogen.sh \ && sudo ./configure \ && sudo make \ && sudo make install \ && sudo rm -rf /usr/local/src/libuv-1.8.0 \ && cd ~/ \ && sudo ldconfig EXPOSE 5600 ENTRYPOINT ["dotnet", "run"]
(2)基于dotnet:0.0.1-alpha-onbuild
FROM microsoft/dotnet:0.0.1-alpha-onbuild RUN sudo apt-get -y update \ && sudo apt-get install -y dialog make automake libtool curl RUN curl -sSL https://github.com/libuv/libuv/archive/v1.8.0.tar.gz | sudo tar zxfv - -C /usr/local/src \ && cd /usr/local/src/libuv-1.8.0 \ && sudo sh autogen.sh \ && sudo ./configure \ && sudo make \ && sudo make install \ && sudo rm -rf /usr/local/src/libuv-1.8.0 \ && cd ~/ \ && sudo ldconfig EXPOSE 5600
mkdir test cd test it clone https://github.com/aspnet/cli-samples.git cd cli-samples dotnet restore
查看是否报错
cd ~rm -r test
(2)解决方案
docker run --name dotnet_container -it microsoft/dotnet:0.0.1-alpha
若是dotnet_container 未启动,则执行下面命令启动并关联进入
docker start dotnet_container
dokcer attach dotnet_container
查看.NET Core版本(dotnet image中使用的是Ubuntu14.04系统)
dotnet --version 或 dotnet --info
apt-get update wget https://dotnetcli.blob.core.windows.net/dotnet/beta/Binaries/Latest/dotnet-dev-ubuntu-x64.latest.tar.gz tar -zxf dotnet-dev-ubuntu-x64.latest.tar.gz -C /usr/bin
或
apt-get update wget https://dotnetcli.blob.core.windows.net/dotnet/beta/Binaries/Latest/dotnet-dev-ubuntu-x64.latest.tar.gz tar -zxf dotnet-dev-ubuntu-x64.latest.tar.gz ln -s /dn_new/dotnet /usr/bin/dotnet
接下来执行下面命令
dotnet --info //查看版本 exit //退出容器 docker images //查找dotnet_container 的ConrainerID docker commit 3a09b2588478(ContainerID) dotnet_new(new image name) //commit成一个新的image
至此base image制做完毕。
FROM dotnet_new 或 sobit17/sobit-dotnet:1.0.0-beta-002252 RUN mkdir -p /webapp COPY . /webapp WORKDIR /webapp RUN ["dotnet", "restore"] ##备注:安装libuv这一过程其实能够在制做dotnet_new镜像时也安装进去,就不须要下面这段【注释在Dockerfile中需删掉】 RUN sudo apt-get -y update \ && sudo apt-get install -y dialog make automake libtool curl RUN curl -sSL https://github.com/libuv/libuv/archive/v1.8.0.tar.gz | sudo tar zxfv - -C /usr/local/src \ && cd /usr/local/src/libuv-1.8.0 \ && sudo sh autogen.sh \ && sudo ./configure \ && sudo make \ && sudo make install \ && sudo rm -rf /usr/local/src/libuv-1.8.0 \ && cd ~/ \ && sudo ldconfig EXPOSE 5600 ENTRYPOINT ["dotnet", "run"]
全部把HelloMvc制做成image的资料已经准备完毕。
docker build -t hellomvc-image . //记得命令最后有'.'
一、环境
二、安装.NET Core SDK
sudo yum updatemkdir dn_cli cd dn_cli wget https://dotnetcli.blob.core.windows.net/dotnet/beta/Binaries/Latest/dotnet-dev-centos-x64.latest.tar.gz tar -zxf dotnet-dev-centos-x64.latest.tar.gz
尝试执行命令:. /dotnet
提示错误:
Failed to load /root/dotnet/bin/libcoreclr.so, error: libunwind.so.8: cannot open shared object file: No such file or directory
解决方法:
yum install -y libunwind
尝试执行命令:. /dotnet
提示错误:
Failed to initialize CoreCLR, HRESULT: 0x80131500
解决方法:
yum install -y icu
尝试执行命令:. /dotnet --info,正常。
永久保存环境变量
找到/etc/profile文件(当用户第一次登陆时,该文件被执行.),在最后面添加:
3、下载cli-samples的HelloMvc例子
cd ~
sudo yum -y install git mkdir app cd app git clone https://github.com/aspnet/cli-samples.git cd cli-samples dotnet restore cd HelloMvc
须要显式指定HelloMvc的端口(即便指定的是5000端口),目前尝试过不加下面这段代码,发现默认的5000并不起做用

四、编译运行HelloMvc
将执行命令的当前目录定位到HelloMvc,并执行下面命令
dotnet run
打开浏览器 http://IP:5600(防火墙和查看网络相关命令请查看本篇文章第四点)

一、安装Ubuntu Installers
apt-get update
mkdir dn_cli cd dn_cli wget https://dotnetcli.blob.core.windows.net/dotnet/beta/Installers/Latest/dotnet-host-ubuntu-x64.latest.deb wget https://dotnetcli.blob.core.windows.net/dotnet/beta/Installers/Latest/dotnet-sharedframework-ubuntu-x64.latest.deb wget https://dotnetcli.blob.core.windows.net/dotnet/beta/Installers/Latest/dotnet-sdk-ubuntu-x64.latest.deb //安装 dpkg -i dotnet-host-ubuntu-x64.latest.deb dpkg -i dotnet-sharedframework-ubuntu-x64.latest.deb dpkg -i dotnet-sdk-ubuntu-x64.latest.deb
//若是执行上述安装语句后提示缺乏依赖包,能够执行下面命令会自动补全依赖包,而后再从新执行报错的安装语句
apt-get -f install
2、下载cli-samples的HelloMvc例子
cd ~
apt-get -y install git mkdir app cd app git clone https://github.com/aspnet/cli-samples.git cd cli-samples dotnet restore cd HelloMvc
须要显式指定HelloMvc的端口(即便指定的是5000端口),目前尝试过不加下面这段代码,发现默认的5000并不起做用

三、编译运行HelloMvc
dotnet run
打开浏览器 http://IP:5600(防火墙和查看网络相关命令请查看本篇文章第四点)
systemctl status firewalld或firewalld.service ##查看firewalld是否启动。active(running)表明启动
systemctl start firewalld ##若是firewalld没启动,可使用此命令启动
systemctl enable firewalld ##设置为随机器启动
systemctl stop firewalld ##关闭firewalld
systemctl disable firewalld ##清除随机器启动
systemctl restart firewalld ##重启firewalld
firewall-cmd --state ##查看防火墙状态,是不是running firewall-cmd --list-all ##查看全部规则 firewall-cmd --reload ##从新载入配置,好比添加规则以后,须要执行此命令 firewall-cmd --get-zones ##列出支持的zone firewall-cmd --get-services##列出支持的服务,在列表中的服务是放行的 firewall-cmd --query-service ftp##查看ftp服务是否支持,返回yes或者no firewall-cmd --add-service=ftp ##临时开放ftp服务 firewall-cmd --add-service=ftp --permanent##永久开放ftp服务 firewall-cmd --add-service=http --permanent##永久开放http服务 firewall-cmd --remove-service=ftp --permanent##永久移除ftp服务 firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口 firewall-cmd --zone=public --add-port=80/tcp --permanent ##--zone #做用域
iptables -L -n --line-number #查看防火墙的规则链 iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT iptables -I INPUT -d 172.16.100.1 -p tcp --dport 22 -m state --state NEW -j ACCEPT iptables -A INPUT -i lo -j ACCEPT #测试不加此条会致使mysql在内部没法链接 查看/etc/sysconfig/iptables文件(记录着防火墙的规则链) 若是没有这个文件,请执行下面命令保存 iptables-save > /etc/sysconfig/iptables 查看保存后的规则 cat /etc/sysconfig/iptables
四、部分网络端口查询命令
netstat -tunlp -a # 查看全部网络端口状况 netstat -l -n #查看监听(Listen)的端口,-n 表明显示端口数字而不是名称 netstat -antp #查看全部创建的TCP链接
相关资料:
做者:B.it
技术收录网站:核心技术(http://www.coretn.cn)
出处:http://www.cnblogs.com/ImBit/p/5375577.html
本文版权归做者和博客园共有,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接。