ubantu安装docker以及docker-compose

ubantu安装docker以及docker-compose

  • 安装docker
    • 1、从官方存储库中安装Docker
    • 2、启动Docker服务
    • 3、验证
  • 安装docker compose
  • 使用docker部署服务
    • 1、需要再opt文件夹下创建以下文件夹,/opt文件夹目录说明
    • 2、可将已备份对应文件夹拷至对应文件夹下
    • 3、在/opt/compose目录下执行命令,创建镜像,启动容器
    • 4、完毕后以下命令查看容器启动情况
    • 5、使用以下命令查看服务log日志
  • 设置docker自启动
    • 1、设置docker开机启动
    • 2、配置rc.local
    • 3、rc-local.service 服务开机启动:
    • 4、创建rc.local文件

安装docker

环境:Ubuntu23.04

1、从官方存储库中安装Docker

sudo apt update
sudo apt install docker.io

2、启动Docker服务

sudo systemctl start docker#使用以下命令设置Docker服务在系统启动时自动启动:
sudo systemctl enable docker

3、验证

使用以下命令验证Docker是否正确安装:

docker --version

如果安装正确,将显示Docker的版本信息。
4、测试docker运行使用
拉取镜像

sudo docker pull hello-world

运行镜像

sudo docker run hello-world

如下输出则说明docker运行正常:在这里插入图片描述

尝试搜索镜像:	sudo docker search hello-world
拉取测试镜像:	docker pull hello-world
查看镜像:		sudo docker images
run启动镜像: 	sudo docker run hello-world

5、使用
我们的应用程序需要部署在一个具有特定软件版本的环境中。我们可以使用Docker来创建一个包含这些特定软件版本的容器,并在其中运行我们的应用程序。

首先,在项目目录中创建一个名为Dockerfile的文件,并使用以下内容填充它:

FROM ubuntu:23.04# 安装所需软件版本
RUN apt update && apt install -y <software-package># 拷贝应用程序到容器
COPY /path/to/your/application /app# 设置工作目录
WORKDIR /app# 执行应用程序
CMD ["./your-application"]

在上面的Dockerfile中,我们使用FROM指令选择了基础镜像,这里选择的是Ubuntu 23.04版本。然后,我们使用RUN指令安装了我们所需的特定软件版本。接下来,使用COPY指令将我们的应用程序拷贝到容器中,并使用WORKDIR指令设置工作目录。最后,使用CMD指令执行应用程序。
接下来,打开终端并在项目目录中执行以下命令来构建Docker镜像:

docker build -t my-app-image .

这将根据当前目录中的Dockerfile构建一个名为my-app-image的镜像。

最后,使用以下命令来运行我们的应用程序:

docker run -it my-app-image

现在,我们的应用程序在一个具有特定软件版本的Docker容器中成功运行。

安装docker compose

安装 Docker Compose 需要先安装 Docker,因为 Docker Compose 是基于 Docker 引擎构建的。安装完成 Docker 后,可以使用以下命令下载最新版本的 Docker Compose:

# 安装curl
sudo apt install curl
# 安装Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

下载完成后,需要添加执行权限:

sudo chmod +x /usr/local/bin/docker-compose

验证 Docker Compose 是否安装成功,可以运行以下命令:

docker-compose --version

使用docker部署服务

1、需要再opt文件夹下创建以下文件夹,/opt文件夹目录说明

/opt/compose:docker容器编排文件及jar包文件夹
/opt/config:服务读取的config.xml配置文件
/opt/data:存储服务内的生成的文件
/opt/log:admin服务的log日志
/opt/package:部署的服务安装包

2、可将已备份对应文件夹拷至对应文件夹下

文件见:板卡所备份出的文件及文件夹

3、在/opt/compose目录下执行命令,创建镜像,启动容器

sudo docker-compose -f docker-compose.yml up -d

4、完毕后以下命令查看容器启动情况

sudo docker ps

5、使用以下命令查看服务log日志

sudo docker logs <容器id>

设置docker自启动

1、设置docker开机启动

sudo systemctl enable docker.service

2、配置rc.local

在文件末尾添加以下内容:

编辑 rc-local.service 文件,赋予修改权限
sudo chmod 777 /lib/systemd/system/rc-local.service 
sudo vim /lib/systemd/system/rc-local.service

3、rc-local.service 服务开机启动:

