Docker--Docker Container(容器) 之容器實戰

對docker容器的前兩篇文章
Docker–Docker Container(容器) 之 操作實例
Docker–Docker Container(容器)

Mysql容器化安裝

我們可以先在Docker Hub上查看對應的Mysql鏡像,拉取對應的鏡像:

拉取mysql5.7版本的鏡像:

docker pull mysql:5.7

運行容器,并設置密碼和端口映射:

docker run --name mysql -e MYSQL_R00T_PASSW0RD=123456 -p 8090:3306 -d mysql:5.7

使用以下命令查看容器是否在運行:

docker ps

進入容器的端口界面:

docker exec -it mysql bash

然后登錄上Mysql:

bash-4.2# mysql -p

看一下數據庫列表:
在這里插入圖片描述

還可以通過workbench軟件遠程訪問到mysql容器:
在這里插入圖片描述
設置好映射端口和主機ip后,輸入密碼就能遠程訪問;
在這里插入圖片描述

輸入show databases 進行查看:
在這里插入圖片描述

docker stop mysql
docker rm mysql

釋放空間

注意事項:
端口映射:如果需要從主機訪問MySQL服務,可以在創建容器時使用-p參數映射端口。
數據持久化:為了保證數據不丟失,可以使用-v參數掛載數據目錄到主機。
安全性:不要在生產環境中使用默認的root密碼和端口,以及不要將敏感信息暴露在環境中。

Redis容器化安裝

在Docker Hub上搜索Redis鏡像,可以使用以下命令:

docker search redis

拉取redis7.0版本的鏡像:

docker pult redis:7.0

運行容器redis,并設置端口映射:

docker run --name redis -p 8089:6379 -d redis:7.0

進入redis容器運行界面,并運行redis :

root@VM-8-12-ubuntu:~# docker exec -it redis bash 
root@545e7a6a42ec:/data# redis-cli

設置一個key:
在這里插入圖片描述
也可以通過軟件Redis Desktop Manager 遠程訪問Redis容器:
在這里插入圖片描述
釋放空間:

docker stop redis
docker rm redis

注意事項:

  • 安全性:不要在生產環境中使用默認的密碼和端口,以及不要將敏感信息暴露在環境中。可以通過修改redis.conf配置文件來設置密碼和其他安全選項。
  • 資源限制:根據實際需求為Redis容器分配適當的CPU、內存和磁盤資源。可以使用Docker的–cpus、–memory和–storage-opt等參數來限制容器的資源使用。
  • 備份與恢復:定期備份Redis數據,并測試恢復過程以確保數據的安全性和可恢復性

C++容器簡單制作

拉取一個ubuntu22.04的鏡像:

docker pull ubuntu:22.04

運行ubuntu容器:

docker run --name mygcc -it ubuntu:22.04 bash

在ubuntu鏡像中下載vim:

apt update
apt install gcc vim -y

然后編輯一個demo.c C文件

#include <stdio.h>
int main()
{
printf("hello docker!\n");
return 0;
}

編譯代碼并生成可執行程序

gcc -o demo demo.c

在這里插入圖片描述
退出并刪除mygcc容器 :

exit
docker rm mygcc

容器資源更新

運行容器mynginx,映射端口為8080 ,后臺運行 :

docker run -d --name mynginx1 -p 8080:80 nginx:1.23.4

對于命令 docker top 加上 aux 就能查看cpu和內存資源:
在這里插入圖片描述
也可通過指令docker stats 來實時查看不斷追蹤資源使用情況:

docker stats

在這里插入圖片描述
通過資源更新將內存上限調為300m :

docker update -m 300m --memory-swap 600m mynginx1

查看資源使用情況可以看到內存上限變為300m :
在這里插入圖片描述
進入mynginx1運行端口 :

docker exec -it mynginx1 bash

我們在容器中執行一個命令,打滿 cpu:

for i in `seq 1 $(cat /proc/cpuinfo | grep "physical id" |wc -l)`; 
do     
dd if=/dev/zero of=/dev/null &  
done

#cat /proc/cpuinfo |grep “physical id” | wc -l 可以獲得 CPU 的個數,我們將其表示為 N
#seq 1 N 用來生成1到N之間的數字 , 通過for循環 不斷執行命令 1-N;
#for i in seq 1 N; 就是循環執行命令,從1到N
#dd if=/dev/zero of=/dev/null 執行 dd 命令, 輸出到/dev/null, 實際上只占用 CPU, 沒有 IO 操作
#由于連續執行N個(N是 CPU 個數)的 dd 命令, 且使用率為 100%, 這時調度器
會調度每個 dd 命令在不同的 CPU 上處理,最終就實現所有CPU占用率 100%

