Docker簡單介紹與使用以及下載對應鏡像(項目前置)

  • Docker
    • Docker安裝
    • Docker卸載
    • Docker配置鏡像源
      • 配置鏡像加速
    • Docker服務命令
      • 1.鏡像操作命令
      • 2.容器操作命令
    • 安裝Mysql
    • **數據卷掛載**

Docker

image-20250619191322288


在linux中軟件安裝說起:

以前在linux中安裝軟件,是直接安裝在linux操作系統中,軟件和操作系統耦合度很高,不方便管理.

因為linux版本不同,環境也就不同了.

docker是一種容器技術(軟件),提供標準的應用鏡像(包含應用+應用的依賴) , 我們就可以非常輕松在docker中安裝應用,每一個應用安裝好后,就是一個獨立的容器.解決軟件跨環境遷移的問題


主要功能:

  • 打包: 可以把軟件以及軟件的依賴打包制作成一個鏡像 (例如后面把springboot和jdk打包成一個鏡像)

  • 分發: 可以把打包好的鏡像上傳到鏡像倉庫,或者其他的linux系統中

  • 部署: 可以非常方便的進行安卓,只需要一個命令即可.


Docker安裝

1.安裝yum配置工具

yum install  -y  yum-utils

image-20250619192827251


2.配置docker的yum源

yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

image-20250619192937874

image-20250619193031606


3.安裝

yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

image-20250619193616356


4.測試

docker -v

image-20250619193637702


5.啟動,關閉,開機啟動

systemctl start dockersystemctl stop dockersystemctl enable docker   設置開機啟動  必須的

Docker卸載

停止服務

systemctl stop docker

卸載

yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin

刪除文件

rm -rf /var/lib/docker
rm -rf /var/lib/containerd

Docker配置鏡像源

由于國外的鏡像倉庫目前不能訪問,

所以我們需要配置一個其他的鏡像源地址

配置鏡像加速

在etc下創建docker

mkdir -p /etc/docker

進入docker目錄

 cd  /etc/docker

創建daemon.json文件

touch daemon.json  

修改文件

vim daemon.json
 {"registry-mirrors": ["https://dockerhub.icu"]}

重載配置

 systemctl daemon-reload

重啟

systemctl restart docker

Docker服務命令

鏡像(image):Docker將應用程序以及所需依賴、函數庫、環境、配置等文件打包在一起,稱為鏡像

容器(container):鏡像中的應用程序運行后形成的進程就行容器,只是Docker會給容器做隔離,對外部不可見

docker命令分兩大類:

1.鏡像操作命令

從鏡像倉庫下載鏡像到docker本地

docker pull [應用]

查看本地鏡像

docker images

1720925874307

刪除docker鏡像

docker rmi  鏡像名:版本/鏡像id

從docker保存鏡像到linux本地( 需要保存到linux中那個目錄, 進入到指定目錄執行保存命令)

docker save 鏡像名  > 鏡像名.tar

從linux本地 加載鏡像到docker中

docker load  鏡像名  <  鏡像名.tar

image-20250619202154321

2.容器操作命令

通過鏡像安裝

docker run 參數

查看容器

docker ps -a

啟動鏡像

docker start 容器名

停止容器

docker stop 容器名

刪除容器(卸載)

docker rm 容器名

image-20250619205547973

安裝Mysql

1.下載mysql鏡像

? 在線下載 docker pull mysql:8.0

? 加載本地鏡像 docker load

下載成功!!

image-20250619203945726

下載網絡問題

從Docker拉取鏡像一直失敗超時?這些解決方案幫你解決煩惱_docker拉取鏡像超時-CSDN博客

如果下載存在網絡問題,則在vim daemon.json添加一下設置

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

image-20250619203758097

2.安裝mysql容器

docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
--privileged=true \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
mysql:8.0

image-20250619205946020

3.啟動,停止,刪除容器

docker start  容器名  啟動容器docker stop  容器名    停止容器docker rm 容器名      刪除容器docker logs  容器名   查詢容器日志

4.進入到容器中的命令行

 docker   exec  -it  容器名    bash

image-20250619210548224

進入mysql
mysql -uroot -proot

image-20250619210628390

在mysql創建新的連接

Address寫自己虛擬機地址

eg我自己ip:192.168.80.128

image-20250619211005943

此時發現sql連接失敗,這是由于兩邊密碼的加密方式不一樣,所以我們需要改變加密方式

改變加密方式在mysql終端

ALTER USER  'root'@'%'  IDENTIFIED WITH mysql_native_password BY  'root';

