您的位置:首页 > 游戏 > 游戏 > 抖音代运营合作方案_汕头市公司网站建设平台_网站优化的方法_品牌策划运营公司

抖音代运营合作方案_汕头市公司网站建设平台_网站优化的方法_品牌策划运营公司

2025/4/6 16:33:39 来源:https://blog.csdn.net/m0_75254642/article/details/146979155  浏览:    关键词:抖音代运营合作方案_汕头市公司网站建设平台_网站优化的方法_品牌策划运营公司
抖音代运营合作方案_汕头市公司网站建设平台_网站优化的方法_品牌策划运营公司

1.Dockerfile 简介:

Docker file是一个包含用于构建镜像的命令脚本文件。 Docker通过读取Dockerfile中指令自动生成映像。

Docker build命令用于从Dockerfile构建映像。Dockerfile 一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,’#’ 为 Dockerfile 中的注释。

2.主要构建流程:

1.编写一个dockerfile 文件。

2.通过docker build命令构建镜像,其中使用-f标志指向Dockerfile文件的路径。

3.通过docker run 直接使用镜像创建容器,并进行运行。或者先使用docker create,通过镜像创建容器,然后再通过docker start运行容器。

4.docker push 发布镜像(Docker Hub 、阿里云镜像仓库、或其他镜像仓库服务器)。

3.Docker基础指令:

3.1from命令:

设置基础镜像。所有 Dockerfile 都必须以 FROM 指令开始。

语法:FROM <image>[:<tag>] 或 FROM <image>@<digest>

如:FROM ubuntu:20.04

3.2run命令:

在镜像构建过程中执行命令,并生成一个新的镜像层。

语法:RUN <command> 或 RUN ["executable", "param1", "param2"](JSON 格式)

例如RUN apt-get update && apt-get install -y curl

3.3cmd命令:

提供容器运行时默认执行的命令。Dockerfile 中只能有一个 CMD 指令,如果指定多个,只有最后一个生效。

语法:CMD ["executable","param1","param2"] 或 CMD command param1 param2

例如:

CMD ["echo", "Hello, World!"]

3.4label命令:

为镜像添加元数据。

语法:LABEL <key>=<value> <key>=<value> <key>=<value> ...

例如LABEL maintainer="example@example.com"

3.5expose命令:

声明容器运行时要监听的端口,但不会自动发布端口。

语法:EXPOSE <port> [<port>/<protocol>...]

例如EXPOSE 80 443

3.6env命令:

设置环境变量。

语法:ENV <key> <value> 或 ENV <key>=<value> ...

例如ENV NODE_VERSION 14.17.0

3.7add命令:

将文件、目录或远程 URL 添加到镜像中,并自动解压压缩文件(如 .tar)。

语法:ADD <src>... <dest>

例如ADD https://example.com/package.tar.gz /app/

3.8copy命令:

类似ADD,将文件或目录从构建上下文(Dockerfile 所在目录的路径)复制到镜像中。

语法:COPY <src>... <dest>

例如COPY ./app /app

3.9entrypoint命令:

配置容器启动时运行的命令,使其可执行化,让容器以应用程序的方式运行。

语法:ENTRYPOINT ["executable", "param1", "param2"] 或 ENTRYPOINT command param1 param2

例如ENTRYPOINT ["executable", "param1", "param2"]

3.10volume命令:

创建一个可以从本地主机或其他容器挂载的挂载点,一般用于存储数据库和需要保持的数据等。

语法:VOLUME ["/data"]

例如:VOLUME ["/var/lib/mysql"]

3.11user命令:

设置运行容器的用户。

语法:USER <username>[:<group>] 或 USER <UID>[:<GID>]

例如:USER nginx

3.12workdir命令:

为 RUN、CMD、ENTRYPOINT、COPY 和 ADD 指令设置工作目录。

语法:WORKDIR /path/to/workdir

例如:WORKDIR /app

3.13arg命令:

定义构建时变量,只在构建过程中有效。

语法:ARG <name>[=<default value>]

例如:ARG version=1.0

3.14#命令:

为 Dockerfile 中的注释。

4.基础练习:

在上次实验的CentOS-Stream-8-Docker虚拟机基础上,进行以下实验练习。

