ubantu安装docker以及docker-compose

news2024/11/17 9:35:40

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.coloradmin.cn/o/1662818.html

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

相关文章

【Axure高保真原型】中继器版输入表单——多种输入方式

今天和大家分享中继器版输入表单——多种输入方式的原型模板&#xff0c;这个模板方便我们快速制作表单&#xff0c;里面包含了输入框、下拉列表、选择器共9种常用的元件&#xff0c;后续也可以根据需要自行添加到中继器里。这个原型模板是用中继器制作的&#xff0c;所以使用也…

基于Springboot+Vue的Java项目-宠物商城网站系统开发实战(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

腾讯互娱面经,希望别凉

面试题详解 Go接口 接口在Golang中扮演着连接不同类型之间的桥梁&#xff0c;它定义了一组方法的集合&#xff0c;而不关心具体的实现。接口的作用主要体现在以下几个方面&#xff1a; 多态性: 接口允许不同的类型实现相同的方法&#xff0c;从而实现多态性。这意味着我们可…

Qt5 互动地图,实现无人机地面站效果

一、概述 本文主要通过Qt5opmapcontrol实现一个简单的无人机地面站效果。opmapcontrol是一个比较古老的QT开源地面站库&#xff0c;可选择谷歌地图&#xff0c;必应地图&#xff0c; 雅虎地图&#xff0c;GIS等。可直接使用源码&#xff0c;也可以编译生成库进行调用。实现效果…

Android11 InputDispatcher 分发事件流程分析

在 Android11 InputReader分析 一文中分析到&#xff0c;InputReader将数据放入iq队列后&#xff0c;唤醒InputDispatcher线程&#xff0c;执行InputDispatcher的dispatchOnce方法 //frameworks\native\services\inputflinger\dispatcher\InputDispatcher.cpp void InputDispa…

软件测试之 接口测试 Postman使用

接口测试 URL HTTP协议 HTTP 请求部分 HTTP响应部分 Postman使用 界面介绍 这里 注意 如果你无法访问 那么 captchaImage这个打错了&#xff0c;给的资料中是错误的地址 https://kdtx-test.itheima.net/api/captchaImage登录接口 科大天下 第一个接口的登录设置 https://kd…

【生信技能树】数据挖掘全流程

R包的安装&#xff0c;每次做分析的时候先运行这段代码把R包都安装好了&#xff0c;这段代码不需要任何改动&#xff0c;每次分析直接运行。 options("repos""https://mirrors.ustc.edu.cn/CRAN/") if(!require("BiocManager")) install.packag…

【CCF-CSP】202403-4 十滴水

题目描述 十滴水是一个非常经典的小游戏。 小 C 正在玩一个一维版本的十滴水游戏。我们通过一个例子描述游戏的基本规则。 游戏在一个 1c 的网格上进行&#xff0c;格子用整数x(1≤x≤c) 编号&#xff0c;编号从左往右依次递增。网格内 m 个格子里有 1∼41∼4 滴水&#xff0…

【教程向】从零开始创建浏览器插件(四)探索Chrome扩展的更多常用API

探索Chrome扩展的更多常用API 在Chrome扩展开发中&#xff0c;除了最基础的API外&#xff0c;Chrome还提供了一系列强大的API&#xff0c;允许开发者与浏览器的各种功能进行交互。本文将介绍其中几个常用的API&#xff0c;并提供详细的示例代码帮助您开始利用这些API。 书签…

华为与达梦数据签署全面合作协议

4月26日&#xff0c;武汉达梦数据库股份有限公司&#xff08;简称“达梦数据”&#xff09;与华为技术有限公司&#xff08;简称“华为”&#xff09;在达梦数据武汉总部签署全面合作协议。 达梦数据总经理皮宇、华为湖北政企业务总经理吕晓龙出席并见证签约&#xff1b;华为湖…

free5gc容器端口映射

启动容器 docker-compose up -d 停止容器 docker-compose stop 随后进入webconsole进行终端配置&#xff0c;与free5gc-ue.yaml中配置一致 查看端口占用进程 sudo lsof -i :8080 结束占用端口进程 sudo kill -9 68465 停止指定容器 docker stop amf 获取docker中启动容器…

什么是Meme币?——区块链技术的加密货币

Meme代币是一种基于区块链技术的加密货币&#xff0c;旨在为用户提供一种简单、有趣且易于传播的方式来进行数字资产交易和投资。Meme代币通常与特定的主题或故事相关联&#xff0c;通过社交媒体等渠道进行传播和推广&#xff0c;吸引更多的用户参与并增加其价值。 Meme代币的…

GA-CNN-LSTM多输入时序预测|遗传算法-卷积-长短期神经网络|Matlab

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、算法介绍&#xff1a; 四、完整程序下载&#xff1a; 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 本代码基于Matlab平台编译&am…

在go-zero中使用jwt

gozero使用jwt 两个步骤 获取token验证token 前端获取token 先编写 jwt.api 文件&#xff0c;放在api目录下 syntax "v1"info (title: "type title here"desc: "type desc here"author: "type author here"email: &quo…

远程桌面连接不上怎么连服务器,原因是什么?如何解决?

远程桌面连接不上怎么连服务器&#xff0c;原因是什么&#xff1f;如何解决&#xff1f; 面对远程桌面连接不上的困境&#xff0c;我们有办法&#xff01; 当你尝试通过远程桌面连接服务器&#xff0c;但遭遇连接失败的挫折时&#xff0c;不要慌张。这种情况可能由多种原因引起…

W801学习笔记十九:古诗学习应用——下

经过前两章的内容&#xff0c;背唐诗的功能基本可以使用了。然而&#xff0c;仅有一种模式未免显得过于单一。因此&#xff0c;在本章中对其进行扩展&#xff0c;增加几种不同的玩法&#xff0c;并且这几种玩法将采用完全不同的判断方式。 玩法一&#xff1a;三分钟限时挑战—…

docker镜像nginx1.26.0版本,与删除docker容器【灵异事件】

为了http3 的这个模块&#xff0c;所以需要升级nginx的版本&#xff0c;需要nginx1.26.0才有 –with-http_v3_module 这个模块 为什么记录一下&#xff1f;因为觉得奇怪 1&#xff1a;删除nginx镜像&#xff0c;显示镜像还被某个容器在使用 luichunluichun:~$ docker rmi ng…

【雅思写作】Vince9120雅思小作文笔记——P1 Intro(前言)

文章目录 链接P1 Intro&#xff08;前言&#xff09;字数限制题型综述&#xff08;problem types overview&#xff09;1. **柱状图&#xff08;Bar Chart&#xff09;** - 描述不同类别在某个或多个变量上的数据量比较。2. **线图&#xff08;Line Graph&#xff09;** - 展示…

ICRA 2024 成果介绍:基于 RRT* 的连续体机器人高效轨迹规划方法

近来&#xff0c;连续体机器人研究受到越来越多的关注。其灵活度高&#xff0c;可以调整形状适应动态环境&#xff0c;特别适合于微创手术、工业⽣产以及危险环境探索等应用。 连续体机器人拥有无限自由度&#xff08;DoF&#xff09;&#xff0c;为执行空间探索等任务提供了灵…

【HMGD】GD32/STM32 DMA接收不定长串口数据

单片机型号&#xff1a;GD32F303系列 CubeMX配置 配置串口参数 开启DMA 开启中断 示例代码 使用到的变量 uint8_t RX_Buff_FLAG 0; uint8_t RX_Buff[300] {0}; uint8_t TX_Buff[300] {0};串口接收空闲函数 // 串口接收空闲函数 void HAL_UARTEx_RxEventCallback(UART_H…