sudo systemctl enable rc-local.service
sudo systemctl status rc-local.service

4、创建rc.local文件

vim /etc/rc.local
文件内容,对应修改容器id,按下面启动服务顺序修改对应容器id


sleep 10s:docker restart <容器id>
sleep 16s:docker restart <容器id>
sleep 16s:docker restart <容器id>
sleep 18s:docker restart <容器id>
sleep 18s:docker restart <容器id>
sleep 18s:docker restart <容器id>
sleep 18s:docker restart <容器id>
sleep 18s:docker restart <容器id>
sleep 18s:docker restart <容器id>
sleep 18s:docker restart <容器id>

这里是重点啦,根据你自己的需求把docker容器id按顺序排列,时间也可以自己定。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/9946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

霍金《时间简史 A Brief History of Time》书后索引(A--D)

图源&#xff1a;Wikipedia INDEX A Abacus Absolute position Absolute time Absolute zero Acceleration Age of the universe Air resistance Albrecht, Andreas Alpha Centauri Alpher, Ralph Anthropic principle Antigravity Antiparticles Aristotle Arrows of time …

基于Vant UI的微信小程序开发(随时更新的写手)

基于Vant UI的微信小程序开发✨ &#xff08;一&#xff09;悬浮浮动1、效果图&#xff1a;只要无脑引用样式就可以了2、页面代码3、js代码4、样式代码 &#xff08;二&#xff09;底部跳转1、效果图&#xff1a;点击我要发布跳转到发布的页面2、js代码3、页面代码4、app.json代…

我觉得POC应该贴近实际

今天我看到一位老师给我一份测试数据。 这是三个国产数据库。算是分布式的。其中有两个和我比较熟悉&#xff0c;但是这个数据看上去并不好。看上去第一个黄色的数据库数据是这里最好的了。但是即使如此&#xff0c;我相信大部分做数据库的人都知道。MySQL和PostgreSQL平时拿出…

Spark Streaming笔记总结(保姆级)

万字长文警告&#xff01;&#xff01;&#xff01; 目录 一、离线计算与流式计算 1.1 离线计算 1.1.1 离线计算的特点 1.1.2 离线计算的应用场景 1.1.3 离线计算代表技术 1.2 流式计算 1.2.1 流式计算的特点 1.2.2 流式计算的应用场景 1.2.3 流式计算的代表技术 二…

kernel32.dll丢失要如何解决?电脑kernel32.dll文件下载方法

kernel32.dll丢失要怎么解决才好&#xff1f;其实针对这个问题还是有很多种的解决方法的&#xff0c;只要你明白了kernel32.dll的作用&#xff0c;了解kernel32.dll&#xff0c;那么就可以有很多种方法去解决&#xff0c;下面一起来看看吧。 一.了解kernel32.dll文件 kernel32…

6个超TM好用的神仙App推荐!

1. AI文本视频生成工具——Jurilu Jurilu 是一款功能强大的 AI 文本视频生成器&#xff0c;允许用户快速将文本内容转换成极具吸引力的视频。它的使用非常简单&#xff1a;只需要输入文字&#xff0c;选择想要的样式和模板&#xff0c;Jurilu 就会自动将文字转换成生动的视频。…

Vue项目npm install certificate has expired报错解决方法

1.Vue项目 npm install 安装依赖突然报错&#xff1a; npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.npm.taobao.org/zrender/download/zrender-4.3.0.tgz failed, reason: certificate has expired npm ERR! A com…

一个可以同时使用USB和WIFI传输文件到电脑的软件

双轨快传 结合USB2.0和WIFI6技术&#xff0c;通过1000Mbps网口实现每秒高达150MB的传输速率&#xff08;理论上可达40MB/s通过USB和110MB/s通过WIFI&#xff09;。 使用 模式 支持普通模式和Root模式&#xff0c;Root模式可访问~/Android/data/与/data/data/目录下的文件。 …

ETL-kettle数据转换及组件使用详解

目录 一、txt文本转换成excel 1、新建、转换 2、构建流程图 3、配置数据流图中的各个组件 3.1、配置文件文本输入组件 3.2、 配置Excel输出组件 4、保存执行 二、excel转换成mysql &#xff08;1&#xff09;在MySQL数据库中创建数据库&#xff0c;这个根据自身情况。我…

一文了解spring的aop知识