参考:基于VMware 和 Cent OS 的Docker Engine安装与配置-CSDN博客

4查看Docker运行状态。

service docker status

如图所示,表示docker没有正常启动。

2.docker没有正常启动,那么执行以下命令启动 Docker。

systemctl start docker
# 或者
sudo service docker start
# 设置docker开机自启动
systemctl enable docker
# 再次查看docker运行状态
service docker status

3. 准备工作目录,新建一个目录myUbuntuWork,并切换至该目录。

4.编写dockerfile。

 在myUbuntuWork目录下,通过vim Dockerfile命令,编写dockerfile 文件并保存。

FROM ubuntu
ENTRYPOINT ["top","-b"]
CMD ["-c"]

5.通过docker build命令构建镜像。

docker build -t myubuntu -f Dockerfile .

其中:-t myubuntu指定自定义镜像的名字;

           -f Dockerfile标志指向Dockerfile文件的路径;

          .表示当前目录是构建上下文。

 6.通过docker images查看构建生成的自定义镜像。

5.搭建自己的docker注册中心:

1.基于docker容器技术快速搭建自己的docker注册中心。

docker run -d -p 5000:5000 --restart=always --name myregistry -v /opt/data/registry:/var/lib/registry registry 

2.通过以下命令测试自建registry注册中心的可用性.

 curl http://127.0.0.1:5000/v2/_catalog

registry注册中心已经正常运行,只是还没任何镜像。

3.在将本地镜像上传发布到自建registry注册中心前,我需要对本地镜像针对自建的registry注册中心设置相应的标签。

docker tag myubuntu 127.0.0.1:5000/myubuntu

4.使用docker push命令,将本地镜像myubuntu上传发布到自建registry注册中心。

docker push 127.0.0.1:5000/myubuntu

5.通过以下命令查看确认发布到自建registry注册中心的myubuntu镜像。

 curl http://127.0.0.1:5000/v2/_catalog

myubuntu镜像已经上传到了registry注册中心。

6.项目实战:

6.1准备项目源代码:

1.安装Git 客户端工具。

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

若实验环境中没有安装 Git 客户端,先执行进行安装。

yum install -y git

2. 创建项目工作目录。

mkdir bulletin && cd bulletin

3.克隆下载代码。

git clone  https://github.com/docker-training/node-bulletin-board

如果无法下载,请尝试在C:\Windows\System32\drivers\etc目录下的host文件中添加以下配置。

140.82.113.3         github.com

如果仍然无法下载,请尝试更换服务器,使用以下地址进行克隆下载。

git clone  https://gitee.com/hubin2020/node-bulletin-board.git

4.查看Dockerfile文件。

进入bulletin-board-app目录,查看Dockerfile文件。

其中:

npm install命令用于下载安装项目打包配置文件package.json 中列出的所有依赖库。

npm start是npm的内置命令之一,用于启动项目。它会在项目的根目录下寻找package.json文件,并且在该文件中查找scripts字段中的start命令。如果找到了该命令,就会执行该命令来启动项目,否则会报错。

6.2构建镜像:

1.基于 Dockerfile 构建镜像。

docker  build -t bulletinboard:1.0 .

2.通过docker images命令查看并确认我们刚刚构建的镜像bulletinboard:1.0。

6.3运行容器实例:

 1.基于构建的镜像启动容器。

docker run --rm --publish 8000:8080 --detach --name bulletinboard bulletinboard:1.0

2.然后在浏览器中访问 http://127.0.0.1:8000 实际测试公告板应用程序。

6.4上传发布镜像:

1. 将本地镜像上传发布到自建registry注册中心前,我需要对本地镜像针对自建的registry注册中心设置相应的标签。

docker tag bulletinboard:1.0 127.0.0.1:5000/bulletinboard:1.0

2.使用docker push命令,将本地镜像myubuntu上传发布到自建registry注册中心。

docker push 127.0.0.1:5000/bulletinboard:1.0

3.通过以下命令查看确认发布到自建registry注册中心的myubuntu镜像。

 curl http://127.0.0.1:5000/v2/_catalog

 bulletinboard:1.0镜像已经发布上传到了registry注册中心。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com