image-20250619211215610

此時再去連接

image-20250619211238876

image-20250619211255982

退出

exit

數據卷掛載

容器是封閉的,與外界隔離的, 如果需要操作容器內的文件不方便,

可以將容器內的目錄 與 容器外(linux)中的目錄建議映射 掛載

創建mysql數據卷

mkdir -p /opt/mysql/data

安裝記得刪除之前的容器

docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
--privileged=true \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
-v /opt/mysql/data:/var/lib/mysql \mysql:8.0

image-20250619215334292

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/85850.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/85850.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/85850.shtml

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

相關文章

MyBatis 簡介

MyBatis 簡介 MyBatis 是一款優秀的持久層框架&#xff0c;它支持定制化 SQL、存儲過程以及高級映射&#xff0c;能夠幫助開發者將 Java 對象與數據庫表進行靈活映射&#xff0c;簡化數據持久化操作。以下從多個維度詳細介紹 MyBatis&#xff1a; 一、核心定位與優勢 輕量級…

自監督學習在合成孔徑聲吶目標識別中的應用之論文閱讀

自監督學習在合成孔徑聲吶目標識別中的應用 BW Sheffield 美國巴拿馬城海軍水面作戰中心 1 引言 在自主水下航行器(AUVs)中應用計算機視覺面臨著獨特的挑戰,因為海洋環境往往條件不可預測且極為嚴苛。傳統計算機視覺研究主要依賴光學相機成像,而在光照不足、懸浮沉積物及水…

進程間通信2(命名管道)linux

1 命名管道 前面講到匿名管道&#xff0c;有一個很大的限制&#xff0c;那就是只有具有相同祖先&#xff08;具有親緣關系&#xff09;的進程間才能進行通信&#xff0c;但是如果想實現不同進程間的通信&#xff0c;這個時候命名管道就發揮著巨大作用。 命名管道是一種特殊類…

簡單通過SenseVoice給自己配置一個語音轉文字服務

首先把代碼下載下來 gitgithub.com:FunAudioLLM/SenseVoice.git 然后寫一個docker文件 FROM ubuntu:latestRUN apt-get update -y RUN apt-get install -y python3-full python3-pip RUN mkdir -p /SenseVoice WORKDIR /SenseVoice RUN python3 -m venv . ENV USE_CUDA0 EXP…

網絡釣魚攻擊

?根據2023年Proofpoint年度網絡釣魚報告顯示&#xff1a;91%的針對性攻擊始于釣魚郵件&#xff0c;平均每30秒就有一個企業成為攻擊目標&#xff0c;全球損失超過$6.5B? 一、釣魚攻擊技術深度解析 1. 釣魚攻擊核心技術架構 2. 現代釣魚技術演進 ?攻擊向量升級路線? ?當前…

uvicorn api:app --host 0.0.0.0 --port 7777容器運行失敗

docker logs pycorrector-container-gpu 你這個報錯的核心是&#xff1a; ERROR: Error loading ASGI app, Could not import module "api".這說明&#xff1a; uvicorn api:app 沒有找到 api.py 文件&#xff0c;或者沒法導入 app 對象。 &#x1f50d; 一步步排查…

熱成像儀測MOSFET溫度

熱成像儀測MOSFET溫度 根據提供的搜索結果&#xff0c;熱測量方法主要分為非接觸式和接觸式兩大類&#xff0c;針對不同材料特性和測量場景各有優勢。以下是核心方法的總結及關鍵技術要點&#xff1a; &#x1f525; 一、非接觸式熱測量方法 紅外熱成像技術 原理&#xff1a;通…

Dagster資產元數據與標簽:數據治理的利器

在現代數據棧中&#xff0c;有效的數據治理至關重要。Dagster作為領先的數據編排平臺&#xff0c;提供了強大的資產元數據和標簽功能&#xff0c;幫助團隊更好地理解、組織和跟蹤數據資產。本文將深入探討Dagster中的資產元數據和標簽功能&#xff0c;展示如何利用這些功能提升…

基于物聯網的智能飲水機系統設計

標題:基于物聯網的智能飲水機系統設計 內容:1.摘要 隨著物聯網技術的快速發展&#xff0c;智能設備在日常生活中的應用越來越廣泛。本研究的目的是設計一種基于物聯網的智能飲水機系統&#xff0c;以提高飲水機的使用便捷性和智能化程度。方法上&#xff0c;通過傳感器實時監測…

DP讀書:NEC年終小結和顯示器【明基rd28u】

