1.为API集成Docker环境。(VS自带,傻瓜式操作)

1.1 点击项目,右键,添加,选择Docker支持

docker容器化部署seata集群 项目docker容器化部署步骤_sql


1.2 找到项目根目录中的Dockerfile文件,这是VS刚刚帮我们自动生成的。进入和做如图标红地方修改。

把文件名用.代替(因为当前文件在根目录了)。

docker容器化部署seata集群 项目docker容器化部署步骤_docker容器化部署seata集群_02

2.安装Docker,执行相应的命令。

2.1 进入docker官网,下载安装包。解压后下一步,记得开启虚拟化服务。具体百度一大把。 2.2 安装好后 记得配置国内下载镜像的地址,不然下载会很慢。 打开设置:

docker容器化部署seata集群 项目docker容器化部署步骤_.netcore_03

"registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com",
    "https://registry.docker-cn.com"
  ]

3.执行命令,进行容器化部署。

3.1 进入到项目根目录文件夹,然后cmd 回车 如图:

docker容器化部署seata集群 项目docker容器化部署步骤_.netcore_04


3.2 执行容器初始化命令 docker build -t fakexiechengapi . 其中fakexiechengapi为容器名称。自己随便起。然后回车,它会自动对相应的镜像拉取。直到看到Finished 如图:

docker容器化部署seata集群 项目docker容器化部署步骤_.netcore_05

3.3 执行docker run -d --name fakexiechengapi -p 8080:80 fakexiechengapi 运行刚刚创建好的容器。fakexiechengapi是刚刚的容器名称。

3.3.1 拉取sql server 镜像
命令:docker pull mcr.microsoft.com/mssql/server:2017-latest 运行镜像:docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=1qazXSW@" -p 1433:1433 --name sqlserver2017 -d mcr.microsoft.com/mssql/server:2017-latest 参数解释:

-e "ACCEPT_EULA=Y":默认选择同意协议许可证

-e "SA_PASSWORD=qwe20211114.":设置连接密码为qwe20211114.

-p 1433:1433: 宿主机端口映射到容器端口(前者为宿主机)

--name sqlserver2017:容器别名

-d: 后台运行

mcr.microsoft.com/mssql/server:2017-latest:镜像名称:标签

进入容器:docker exec -it sqlserver2017 /bin/bash 连接数据库: /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "1qazXSW@"

参考

此时可以直接通过sql管理工具去连接数据库镜像了。连接地址就是本地ip,账号默认sa,密码就是刚刚上面设置的密码。如图:

docker容器化部署seata集群 项目docker容器化部署步骤_容器_06


查看docker安装了哪些镜像:docker images

docker容器化部署seata集群 项目docker容器化部署步骤_容器_07

注意数据库必坑点:

看到这了给你些福利:C#接单交流群452760896

docker拉去数据库镜像后,会自动给该容器分配一个虚拟IP。我们通过以下命令去查看:docker inspect bridge 找打名称为sqlserve的容器。我们可以看到虚拟IP为172.17.0.2

docker容器化部署seata集群 项目docker容器化部署步骤_容器_08


注意,我们程序中的连接字符串的IP 必须要用这个虚拟IP。

如下,为我的连接字符串:

"ConnectionString": "Data Source=172.17.0.2;Initial Catalog=FakexiechengDb;User Id=sa;Password=密码"

3.4 此时容器就在运行了。我们可以在docker客户端进行查看。也可以通过命令查看 docker ps

docker容器化部署seata集群 项目docker容器化部署步骤_.netcore_09


docker容器化部署seata集群 项目docker容器化部署步骤_sql_10


到此我们的容器化部署完成。

Docker其他命令大全:
docker build -t fakexiechengapi . 容器初始化
docker run -d --name fakexiechengapi -p 8080:80 fakexiechengapi 运行容器
docker ps 查看运行的容器
docker logs fakexiechengapi 查看容器日志
docker inspect bridge 查看虚拟IP
docker images 查看安装了哪些镜像
docker rm 149f8cbe93a5 删除容器,其中id号可以通过docker ps命令查看
docker stop 149f8cbe93a5 暂停容器

其他要用的百度吧。