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.pswp.cn/web/9946.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/9946.shtml
英文地址,請注明出處:http://en.pswp.cn/web/9946.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python集合

集合是一個無序的不重復元素序列&#xff0c;集合中的元素必須是不可變類型 集合的創建與刪除 用{}直接創建 用集合推導式創建 用ser&#xff08;&#xff09;函數將列表&#xff0c;元組&#xff0c;range對象轉換成集合 numset1{1,2,3,4,5}numset2{x**2 for x in range(…

【代碼】Mysql 查詢近一個月各類型設備新增數量

錯誤示例 SELECT COUNT(*) AS count, p.type, d.active_date FROM device d LEFT JOIN product p ON d.product_id p.pid WHERE MONTH (active_date) MONTH (CURRENT_DATE - INTERVAL 1 MONTH) AND YEAR (active_date) YEAR (CURRENT_DATE - INTERVAL 1 MONTH) group by p.…

mysql高可用集群MGR組復制的介紹、部署及配置說明

前言 MGR全稱MySQL Group Replication(Mysql組復制),是MySQL官方于2016年12月推出的一個全新的高可用與高擴展的解決方案。MGR提供了高可用、高擴展、高可靠的MySQL集群服務。 高一致性:基于分布式paxos協議實現組復制,保證數據一致性; 高容錯性:自動檢測機制,只要不…

霍金《時間簡史 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代…

vue項目設置主題色

在vue開發過程中&#xff0c;很多頁面為了保持主題顏色統一&#xff0c;且方便后期管理&#xff0c;通常會設有主題色&#xff0c;通過主題色可以使得頁面上的按鈕單選框等控件保持顏色統一。 接下來介紹其中一種方法&#xff1a; 1.先建立一個js文件用于存放主題色&#xff…

我覺得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 流式計算的代表技術 二…

最小生成樹刷題筆記

算法基礎&#xff1a; 首先是prim算法三部曲&#xff1a; &#xff08;1&#xff09;找到距離最小生成樹最近的節點。 &#xff08;2&#xff09;將距離最小生成樹最近的節點加入到最小生成樹中。 &#xff08;3&#xff09;更新非最小生成樹節點到最小生成樹的距離。 實現…

HTML批量文件上傳3—Servlet批量文件處理FileUpLoad

作者:私語茶館 1.開源的文件上傳組件介紹 本文使用的是Apache Commons下面的一個子項目FileUpload,另外一個常見組件是SmartUpload。FileUpload遵循RFC 1897,即“Form-based File Upload in HTML”,對于請求需要滿足:HTTP協議,Post請求,content Type=“multipart/form-d…

Kafka 面試題(五)

1. kafka的消費者是pull(拉)還是push(推)模式&#xff0c;這種模式有什么好處&#xff1f; Kafka的消費者是pull&#xff08;拉&#xff09;模式。在這種模式下&#xff0c;消費者主動從Kafka的broker中拉取數據來進行消費。 這種pull模式的好處主要體現在以下幾個方面&#…

人工智能是什么

人工智能是一個廣泛的領域&#xff0c;其中包括了機器學習和深度學習。 - 機器學習&#xff1a; 是人工智能的一個子領域&#xff0c;它關注的是讓計算機系統通過學習數據&#xff0c;從中獲取知識并做出預測或決策&#xff0c;而無需明確地編寫特定的規則。機器學習的方法包括…

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…

代碼隨想錄-算法訓練營day35【貪心算法05:無重疊區間、劃分字母區間、合并區間】

代碼隨想錄-035期-算法訓練營【博客筆記匯總表】-CSDN博客 第八章 貪心算法 part05● 435. 無重疊區間 ● 763.劃分字母區間 ● 56. 合并區間 詳細布置 今天的三道題目&#xff0c;都算是 重疊區間 問題&#xff0c;大家可以好好感受一下。 都屬于那種看起來好復雜&#xff…

AI預測福彩3D+排3實戰化賺米驗證第6彈2024年5月10日第6次測試

由于最近幾天會比較忙&#xff0c;空閑時間較少&#xff0c;為了盡快的發布預測結果&#xff0c;今天繼續把3D和排3合并至一篇文章進行發布。好了&#xff0c;直接上結果吧&#xff5e; 1.5月10日3D預測結果 百位&#xff1a;4、5、6、3、1、0 十位&#xff1a;4、2、5、7、…

一個可以同時使用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…