更新容器mynginx1 的cpu上限為10%:

docker update --cpu-period=100000 --cpu-quota=10000 mynginx1

在這里插入圖片描述
停止運行的容器,并釋放資源:

docker stop mynginx1
docker rm mynginx1

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

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

相關文章

ModuleNotFoundError: No module named ‘torchvision.transforms.functional_tensor‘

問題&#xff1a; 運行代碼時&#xff0c;報錯&#xff1a; … File “/home/xzy/anaconda3/envs/groundinggpt/lib/python3.10/site-packages/pytorchvideo/transforms/augmix.py”, line 6, in from pytorchvideo.transforms.augmentations import ( File “/home/xzy/anac…

【匯編語言】內中斷(二) —— 安裝自己的中斷處理程序:你也能控制0號中斷

文章目錄 前言1. 編程處理0號中斷1.1 效果演示1.2 分析所要編寫的中斷處理程序1.2.1 引發中斷1.2.2 中斷處理程序1.2.3 中斷處理程序do0應該存放的位置1.2.4 中斷向量表的修改1.2.5 總結 1.3 程序框架1.4 注意事項1.5 從CPU的角度看中斷處理程序1.6 一些問題的思考與解答 2. 安…

華為OD E卷(100分)23-連續字母長度

前言 工作了十幾年&#xff0c;從普通的研發工程師一路成長為研發經理、研發總監。臨近40歲&#xff0c;本想辭職后換一個相對穩定的工作環境一直干到老, 沒想到離職后三個多月了還沒找到工作&#xff0c;愁腸百結。為了讓自己有點事情做&#xff0c;也算提高一下自己的編程能力…

VS2019中無法跳轉定義_其中之一情況

我習慣了使用VS2019看stm的代碼&#xff1b; 遇到的問題&#xff0c;在導入代碼后&#xff0c;發現有些函數調用不能跳轉到定義&#xff1b; 問題描述步驟 1、導入代碼 2、跳轉&#xff0c;無法跳轉 1、中文路徑 2、刪除.vs文件 和網上查的都沒辦法解決 最后發現是VS不支持 …

讓 Win10 上網本 Debug 模式 QUDPSocket 信號槽 收發不丟包的方法總結

在前兩篇文章里&#xff0c;我們探討了不少UDP丟包的解決方案。經過幾年的摸索測試&#xff0c;其實方法非常簡單, 無需修改代碼。 1. Windows 下設置UDP緩存 這個方法可以一勞永逸解決UDP的收發丟包問題&#xff0c;只要添加注冊表項目并重啟即可。即使用Qt的信號與槽&#…

【設計模式】觀察者模式深度講解

文章目錄 概覽一、定義與特點二、角色與職責三、實現方式四、應用場景五、優缺點 Java實現Python實現 概覽 觀察者模式&#xff08;Observer Pattern&#xff09;是一種行為型設計模式&#xff0c;它定義了一種一對多的依賴關系&#xff0c;讓多個觀察者對象同時監聽某一個主題…

Elasticsearch:ES|QL 中的全文搜索 - 8.17

細心的開發者如果已經閱讀我前兩天發布的文章 “Elastic 8.17&#xff1a;Elasticsearch logsdb 索引模式、Elastic Rerank 等”&#xff0c;你就會發現在 8.17 的發布版中&#xff0c;有一個重要的功能發布。那就是 ES|QL 開始支持全文搜索了。在今天的文章中我們來嘗試一下。…

SQL和Python 哪個更容易自學?

SQL和Python不是一個物種&#xff0c;Python肯定更難學習。如果你從事數據工作&#xff0c;我建議先學SQL、有余力再學Python。因為SQL不光容易學&#xff0c;而且前期的投入產出比更大。 SQL是數據查詢語言&#xff0c;場景限于數據查詢和數據庫的管理&#xff0c;對大部分數據…

【unity】從零開始制作平臺跳躍游戲--界面的認識,添加第一個角色!

在上一篇文章中&#xff0c;我們已經完成了unity的環境配置與安裝?? 【Unity】環境配置與安裝-CSDN博客 接下來&#xff0c;讓我們開始新建一個項目吧&#xff01; 新建項目 首先進入unityHub的項目頁面&#xff0c;點擊“新項目”&#xff1a; 我們這個系列將會以2D平臺…

怎么禁用 vscode 中點擊 go 包名時自動打開瀏覽器跳轉到 pkg.go.dev

