docker
安装官网
-
删除docker
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
-
安装
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
-
查看是否安装成功
sudo systemctl start docker sudo docker run hello-world
-
设置开机自启
sudo systemctl enable docker
二、创建镜像
-
源代码创建
-
创建WebApi项目
-
选择将 解决方案 和 **项目 ** 放到同一个目录下,点击下一步
-
选择启用Docker,点击创建
-
将源文件直接复制到服务器,然后进入 进入到解决方案目录下开始创建镜像
-
创建镜像
例子:docker -t 名称:版本号 . docker -t dockerapi:1.0.0 .
-
启动容器
例子:docker run --name 名称 -itd --restart unless-stopped -p 外部访问端口:项目启动端口 启动镜像 docker run --name docker1.0.0 -it --restart unless-stopped -p 8888:8080 dockerapi:1.0.0
-
浏览器访问
服务器ip:8888/swagger/weatherforecast
-
-
发布之后创建
-
创建好webapi项目
-
修改配置文件,配置端口(appsettings.json)
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*", "Kestrel": { "Endpoints": { "Http": {"Url": "http://*:8060"} } } }
-
点击发布
-
进入发布后的文件夹
-
创建dockerfile配置文件,将下边内容复制到文件中,并修改配置(Dockerfile)
#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base USER app WORKDIR /app #端口 EXPOSE 8060 FROM base AS final WORKDIR /app COPY . /app #启动命令(括号中为启动的项目名称) ENTRYPOINT ["./LinuxApi"]
-
将发布后的文件上传到服务器
-
创建镜像
例子:docker -t 名称:版本号 . docker -t linuxapi:1.0.0 .
-
创建容器
例子:docker run --name 名称 -itd --restart unless-stopped -p 外部访问端口:项目启动端口 启动镜像 docker run --name linuxapi1.0.0 -it --restart unless-stopped -p 7777:8060 linuxapi:1.0.0
-
浏览器访问
服务器ip:7777/swagger/weatherforecas
-
三、其他命令
-
镜像
-
创建
例子:docker -t 名称:版本号 . docker -t linuxapi:1.0.0 .
-
删除
例子:docker rmi 名称:版本号 docker rmi linuxapi:1.0.0
-
-
容器
-
创建
例子:docker run --name 名称 -itd --restart 重启规则 -p 外部访问端口:项目启动端口 启动镜像 docker run --name linuxapi1.0.0 -it --restart unless-stopped -p 7777:8060 linuxapi:1.0.0
-
删除
例子:docker remove 容器id或者容器名称 docker remove linuxapi1.0.0
-