一.安装Docker(ubuntu):

前言

Docker是一款开源的容器化平台,它可以让开发者将应用程序及其依赖项打包到一个可移植的容器中,从而实现轻松部署、运行和管理应用程序。Docker的容器技术可以将一个应用程序运行所需的所有软件、库和配置文件打包到一个容器中,然后将该容器发布到任何支持Docker的服务器上进行部署,无需担心中间环境的配置问题。使用Docker,开发者可以快速构建、测试和交付应用程序,大大缩短了开发周期和部署时间,提高了开发效率。同时,由于Docker的容器技术可以隔离不同的应用程序和服务,保证了它们之间的安全性和可靠性,降低了应用程序出错和崩溃的风险。因此,Docker已成为当今广泛使用的虚拟化技术之一,受到了广泛的欢迎和应用。

话不多说,直接上干货!!!

1.1.先卸载旧版,如果没有的话,就不用执行了,直接第二步。

apt-get remove docker docker-engine docker.io containerd runc

1.2.在终端输入

apt update

apt-get install ca-certificates curl gnupg lsb-release

1.3.安装证书

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

1.4.写入软件源信息

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

1.5.安装

sudo apt-get install docker-ce docker-ce-cli containerd.io

中途出现问题的话,使用  sudo apt-get update 试试

1.6.启动docker

systemctl start docker

1.7.安装工具

apt-get -y install apt-transport-https ca-certificates curl software-properties-common

1.8.重启docker

service docker restart

1.9.测试是否成功,输入以下命令

sudo docker run hello-world

 显示以下信息则成功,第一次比较慢。

1.10.查看docker版本

sudo docker version

1.11.查看镜像,可以看到刚才创建的镜像

sudo docker images

走到这,就代表你安装完成了!!!

二.使用docker将项目打包成.tar文件

2.1.在项目的根目录下创建一个名为 Dockerfile 的文件。Dockerfile 是一个包含一系列指令的文本文件,用于告诉 Docker 如何构建你的容器镜像。

2.2.Dockerfile里的内容如下:

# 使用基础镜像(这里以 Node.js 为例)

FROM node:latest

# 设置环境变量以非交互方式配置时区

ENV DEBIAN_FRONTEND=noninteractive

# 设置工作目录

WORKIR /usr/src/app

# 复制代码到容器中的 /usr/src/app 目录

COPY . /usr/src/app

# 安装项目依赖

RUN apt-get update && apt-get install -y \

*** \

*** \

&& rm -rf /var/lib/apt/lists/*

# 定义容器启动命令

CMD ["./your_name"]

接下来我们讲解一下里面的内容:

# 使用基础镜像

Docker Hub 提供了许多官方和社区维护的基础镜像,以满足各种开发需求。以下是一些常见的基础镜像以及它们的适用情况:

ubuntu:

适用场景: 当你的应用程序在 Ubuntu 操作系统上运行良好时,可以选择 Ubuntu 作为基础镜像。它提供了一个完整的操作系统环境,适用于各种应用场景。使用方式: FROM ubuntu:latest alpine:

适用场景: 当你需要一个轻量级的基础镜像时,Alpine Linux 是一个不错的选择。它非常小巧,适用于资源有限的环境。使用方式: FROM alpine:latest node:

适用场景: 当你的应用是基于 Node.js 构建的时,使用 Node.js 官方镜像是常见的选择。它包含了 Node.js 运行时和 npm 包管理器。使用方式: FROM node:latest python:

适用场景: 用于运行 Python 应用程序时,可以选择 Python 官方镜像。它包含了 Python 解释器和常用的工具。使用方式: FROM python:latest nginx:

适用场景: 用于托管静态文件或作为反向代理时,Nginx 是一个流行的选择。使用方式: FROM nginx:latest openjdk:

适用场景: 用于运行 Java 应用程序时,可以选择 OpenJDK 官方镜像。使用方式: FROM openjdk:latest

非交互方式配置时区:

在非交互方式下,配置时区时不需要用户的交互。这在自动化脚本、Dockerfile 或其他脚本化的部署过程中非常有用。在这种情况下,你可能希望避免任何需要用户输入的操作。

交互方式配置时区:

在交互方式下,系统会提示用户选择时区,然后根据用户的选择进行配置。这通常涉及到运行一些配置命令,例如dpkg-reconfigure tzdata。这会启动一个交互式的配置界面,要求用户选择所在的地区和城市,然后根据选择设置时区。

# 设置工作目录

工作目录是在容器中执行后续命令时的当前目录,WORKDIR /usr/src/app 表示将容器的工作目录设置为 /usr/src/app。这意味着在接下来的指令中,比如 COPY、RUN、CMD 等,将相对于这个工作目录进行操作。

COPY后面的那个 . 代表的是复制当前项目的所有文件,当然了你也可以把.换成你要复制的某个具体文件的路径,. 后面的路径代表的就是你要将文件复制到哪里

apt-get update:更新软件包列表,从软件源获取最新的软件包信息。

&&:用于在一行命令中连续执行多个命令。只有前一个命令成功完成(返回退出码为0),才会执行后续的命令。

apt-get install -y\:用于安装软件包,-y 参数表示自动回答“是”(yes)以避免安装过程中出现交互式提示。\:反斜线是换行符的转义符号,允许在 Dockerfile 中将一行命令分成多行,以提高可读性。

***:代表的就是你要安装的相关依赖或者软件包等等

rm -rf /var/lib/apt/lists/*:删除apt-get update时生成的缓存文件,以减少镜像的大小。这些缓存文件通常位于 /var/lib/apt/lists/ 目录下,占用空间较大。删除后不会影响已安装的软件包

./your_name是一个可执行文件的路径,它将作为容器启动时的默认命令。这意味着当你运行一个基于这个Docker镜像启动的容器时,它将自动执行 ./dool_stay_outtimes 这个命令。

走到这里,就代表你的Dockerfile文件创建完成了!!!

2.3.在终端中进入到包含 Dockerfile 的项目目录,运行以下命令来构建 Docker 镜像:

docker build -t your_image_name .

其中your_image_name是你希望给这个镜像的命名。

2.4.运行 Docker 容器,构建完成后,可以使用以下命令来运行你的容器:

docker run -it --rm your_image_name

如果你能成功运行,那么就代表你的docker打包也成功了!!!

2.5.保存镜像为.tar文件

docker save -o your_name.tar your_image_name

docker save:这是 Docker 命令行工具的一个子命令,用于将一个或多个 Docker 镜像保存为一个归档文件。 -o your_name.tar:这是选项参数,用于指定输出文件的名称。在这个例子中,-o 后面跟着 your_name.tar 表示将保存的文件命名为 your_name.tar。 your_image_name:这是指定要保存的 Docker 镜像的名称或 ID。在这个例子中,your_image_name 是要保存的 Docker 镜像的名称。

恭喜你,成功将自己的项目打包成了.tar文件!!!

推荐链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。