从零开始安装、编译、部署 Docker

本文详细介绍如何在Debian系统上部署Docker环境,并通过实例演示如何制作基础软件镜像及部署Spring Boot应用。

简介

主要介绍如何从基础系统debian部署docker
关于docker基础知识在 相关资料 里有链接

安装docker

1、使用root用户身份添加apt源
添加public key使docker的安装源授信

$ curl -s 'https://sks-keyservers.net/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d56f59a178ac6c6238f52e' | sudo apt-key add --import

安装apt的https支持

sudo apt-get update && sudo apt-get install apt-transport-https

安装image虚拟化支持

sudo apt-get install -y linux-image-extra-virtual

添加apt源

echo "deb https://packages.docker.com/1.11/apt/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list

安装docker

apt-get update && apt-get install docker-engine

查看是否安装成功

docker info

看到以下信息就安装成功了

Containers: 1
 Running: 1
 Paused: 0
 Stopped: 0
Images: 15
Server Version: 1.11.2-cs3
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 17
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins: 
 Volume: local
 Network: bridge null host
Kernel Version: 3.16.0-4-amd64
Operating System: Debian GNU/Linux 8 (jessie)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 3.871 GiB
Name: debian
ID: IWCZ:QXXZ:VBUN:UMF7:XRG3:CMXB:6LUO:F65C:OA6B:75QQ:7SEW:3OKT
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/

制作基础软件镜像

jdk8

首选需要安装jdk,这里使用jdk8进行安装
download jdk
同目录下编写Dockerfile

FROM registry.cn-hangzhou.aliyuncs.com/yuuji/debian:latest

ADD jdk-8u101-linux-x64.tar.gz /opt

ENV JAVA_HOME /opt/jdk1.8.0_101

WORKDIR /usr/bin
RUN ln -s /opt/jdk1.8.0_101/bin/java java

目录结构如下:
screenshot
编译发布

docker build -t jdk8 . 

也可以在docker hub服务器创建仓库发布到远程

docker build -t registry.cn-hangzhou.aliyuncs.com/xxx/jdk8 . 
docker push registry.cn-hangzhou.aliyuncs.com/xxx/jdk8

发布后可以到远程查看,也可以使用命令查看

docker images
mave3

基于jdk8我们在制作一个maven3的image,步骤同上,我就不一一列举命令了;
Dockerfile

FROM registry.cn-hangzhou.aliyuncs.com/yuuji/jdk8:latest

ADD settings.xml /root/.m2/settings.xml
ADD apache-maven-3.3.9-bin.tar.gz /opt

WORKDIR /usr/bin
RUN ln -s /opt/apache-maven-3.3.9/bin/mvn mvn

发布,查看是否成功

制作软件错误

如果过程中遇到错误怎么办
使用 命令 docker images 如果看到了none的可以使用命令 docker rmi IMAGE ID 进行清理;
如果清理不掉的话是这个镜像被使用了,使用docker ps -a 然后找到使用的CONTAINER
然后 docker rm CONTAINER ID

编译项目与部署

这里是通过spring-boot首先项目可以启动
然后在项目跟目录下建立Dockerfile

FROM registry.cn-hangzhou.aliyuncs.com/yuuji/maven3:latest

EXPOSE 7001

RUN mkdir -p /opt/leona
WORKDIR /opt/leona
ADD . /opt/leona

RUN mvn clean install -Dmaven.test.skip

CMD ["java","-jar","target/leona.jar"]

端口号 7001 是你spring-boot web配置的

结构如下:
screenshot

然后编译image 同软件,这里我就不发布到远程了

docker build -t xxx .

最终的本地仓库docker images
screenshot

部署

已经编译好了软件和程序的image接下来就是部署了

docker run -d -p 7001:7001 xxx

检查一下curl localhost:7001

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
            <title>Leona</title>
    </head>
<body>
    hello word!
</body>
</html>

是不是很简单? 233

具体参数不解释了,可以自己查;

### DeepSeek 本地部署教程 #### 准备工作环境 为了成功完成 DeepSeek 的本地部署,需先确认并安装所需的软件依赖。这些依赖项涵盖了操作系统、容器化工具、编程语言等多个方面[^2]。 - **操作系统**:推荐使用 Linux 发行版,如 Ubuntu 或 CentOS。 - **容器化工具**:DockerDocker Compose 是首选方案,用于简化应用的打包和运行。 - **编程语言**:Python 版本应不低于 3.8。 - **深度学习框架**:PyTorch 或 TensorFlow 可选其一作为主要计算引擎。 - **数据库**:PostgreSQL 被广泛应用于存储结构化的元数据信息。 - **消息队列**:RabbitMQ 支持异步处理任务流。 - **Web 服务器**:Nginx 提供高效的反向代理服务。 - **GPU 加速工具**:CUDA Toolkit 结合 NVIDIA GPU 实现加速运算。 - **版本控制系统**:Git 有助于管理和追踪项目变更历史。 - **包管理工具**:Pipenv 或 Conda 方便地管理 Python 库及其依赖关系。 - **监控与日志工具**:Prometheus 配合 Grafana 进行情能监测;ELK Stack 处理日志聚合分析。 - **安全工具**:OpenSSL 确保通信过程中的安全性。 #### 获取源码及配置文件 访问官方 GitHub 仓库下载最新稳定版本的 DeepSeek 源代码,并按照 README.md 中给出的具体指示操作来获取必要的配置模板和其他资源文件[^1]。 ```bash git clone https://github.com/your-repo/deepseek.git cd deepseek ``` #### 设置环境变量 创建 `.env` 文件以定义应用程序所需的各种参数设置,比如端口号、API 密钥等敏感信息不应硬编码到程序内部而是通过这种方式传递给系统进程读取。 ```plaintext # .env example content PORT=8080 SECRET_KEY=mysecretkeyhere DATABASE_URL=postgresql://user:password@localhost/dbname?sslmode=require ``` #### 构建镜像和服务启动 利用 Dockerfile 来构建自定义的应用映像,在此基础上借助 docker-compose.yml 描述多容器组合的服务架构图谱从而实现一键式的集群初始化动作。 ```yaml version: '3' services: web: build: . ports: - "8080:80" depends_on: - db db: image: postgres:latest environment: POSTGRES_USER: user POSTGRES_PASSWORD: password POSTGRES_DB: dbname ``` 执行如下命令即可触发整个项目的编译与上线: ```bash docker-compose up --build ``` #### 测试验证功能正常与否 打开浏览器输入 `http://localhost:8080` 访问首页界面查看是否能够正确加载页面内容,同时也可以尝试调用 API 接口测试核心业务逻辑能否顺利响应请求返回预期的结果集。 #### 后续维护与发展规划 随着需求变化和技术进步不断优化现有体系结构,定期更新组件至新版本保持兼容性和性能优势的同时积极引入创新特性增强用户体验价值最大化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值