专业编程基础技术教程

网站首页 > 基础教程 正文

Linux 安装docker linux 安装docker 没图标

ccvgpt 2024-10-12 14:16:25 基础教程 9 ℃

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

//验证是否已经安装docker
yum 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为例子

Linux 安装docker linux 安装docker 没图标

若项目中未加入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 "http://127.0.0.1:8080/" //能看到内容则说明部署成功

//容器常用命令
//查看所有容器
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 docker
docker start 容器名称

Tags:

最近发表
标签列表