推荐工具 objectlog 对于重要的一些数据&#xff0c;我们需要记录一条记录的所有版本变化过程&#xff0c;做到持续追踪&#xff0c;为后续问题追踪提供思路。objectlog工具是一个记录单个对象属性变化的日志工具,工具采用spring切面和mybatis拦截器相关技术编写了api依赖包&a…

机器学习实战宝典:用scikit-learn打造智能应用

书接上文——《数据探险家的终极指南&#xff1a;用Python挖掘机器学习的奥秘》 前文我们在这段精彩的机器学习探险之旅中&#xff0c;从基础概念出发&#xff0c;深入探索了使用Python和scikit-learn库进行数据分析和模型构建的全过程。 我们首先了解了机器学习的基本原理&am…

Mysql 锁

锁 从锁的性能有乐观锁和悲观锁&#xff1b;锁的粒度有行锁、页锁、表锁&#xff1b;锁的对数据库操作类型有读锁、写锁、意向锁 乐观锁&#xff1a;采用cas机制&#xff0c;不会阻塞数据库操作&#xff0c;只会针对当前事务进行失败重试。(用于写操作不多的情况)悲观锁&…

[c++]多态的分析

多态详细解读 多态的概念多态的构成条件 接口继承和实现继承: 多态的原理:动态绑定和静态绑定 多继承中的虚函数表 多态的概念 -通俗的来说&#xff1a;当不同的对象去完成某同一行为时&#xff0c;会产生不同的状态。 多态的构成条件 必须通过基类的指针或者引用调用虚函数1虚…

C语言/数据结构——(链表的回文结构)

一.前言 今天在牛客网上刷到了一道链表题——链表的回文结构https://www.nowcoder.com/practice/d281619e4b3e4a60a2cc66ea32855bfa?&#xff0c;巧合的是它的解题思路恰好是我们一起分享过两道链表题的汇总。这两道题分别是反转链表和链表的中间节点。废话不多数&#xff0c…

Redis 源码安装和入门介绍

Linux下的redis源码安装 redis介绍 Redis 是一个开源&#xff08;BSD许可&#xff09;的&#xff0c;内存中的数据结构存储系统&#xff0c;它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构&#xff0c;如 字符串&#xff08;strings&#xff09;&#xff0c;…

智能商品计划系统:引领未来零售业的革新之路

随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;和大数据技术已成为推动各行业革新的关键动力。在零售行业中&#xff0c;智能商品计划系统的出现&#xff0c;正逐步改变着传统的商品规划与管理方式&#xff0c;为品牌注入新的活力与竞争力。本文将对智能商…

Java入门基础学习笔记14——数据类型转换

类型转换&#xff1a; 1、存在某种类型的变量赋值给另一种类型的变量&#xff1b; 2、存在不同类型的数据一起运算。 自动类型转换&#xff1a; 类型范围小的变量&#xff0c;可以直接赋值给类型范围大的变量。 byte类型赋值给int类型&#xff0c;就是自动类型转换。 pack…

Android 屏幕适配全攻略(中)-从九宫格到矢量图,揭秘Android多屏幕适配的正确打开方式

在移动互联网时代&#xff0c;无论是小小的手机屏幕&#xff0c;还是大大的平板显示器&#xff0c;Android 应用都必须做到完美适配&#xff0c;给用户以极佳的体验。本文将剖析 Android 多屏幕适配背后的种种技术细节&#xff0c;为您揭开最佳实践的正确打开方式&#xff0c;让…

速卖通ip地址会相互影响吗?如何防止账号关联?

在跨境电商行业&#xff0c;大部分平台都是不允许一个卖家操作多个店铺的&#xff0c;如果被平台检测出账户关联&#xff0c;可能会被封店。在速卖通平台&#xff0c;会通过IP地址来判断是否经营多个账号吗?IP地址会使店铺相互影响吗? 一、速卖通IP地址会关联吗? 首先各位卖…

解决mybatis的配置文件没代码提示的问题

1.将org.apache.ibatis.builder.xml包里的两个dtd文件复制出来&#xff0c;jar包里复制 2.复制dtd的url地址&#xff1a; http://mybatis.org/dtd/mybatis-3-mapper.dtd 一样的做法&#xff01; 3.关闭两个配置文件&#xff0c;重新打开&#xff0c;就可以有代码提示了&…