龙空技术网

Linux 安装docker

咸鱼会开发 98

前言:

此刻小伙伴们对“adonet命名空间”都比较珍视,姐妹们都需要剖析一些“adonet命名空间”的相关内容。那么小编在网上搜集了一些对于“adonet命名空间””的相关资讯,希望朋友们能喜欢,我们快快来了解一下吧!

目前都比较流行使用docker,独立运行互不干扰,扩展快

//验证是否已经安装dockeryum list installed | grep docker 或docker -v //会显示版本号//如版本太旧,删除,重新安装sudo yum remove docker  docker-common docker-selinux docker-engine//如果没有结果,则安装,看到结果:Complete! yum -y install docker//启动systemctl start docker//查看状态,看到绿色:active(running),代表已启动systemctl status docker

安装还是很简单,我们打包镜像文件,以.net为例子

若项目中未加入Dockerfile文件,项目点击右键加入,文件命令如下

#添加基础镜像FROM mcr.microsoft.com/dotnet/aspnet:6.0#拷贝DockerFile文件所在的目录所有文件到docker容器中的publish文件夹中COPY . /publish#设置工作目录为 `/publish` 文件夹,即容器启动默认的文件夹WORKDIR /publish#设置Docker容器对外暴露端口EXPOSE 80/tcp#使用`你的主程序.dll`来运行应用程序,CMD ["dotnet", "你的主程序.dll","--urls", "http://*:80"]

打包后文件上传至linux服务器的tmp目录

//安装.net6环境docker pull mcr.microsoft.com/dotnet/aspnet:6.0//构建镜像,进入发布目录cd /tmp/publish///构建docker build -t 镜像名称 .   //最后.必须保留,如:docker build -t img-demo1 .//创建运行容器docker run -d --name dk-donet6-demo01 -p 8080:80 --restart=always img-demo1/*-d #后台运行-p 8001:80 #宿主机端口号:docker端口号--restart=always #dokcer重新启动时也将容器自动启动*///创建完成后,测试curl -X GET "; //能看到内容则说明部署成功//容器常用命令//查看所有容器docker ps -a//启动容器docker start 容器名 //dk-donet6-demo01//停止容器docker stop 容器名 //dk-donet6-demo01//删除容器docker rm 容器名 //dk-donet6-demo01//删除镜像docker rmi 镜像名 //img-demo1

如果Build失败,is not a valid repository/tag,build一直报错,报镜像名是不是有效的存储名

//一般是donet镜像基础名冲突//安装donet环境的名称docker pull mcr.microsoft.com/dotnet/aspnet:6.0//dockerfile中的名称#添加基础镜像FROM mcr.microsoft.com/dotnet/aspnet:6.0//这2个名称要保持一致

如何更换容器端口

//有2种方式,第一个是修改配置文件,比较繁琐,还需要停止容器和服务,第二种是克隆一个新的容器并重新运行即可//推荐使用第二种方式://停止容器docker stop dk-dev-redis//克隆docker commit dk-dev-redis img-new-dev-redis//运行docker run --name dk-new-dev-redis -p 6379:6379 img-new-dev-redis//删除旧容器docker rm dk-dev-redis/*第二种可以参考*///停止容器docker stop 容器名称//停止服务systemctl stop docker//修改2份配置文件cd /var/lib/docker/containers/ls //可以看到所有容器的ID, docker ps -a ,id前面与其相符vi 容器id/hostconfig.json//"PortBindings":{"容器端口/tcp":[{"HostIp":"","HostPort":"宿主机端口"}]//同步修改另外一个文件vi 容器id/config2.v2.json// “ExposedPorts”:{“容器端口 /tcp”:{}}//"Ports":{"容器端口/tcp":[{"HostIp":"0.0.0.0","HostPort":"宿主机端口"}]}//重启服务systemctl start dockerdocker start 容器名称

标签: #adonet命名空间