安裝docker,在docker上安裝mysql,docker上安裝nginx

目錄

一.安裝docker

1.1查看Linux版本的命令這里推薦兩種:

1.2查看內核版本有三種方式:

2.安裝

2.1 如果之前安裝了docker,先刪除舊版本的doker

2.2 安裝需要的軟件包,yum-util提供yum-config-manager功能,另外兩個是devicemapper驅動依賴

2.3 設置yum源

2.4 安裝docker

2.5 docker啟動并設置開機自啟

2.6 驗證docker是否安裝成功

二 dockers安裝mysql

1 拉取mysql鏡像

1.1 拉取提示超時,根據下面的博客解決

2 查看鏡像是否拉取成功

3 運行mysql鏡像,啟動實例/容器

?解讀:

3.1 docker啟動mysql失敗

4 連接mysql

?4.1 navicat連接mysql失敗

5 進入容器

6 查看mysql容器的詳情

三、docker安裝nginx

1 拉取nginx鏡像

2 創建并運行nginx容器

三 通用指令

1 將鏡像保存為文件,讓別人也能使用這個鏡像,以nginx為例

2? 啟動docker容器 docker start 容器名

?3 關閉docker容器

?4 刪除容器,需要先停止容器

5 刪除鏡像

6 查看鏡像

7 查看容器

一.安裝docker

1、Docker及系統版本 Docker從17.03版本之后分為CE(Community Edition: 社區版)和EE(Enterprise Edition: 企業版)。相對于社區版本,企業版本強調安全性,但需付費使用。這里我們使用社區版本即可。

Docker支持64位版本的CentOS 7和CentOS 8及更高版本,它要求Linux內核版本不低于3.10。

1.1查看Linux版本的命令這里推薦兩種:

lsb_release -a或cat /etc/redhat-release。

1.2查看內核版本有三種方式:

cat /proc/version
uname -a
uname -r

2.安裝

2.1 如果之前安裝了docker,先刪除舊版本的doker