一點真實體驗_寫在ROBOCON2025國賽前 很久沒有寫這種關于感受的博客了&#xff0c;就用真實感受的角度來看看一次眾測的經歷&#xff0c;哈哈^ 差不多一個月前&#xff0c;我收到了明基的28寸顯示器&#xff0c;體驗了差不多2周左右&#xff0c;一直把顯示器掛在實驗室倉庫La…

Solana 一鍵冷分倉機制詳解:如何用技術手段構建健康的持倉結構

在 Solana 的快速發幣環境中&#xff0c;許多項目方在成功部署代幣后&#xff0c;會面臨一個共通問題——如何避免持倉結構過于集中。無論是初始鑄造的 Token、流動性預留份額&#xff0c;還是空投分發的準備金&#xff0c;如果長時間停留在單一錢包地址中&#xff0c;將在鏈上…

【智能體】dify部署本地步驟

從git克隆倉庫到本地 git clone https://github.com/langgenius/dify.git設置環境變量 cd dify cd docker cp .env.example .envdocker啟動 docker compose up -d在瀏覽器打開網址 http://localhost/install 登錄后即可使用

開源鴻蒙6.0 Beta1版本發布!深圳觸覺智能即將適配RK3566/RK3568/RK3576/RK3588等芯片

開放原子開源鴻蒙&#xff08;OpenAtom OpenHarmony&#xff0c;簡稱“開源鴻蒙”或“OpenHarmony”&#xff09;6.0 Beta1版本正式發布。相比5.1.0 Release版本進一步增強ArkUI組件能力&#xff0c;提供更安全、更靈活的組件布局&#xff1b;增強分布式數據管理能力&#xff0…

機器學習 (ML) 基礎入門指南

一、機器學習概述 &#xff08;一&#xff09;定義 在當今科技飛速發展的時代&#xff0c;機器學習作為人工智能的一個重要分支&#xff0c;正深刻地改變著我們的生活和工作方式。根據機器學習泰斗、卡耐基梅隆大學的湯姆米切爾 (Tom Mitchell) 教授的定義&#xff0c;機器學…

基于ARM ubuntu如何進行交叉編譯

場景總結&#xff1a; 平臺&#xff1a;x86 主機 工具鏈&#xff1a;aarch64-linux-gnu-gcc&#xff08;用于編譯 64-bit ARM 程序&#xff09; 目標&#xff1a;讓 gcc 自動使用 ARM Ubuntu rootfs 中的頭文件和庫&#xff08;位于 /opt/arm64-ubuntu&#xff09; 不希望每…

java+vue+SpringBoo社區藥房系統(程序+數據庫+報告+部署教程+答辯指導)

源代碼數據庫LW文檔&#xff08;1萬字以上&#xff09;開題報告答辯稿ppt部署教程代碼講解代碼時間修改工具 技術實現 開發語言&#xff1a;后端&#xff1a;Java 前端&#xff1a;vue框架&#xff1a;springboot數據庫&#xff1a;mysql 開發工具 JDK版本&#xff1a;JDK1.…

VS2022打Unity中的腳本斷點時出現當前不會命中斷點,找不到相應位置

今天遇到一個很傻的問題&#xff0c; 在新電腦中安裝了Unity和VS2022后&#xff0c;在Unity中打開一個新腳本&#xff0c;打斷點時報警告&#xff0c;如下&#xff1a; 原來在Unity中新建的腳本&#xff0c;如果沒有被使用&#xff0c;就會出現找不到位置的錯誤&#xff01; 反…

UVA489劊子手游戲

UVA489 劊子手的游戲 Hangman Judge - 洛谷 #include <bits/stdc.h> using namespace std;bool arr[26]; int main() {int n;while (cin >> n && n ! -1){string s1, s2;memset(arr, 0, sizeof(arr));cout << "Round " << n <&l…

bat腳本抓取android日志

一 通過bat腳本抓取日志到windows電腦本地 1 通過包名抓取日志 echo off chcp 65001 >nul echo 獲取 com.starauto.ac 的 PID… FOR /F “delims” %%i IN (‘adb shell pidof com.starauto.ac’) DO set PID%%i echo 當前 PID: %PID% echo 開始抓取日志&#xff0c;僅限…

java開發為什么要分層

在 Java 開發中,分層架構(Layered Architecture)是一個常見的設計模式,它將系統分為不同的層級(如表示層、業務邏輯層、數據訪問層等),每個層次都有不同的職責和功能。分層架構的設計能夠帶來很多好處,下面是一些主要原因: 1. 提高代碼的可維護性 模塊化:通過將系統…