ASP.NET Core Docker容器

- Docker

一、安装 https://store.docker.com/editions/community/docker-ce-desktop-windows

  下载并安装 Docker Desktop,创建 Docker 帐户(如果还没有该帐户)。 你可以为个人或小型企业用户创建免费的 Docker 帐户,但是,对于大型企业,则需要支付月费

二、具体配置项说明找文档或视频


Docker打包镜像流程

下面是一般情况下打包Docker镜像的流程:

1.编写Dockerfile

首先,我们需要创建一个Dockerfile文件,来定义我们的Docker镜像应该包含哪些内容及如何构建。

一个典型的Dockerfile可能包含以下指令:

  1. FROM:指定用作基础镜像的镜像名称。

  2. MAINTAINER:指定镜像的作者信息。

  3. RUN:执行指定的命令和操作。

  4. COPY:将本地文件复制到镜像中。

  5. WORKDIR:设置当前工作目录。

  6. CMD:指定容器启动时需要执行的命令。

 可参考官方文档



2.构建Docker镜像

构建Docker镜像需要使用docker build命令,该命令可以根据Dockerfile中的指令自动构建新的镜像。

命令格式如下:

docker build -t 镜像名

如下所示:

docker build -t my-image /path/to/Dockerfile

-t参数指定了新构建的镜像的名称,/path/to/Dockerfile指定了Dockerfile所在的路径。

3.运行Docker容器

构建好Docker镜像之后,我们需要使用docker run命令来启动容器并运行我们的应用程序。

命令格式如下:

docker run -p : -d

如下所示:

docker run -p 8080:80 -d my-image

-p参数指定了宿主机端口和容器端口之间的映射关系,-d参数指定了容器运行在后台模式下。

4.查看Docker容器

通过docker ps命令可以查看当前运行的Docker容器,命令格式如下:

docker ps

5.停止Docker容器

当我们需要停止一个Docker容器时,可以使用docker stop命令,命令格式如下:

docker stop

6.删除Docker容器

当我们需要删除一个Docker容器时,可以使用docker rm命令,命令格式如下:

docker rm

7.删除Docker镜像

当我们需要删除一个Docker镜像时,可以使用docker rmi命令,命令格式如下:

docker rmi

注意事项

在打包Docker镜像时,需要注意以下几点:

  1. 在编写Dockerfile时,尽可能地保持Dockerfile的简单、通用和可重用性。

  2. 在构建Docker镜像时,尽量使用更小的基础镜像(buildah、podman试试?),以最小化镜像的大小和资源占用。

  3. 尽量将本地文件复制到容器中,而不是手动将文件上传到容器中,以避免安全问题。

  4. 在使用Docker构建镜像时,需要确保镜像能够正常运行,并具有所需的功能和性能。

  5. 在删除Docker容器和镜像时,需要谨慎操作,以免误删重要数据。

总结

打包Docker镜像是使用Docker的核心技能之一,它可以为开发人员和系统管理员提供一种方便、快捷和可重复的方式来构建、测试和部署应用程序。通过本文的介绍,相信大家对此已经有了一定的了解,希望能够对大家在实际工作中使用Docker提供一定的帮助。

 

3)此外,修改 /etc/environment 这个文件也能实现环境变量的设置。

/etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。 注:系统是先执行/etc/environment,再执行/etc/profile

修改示例

以修改/etc/profile 为例:

PATH="$PATH:/root/.config/composer/vendor/bin"
export PATH

修改后执行如下命令使其立即生效:

source /etc/profile

如果想多加个路径yourpath1,在将“:yourpath1” 加载path后面,如:

PATH=”$PATH:/root/.config/composer/vendor/bin:yourpath1”

export作用说明:

  • export用于声明一个环境变量:

  • export variable=value

  • 该环境变量只在本进程和其子进程中可以访问。

  • 如果是在系统级的配置文件中,如/etc/profile中export 一个变量,那么这个变量就会在整个系统运行期间都起作用。

  • 如果在用户级~/.bash_profile之类的文件中,则每次启动shell都会去读这个文件,所以每次打开shell也是可以取到这个值的。

  • 如果在某一次运行中,手动export一个变量,则只在这次shell的使用中,才能访问这个变量,或者在该shell启动的其他程序中,也是可以访问这个变量的,因为它们是这个shell的子进程。

  • PATH=xxx相当于定义一个变量PATH=XXX,而通过exprot命令将其声明成一个环境变量

参考:https://www.cnblogs.com/freshfresh/p/17778426.html

https://zhuanlan.zhihu.com/p/639982212

https://blog.csdn.net/lwpoor123/article/details/127900973

https://www.cnblogs.com/freshfresh/p/17778426.html

https://baijiahao.baidu.com/s?id=1733353330282500966&wfr=spider&for=pc

https://blog.csdn.net/voke_/article/details/116160267

https://blog.51cto.com/u_14112/6346721