【容器化部署-docker】

Docker镜像化部署

1.安装docker

[docker桌面版下载](https://docs.docker.com/get-docker/)
选择合适的系统安装包下载安装。

2.运行示例应用

#从dockerhub拉取镜像
git clone https://github.com/docker/welcome-to-docker
#配置dockerfile(后面会单独说明dokerfile配置)

#利用镜像部署容器
docker build -t welcome-to-docker .

3.利用Docker Desktop运行首个项目

这里我们打开桌面图形化窗口操作,找到images镜像管理页面,点击action,同时设置开放端口(任意未占用端口,如:8080)。
docker运行
此时基于docker的容器化项目已经在本地开启
打开浏览器输入:http://localhost:8080 访问
项目部署页面

4.dockerfile配置规则

我们需要自行配置dockerfile,这一步是项目的关键,dockerfile文件的配置规则
同yaml文件类似

原理:
	docker通过dockerfile的配置关系,可以找到对应的镜像资源自动构建镜像。
	类似一种映射关系。
#syntax=docker/dockerfile:1
FROM ubuntu:18.04
COPY . /app
RUN make /app
CMD python /app/app.py

每条指令创建一层:

FROM从 Docker 镜像创建一个层ubuntu:18.04。
COPY从 Docker 客户端的当前目录添加文件。
RUN使用构建您的应用程序make。
CMD指定要在容器中运行的命令。

dockerfile配置语法简要描述

Dockerfile 是一种用于构建 Docker 镜像的文本文件,它包含了用于创建镜像的所有指令和配置。Dockerfile 遵循特定的语法和关键字,以下是一些简要的描述:

  1. 注释:使用 # 符号表示注释,可以用于解释代码或添加其他信息。

  2. FROM:表示基础镜像,所有后续操作都基于此镜像。例如:FROM ubuntu:18.04

  3. RUN:表示在构建镜像过程中执行命令。例如:RUN apt-get update && apt-get install -y nginx

  4. CMD:表示容器启动时默认执行的命令。例如:CMD ["nginx", "-g", "daemon off;"]。如果有多个 CMD 指令,仅最后一个会生效。

  5. ENTRYPOINT:表示容器启动时默认执行的命令,与 CMD 类似,但允许用户覆盖。例如:ENTRYPOINT ["nginx"]

  6. COPY:表示将本地文件或目录复制到镜像中。例如:COPY ./app /app

  7. ADD:与 COPY 类似,但支持远程 URL 和解压缩。例如:ADD https://example.com/app.tar.gz /app

  8. WORKDIR:表示设置镜像中的工作目录。例如:WORKDIR /app

  9. ENV:表示设置环境变量。例如:ENV NODE_ENV production

  10. EXPOSE:表示声明容器运行时监听的端口。例如:EXPOSE 80

  11. USER:表示设置后续 RUN、CMD 和 ENTRYPOINT 指令运行时的用户。例如:USER nginx

  12. VOLUME:表示声明 Docker 容器中的持久化存储卷。例如:VOLUME ["/data"]

  13. ARG:表示定义构建参数,可以在构建时传递给 Dockerfile。例如:ARG NODE_ENV

  14. ONBUILD:表示在子镜像中执行操作。例如:ONBUILD RUN npm install

这些关键字和语法可以组合使用,以创建定制的 Docker 镜像。以下是一个简单的 Dockerfile 示例:

# 基础镜像
FROM node:14

# 设置工作目录
WORKDIR /app

# 复制 package.json 文件
COPY package.json .

# 安装依赖
RUN npm install

# 复制应用程序代码
COPY . .

# 暴露端口
EXPOSE 3000

# 启动应用程序
CMD ["npm", "start"]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值