本文引用怎么禁用 vscode 中點擊 go 包名時自動打開瀏覽器跳轉到 pkg.go.dev 在 vscode 設置項中配置 gopls 的 ui.navigation.importShortcut 為 Definition 即可。 "gopls": {"ui.navigation.importShortcut": "Definition" }ui.navigation.i…

Unity3D實現抽象類的應用場景例子

系列文章目錄 unity知識點 文章目錄 系列文章目錄??前言??一、示例??二、使用步驟??三、抽象類和接口的區別??3-1、抽象類??3-2、接口類??壁紙分享??總結??前言 假設我們正在制作一個游戲,游戲中有多種不同類型的角色,這些角色都有一些共同的行為(比如移…

數據倉庫工具箱—讀書筆記01(數據倉庫、商業智能及維度建模初步)

數據倉庫、商業智能及維度建模初步 記錄一下讀《數據倉庫工具箱》時的思考&#xff0c;摘錄一些書中關于維度建模比較重要的思想與大家分享&#x1f923;&#x1f923;&#x1f923; 博主在這里先把這本書"變薄"~有時間的小伙伴可以親自再讀一讀&#xff0c;感受一下…

docker啟動一個helloworld(公司內網服務器)

這里寫目錄標題 容易遇到的問題&#xff1a;1、docker連接問題 我來介紹幾種啟動 Docker Hello World 的方法&#xff1a; 最簡單的方式&#xff1a; docker run hello-world這會自動下載并運行官方的 hello-world 鏡像。 使用 Nginx 作為 Hello World&#xff1a; docker…

計算機組成原理(五):程序裝載

在計算機組成原理中&#xff0c;程序裝載&#xff08;Program Loading&#xff09;是指將程序從外存&#xff08;如磁盤&#xff09;加載到內存中&#xff0c;并為其運行做好準備的過程。程序裝載是實現程序從靜態存儲狀態到動態運行狀態的關鍵環節&#xff0c;涉及地址映射、內…

Python+OpenCV系列:模版匹配

文章目錄 1. 模板匹配基本原理2. cv2.matchTemplate() 函數函數原型&#xff1a; 3. 模板匹配步驟4. 單目標模板匹配示例5. 多目標模板匹配多目標模板匹配示例代碼解析&#xff1a; 6. 多模板匹配多模板匹配示例代碼解析 7. 總結 模板匹配是一種在圖像中尋找模板的位置的方法。…

基于IEEE 802.1Qci的時間敏感網絡(TSN)主干架構安全分析及異常檢測系統設計

中文標題&#xff1a;基于IEEE 802.1Qci的時間敏感網絡&#xff08;TSN&#xff09;主干架構安全分析及異常檢測系統設計 英文標題&#xff1a;Security Analysis of the TSN Backbone Architecture and Anomaly Detection System Design Based on IEEE 802.1Qci 作者信息&…

怎樣提升企業網絡的性能?

企業網絡的穩定性和高效性直接影響員工的工作效率。以下從多維度分析了一些有效策略&#xff0c;幫助公司提升網絡性能&#xff0c;營造更高效的辦公環境。 1. 升級網絡設備 采用性能更高的網絡硬件是優化網絡體驗的重要基礎。選擇支持高吞吐量、低延遲的設備&#xff08;如企業…

scala基礎_數據類型概覽

Scala 數據類型 下表列出了 Scala 支持的數據類型&#xff1a; 類型類別數據類型描述Scala標準庫中的實際類基本類型Byte8位有符號整數&#xff0c;數值范圍為 -128 到 127scala.Byte基本類型Short16位有符號整數&#xff0c;數值范圍為 -32768 到 32767scala.Short基本類型I…

力扣239.滑動窗口最大值

文章目錄 一、前言二、單調隊列 一、前言 力扣239.滑動窗口最大值 滑動窗口最大值&#xff0c;這道題給定一個數組&#xff0c;以及一個窗口的長度&#xff0c;這個窗口會往后滑動&#xff0c;直到數組最后一個元素。 要求每個滑動窗口的中的最大值。對于這道題&#xff0c;我…

mac 安裝CosyVoice (cpu版本)

CosyVoice 介紹 CosyVoice 是阿里研發的一個tts大模型 官方項目地址&#xff1a;https://github.com/FunAudioLLM/CosyVoice.git 下載項目&#xff08;非官方&#xff09; git clone --recursive https://github.com/v3ucn/CosyVoice_for_MacOs.git 進入項目 cd CosyVoic…