`yum remove docker` \``docker-client \``docker-client-latest \``docker-common \``docker-latest \``docker-latest-logrotate \``docker-logrotate \``docker-selinux \``docker-engine-selinux \``docker-engine \``docker-ce`

2.2 安裝需要的軟件包,yum-util提供yum-config-manager功能,另外兩個是devicemapper驅動依賴

yum install -y yum-utils device-mapper-persistent-data lvm2

2.3 設置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

如果出現下載緩慢,或者如下圖的報錯,可以切換成國內的鏡像源,如阿里云

下載阿里云的docker鏡像倉庫文件

curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.4 安裝docker

sudo yum install -y docker-ce docker-ce-cli containerd.io

2.5 docker啟動并設置開機自啟

sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable docker

2.6 驗證docker是否安裝成功

docker --version

二 dockers安裝mysql

1 拉取mysql鏡像

sudo docker pull mysql:5.7

1.1 拉取提示超時,根據下面的博客解決

解決連接超時問題

2 查看鏡像是否拉取成功

sudo docker images

3 運行mysql鏡像,啟動實例/容器

sudo docker run --name mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
-d mysql:5.7 \
-v /mydata/mysql/conf:/etc/mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql

?解讀:

  • mysql/log: 存儲MySQL日志

  • mysql/data: 是數據庫文件(庫表數據存放處)存放的地方。必須要掛載到容器外,否則容器重啟一切數據消失。

  • mysql/conf: mysql配置,mysql啟動時讀取配置

  • 設置端口映射:外部訪問宿主機的端口3306,會將這個請求交給容器的3306端口處理,即可以讓外部訪問到容器

鏡像名稱組成: 鏡像名:鏡像的版本。如果沒有指定版本,默認是latest,代表最新的版本鏡像

查看docker啟動的容器執行情況(up狀態就是啟動成功)

# 查看啟動的容器進程
sudo docker ps
# 查看所有的容器
sudo docker ps -a

可以看到容器的狀態是啟動(up),創建時間33分鐘前,容器名稱mysql,linux的3306端口映射到了mysql的3306端口,所以之后連接linux的3306,相當于操作到了docker容器的mysql監聽的3306端口

3.1 docker啟動mysql失敗

? docker啟動mysql失敗

4 連接mysql

linux啟動linux安裝的mysql,使用

mysql -uroot -p

?4.1 navicat連接mysql失敗

? ?navicat連接mysql失敗

linux啟動docker安裝的mysql,使用

mysql -h 127.0.0.1 -P 3306 -u root -p

5 進入容器

mysql容器名

docker exec -it mysql /bin/bash

6 查看mysql容器的詳情

docker inspect mysql

三、docker安裝nginx

1 拉取nginx鏡像

docker pull nginx:1.20.2

2 創建并運行nginx容器

docker run -d --name nginx -p 80:80 nginx:1.20.2
  • -d:后臺運行容器。

  • -p 80:80:將容器的80端口映射到宿主機的80端口。

  • --name nginx:為容器指定一個名稱,這里是nginx

  • nginx:1.20.2:指定拉取的Nginx鏡像,如果在本地已經存在,就直接使用,如果不存在,就去鏡像倉庫拉取

出現下面的圖片就是成功

三 通用指令

1 將鏡像保存為文件,讓別人也能使用這個鏡像,以nginx為例

-o 將鏡像輸出為什么樣的文件,即將nginx:1.20.2的鏡像保存為nginx-1.20.2.tar的文件

docker save -o nginx-1.20.2.tar nginx:1.20.2

保存完之后通過xftp將linux的nginx文件下載下來,然后發送給別人,別人通過xftp上傳到宿主機上,然后使用指令解壓

-i 讀取哪一個文件

docker load -i nginx-1.20.2.tar

2? 啟動docker容器 docker start 容器名

# 啟動
docker start mysql
# 重啟
docker restart mysql

?3 關閉docker容器

docker stop mysql

?4 刪除容器,需要先停止容器

# 停止容器后
# 通過容器名刪除
docker rm 容器名
# 通過容器id刪除
docker rm 容器id
# 如果為停止容器,也可以使用下面的指令強制刪除
docker rm -f 容器名

5 刪除鏡像

# 通過鏡像名刪除
docker rmi 鏡像名:版本號
# 通過鏡像id刪除
docker rmi 鏡像id

6 查看鏡像

docker images

7 查看容器

docker ps

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

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

相關文章

Android killPackageProcessesLSP 源碼分析

該方法用于終止指定包名/用戶ID/應用ID下符合條件的應用進程,涉及多進程管理、資源凍結、進程清理及優先級更新等操作。核心流程分為進程篩選、資源凍結、進程終止與資源恢復三個階段。 /*** 從已排序的進程列表中,提取從指定起始索引 startIdx 開始的連…

openAICEO山姆奧特曼未來預測雄文之三個觀察

《三個觀察》 山姆奧特曼 這篇文章主要講的是關于AGI(人工通用智能)的未來發展及其對社會的影響,用大白話總結如下: 核心觀點: AGI是什么? AGI是一種能像人類一樣解決各種復雜問題的智能系統,比…

部署yolo到k230教程

訓練:K230 借助 AICube部署AI 視覺模型 YOLO等教程_嘉楠 ai cube多標簽分類-CSDN博客K230模型訓練ai cube報錯生成部署文件異常_aicube部署模型顯示生成部署文件異常-CSDN博客 部署: # 導入必要的庫和模塊 import os import ujson # 超快的JS…

Flask 應用封裝成 Docker 服務的完整技術指南

一、實現原理 容器化核心邏輯 Docker 通過將應用代碼、運行環境和依賴項打包成鏡像,實現環境一致性。Flask 應用容器化需包含: Python 基礎運行環境項目代碼及依賴庫(requirements.txt)WSGI服務器(如 Gunicorn&#xf…

windows上的 Vmware Workstation 環境搭建

本文的視頻版本:https://www.bilibili.com/video/BV1JhLRzyESh Vmware Workstation 是一款跨平臺的桌面級虛擬化軟件,可以使用 Vmware 創建虛擬機,我們一般使用 Linux 虛擬機(目前主流的 Linux 發行版是 Ubuntu)&…

Linux下終端命令行安裝常見字體示例

一、準備工作: 準備好要安裝的字體文件,如宋體、微軟雅黑(simsun.ttc、msyh.ttc)。進入字體路徑: /usr/share/fonts,使用root權限,新建一個目錄shell_fonts。 二、命令行安裝字體: 將要安裝…

CentOS中在線安裝Docker(超詳細)

1)檢查安裝docker的基本要求: 64位CPU架構的計算機,目前不支持32為CPU架構的計算機 系統的Linux內核版本為3.10及以上 開啟CGroups和namespace功能 2)使用命令查看當前系統的內核版本 [rootlocalhost ~]# uname -r 3.10.0-862…

武漢昊衡科技OLI光纖微裂紋檢測儀:高密度光器件的精準守護者

隨著AI技術應用越來越廣,算力需求激增,光通信系統正加速向小型化、高密度、多通道方向演進。硅光芯片、高速光模塊等核心器件內部的光纖通道數量成倍增加,波導結構愈發精細,傳統檢測手段因分辨率不足、效率低下,難以精…

Java數據結構——Stack

Stack 棧的概念和使用棧的概念棧的使用 棧的應用出棧元素序列有效的括號棧的壓入、彈出序列逆波蘭表達式最小棧 棧的概念和使用 棧的概念 棧(Stack):一種特殊的線性表,只允許再棧的一端進行插入和刪除元素,這一端點被稱為棧頂,另…

神經網絡與計算機視覺

2016 年,隨著 AlphaGo 在圍棋比賽中擊敗李世石,“人工智能”、“神經網絡”、“深度 學習”等字眼便越來越多的出現在大眾眼前,智能化好像成為一種不可逆轉的趨勢,帶給大家新奇感的同時也帶來了一絲憂懼:在不遠的未來,機器是否真的擁有思維和情感?《終結者》中天網大戰人…

VS2019 與gitcode團隊管理

1、安裝git 點擊下一步安裝即可 2、vs2019連接gitcode 然后更改本地的代碼添加文件等都可以進行遠程同步操作了

Python類和對象四(十三)

魔法方法: 按位運算 按位于運算 只要相同才是1 或運算: 只要某個位是1結果就是1 、 按位非 將結果取反 按位異或: 左移和右移運算符: 右移兩位 右移動n位,就是除以2的n次方 左移兩位: 左移n位就是乘…

如何設置極狐GitLab 議題截止日?

極狐GitLab 是 GitLab 在中國的發行版,關于中文參考文檔和資料有: 極狐GitLab 中文文檔極狐GitLab 中文論壇極狐GitLab 官網 截止日期 (BASIC ALL) 可以在議題中使用截止日期,來跟蹤截止日期并確保功能按時交付。用戶至少需要報告者權限才…

如何在 Conda 環境中降級 Python 版本:詳細指南

如何在 Conda 環境中降級 Python 版本:詳細指南 Python 版本的管理在開發過程中至關重要,特別是在處理不同項目需求時。對于使用 Conda 環境的 Python 程序員來說,版本管理不僅僅是安裝不同的 Python 版本,還涉及到依賴關系的兼容…

【隨筆】地理探測器原理與運用

文章目錄 一、作者與下載1.1 軟件作者1.2 軟件下載 二、原理簡述2.1 空間分異性與地理探測器的提出2.2 地理探測器的數學模型2.21 分異及因子探測2.22 交互作用探測2.23 風險區與生態探測 三、使用:excel 一、作者與下載 1.1 軟件作者 作者: DOI: 10.…

使用達夢官方管理工具SQLark快速生成數據庫ER圖并導出

在數據庫設計與開發中,實體-關系圖(ER 圖)作為數據建模的核心工具,能夠直觀呈現表結構、字段屬性及表間關系,是團隊溝通和文檔維護的重要工具。然而,對于許多使用達夢數據庫的開發者來說,可用的…

單精度浮點運算/定點運算下 MATLAB (VS) VIVADO

VIVADO中單精度浮點數IP核計算結果與MATLAB單精度浮點數計算結果的對比 MATLAB定點運算仿真,對比VIVADO計算的結果 目錄 前言 一、VIVADO與MATLAB單精度浮點數運算結果對比 二、MATLAB定點運算仿真 總結 前言 本文介紹了怎么在MATLAB中使用單精度浮點數進行運算…

力扣-141.環形鏈表

題目描述 給你一個鏈表的頭節點 head ,判斷鏈表中是否有環。 如果鏈表中存在環 ,則返回 true 。 否則,返回 false 。 class Solution { public:bool hasCycle(ListNode *head) {ListNode *fast head;ListNode *slow head;while (fast! n…

RESTful學習筆記(一)

Web發展 一、API 程序硬件接口(Application Programming Interface),是預先定義好的邏輯函數,軟件系統不同組成部分銜接的約定,直接調用函數,無序訪問代碼細節,分為SDK和Web應用接口兩類 SDK…

SD2351核心板:重構AI視覺產業價值鏈的“超級節點”

在AI視覺技術狂飆突進的當下,一個吊詭的現象正在浮現:一方面,學術界不斷刷新著ImageNet等基準測試的精度紀錄;另一方面,產業界卻深陷“算法有、場景無,技術強、落地難”的怪圈。明遠智睿SD2351核心板的問世…