Docker常用軟件安裝

文章目錄

    • 1.安裝Tomcat
        • 1.docker hub查找鏡像并復制拉取鏡像命令
        • 2.拉取鏡像到本地
          • 1.執行官網命令
          • 2.查看是否拉取成功
        • 3.啟動tomcat
        • 4.退出和重啟
          • 1.由于是以交互方式啟動的,所以不方便,直接ctrl + c退出
          • 2.查看當前的容器
          • 3.使用docker start 命令啟動容器,這次就是后臺啟動了
        • 5.訪問tomcat首頁
          • 1.寶塔和騰訊云安全組開啟8080端口
          • 2.訪問首頁,發現是404,原因是新版的tomcat有所調整
          • 3.進入容器發現webapps沒有東西
          • 4.將空的webapps刪除,webapps.dist修改為webapps即可
          • 5.再次訪問,成功!
        • 6.刪除tomcat
          • 1.exit退出并強制刪除
          • 2.刪除鏡像
        • 7.安裝免修改版本的tomcat8
          • 1.直接運行run命令,如果本地沒有會自動去遠程倉庫拉
          • 2.查看運行狀態
          • 3.訪問首頁
    • 2.MySQL安裝
        • 1.拉取MySQL5.7到本地
        • 2.啟動mysql容器
        • 3.進入容器實例
        • 4.登錄mysql
        • 5.測試MySQL使用
        • 6.使用IDEA連接這個數據庫
          • 1.連接成功
          • 2.可以正常使用
        • 7.中文亂碼問題
          • 1.測試插入中文
          • 2.查看一下docker中的默認字符集編碼(在mysql容器內執行!)
        • 8.容器數據卷問題
          • 1.刪除這個mysql容器,此時數據都沒了,所以需要容器數據卷
        • 9.安裝mysql實戰版
          • 1.啟動mysql容器,并設置容器數據卷
          • 2.查看容器
            • 1.查看運行情況
            • 2.查看詳細信息
          • 3.解決中文亂碼問題
            • 1.進入/mysql5.7/mysql1/conf
            • 2.創建my.cnf并寫入配置內容
            • 3.重啟mysql容器使其生效
            • 4.重新登陸mysql容器,查看編碼
            • 5.插入中文測試
          • 4.測試刪除MySQL
            • 1.刪除
            • 2.再重新啟動mysql
            • 3.查看數據,成功恢復
    • 3.Redis常規安裝
        • 1.拉取redis:6.0.8到本地
        • 2.Redis基本使用(一般不這么用)
          • 1.啟動Redis
          • 2.進入Redis
          • 3.測試使用
        • 3.在宿主機新建目錄 /app/redis
        • 4.從redis6.0.8中得到一份redis.conf的配置文件
          • 1.將壓縮包上傳到/opt目錄下
          • 2.進入/opt目錄然后解壓
          • 3.復制一份redis.conf到/app/redis目錄下
        • 5.對配置文件進行修改
          • 1.編輯配置文件
          • 2.設置redis密碼 requirepass foobared
          • 3.使redis支持遠程訪問 bind 127.0.0.1 和 protected-mode
          • 4.設置daemonize no,如果是yes會與docker的-d方式沖突
        • 6.啟動Redis
        • 7.連接Redis
          • 1.使用exec命令進入
          • 2.連接redis-cli
          • 3.證明一下讀取到了自己的配置文件
            • 1.退出容器,修改/app/redis/redis.conf的databases為10
            • 2.重啟一下Redis容器
            • 3.重新連接redis-cli,測試,發現確實只有10個庫了
          • 4.使用Jedis連接Redis測試
            • 1.前提條件
            • 2.測試連接

1.安裝Tomcat

1.docker hub查找鏡像并復制拉取鏡像命令

https://hub.docker.com/

image-20240518141410475

image-20240518141433233

2.拉取鏡像到本地
1.執行官網命令
docker pull tomcat

image-20240518141558793

2.查看是否拉取成功
docker images tomcat

image-20240518141725161

3.啟動tomcat

image-20240518141830918

docker run -it -p 8080:8080 --name myfirtomcat tomcat

image-20240518141926716

4.退出和重啟
1.由于是以交互方式啟動的,所以不方便,直接ctrl + c退出
2.查看當前的容器
docker ps -a

image-20240518142128360

3.使用docker start 命令啟動容器,這次就是后臺啟動了
docker start myfirtomcat

image-20240518142237239

5.訪問tomcat首頁
1.寶塔和騰訊云安全組開啟8080端口
systemctl start firewalld && firewall-cmd --permanent --add-port=8080/tcp && firewall-cmd --reload && firewall-cmd --query-port=8080/tcp

image-20240518142802187

2.訪問首頁,發現是404,原因是新版的tomcat有所調整

image-20240518142908011

3.進入容器發現webapps沒有東西

image-20240518143324696

4.將空的webapps刪除,webapps.dist修改為webapps即可

image-20240518143438645

5.再次訪問,成功!

image-20240518143913603

6.刪除tomcat
1.exit退出并強制刪除

image-20240518144234105

2.刪除鏡像

image-20240518144352467

7.安裝免修改版本的tomcat8
1.直接運行run命令,如果本地沒有會自動去遠程倉庫拉
docker run -d -p 8080:8080 --name mytomcat8 billygoo/tomcat8-jdk8

image-20240518144634541

2.查看運行狀態

image-20240518144646105

3.訪問首頁

image-20240518144706497

2.MySQL安裝

1.拉取MySQL5.7到本地
docker pull mysql:5.7

image-20240518145307982

2.啟動mysql容器
  • 端口映射為8080
  • root的密碼為root
docker run -p 8080:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

image-20240518145852883

3.進入容器實例
docker exec -it 33fa76aff770 /bin/bash
4.登錄mysql
mysql -u root -p

image-20240518150219754

5.測試MySQL使用

image-20240518150509489

6.使用IDEA連接這個數據庫
1.連接成功
2.可以正常使用

image-20240518150828221

7.中文亂碼問題
1.測試插入中文

image-20240518151101769

2.查看一下docker中的默認字符集編碼(在mysql容器內執行!)
show variables like 'character%';

image-20240518151320024

8.容器數據卷問題
1.刪除這個mysql容器,此時數據都沒了,所以需要容器數據卷

image-20240518151519242

9.安裝mysql實戰版
1.啟動mysql容器,并設置容器數據卷
  • 端口映射為8080
  • root用戶密碼為root
  • /mysql5.7/mysql1/data 映射 /var/lib/mysql
  • /mysql5.7/mysql1/log 映射 /var/log/mysql
  • /mysql5.7/mysql1/conf 映射 /etc/mysql/conf.d
  • 容器名字為mysql1
docker run -d -p 8080:3306 --privileged=true \
-v /mysql5.7/mysql1/data:/var/lib/mysql \
-v /mysql5.7/mysql1/log:/var/log/mysql \
-v /mysql5.7/mysql1/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--name mysql1 mysql:5.7
2.查看容器
1.查看運行情況

image-20240518152237504

2.查看詳細信息
docker inspect mysql1

image-20240518152339695

3.解決中文亂碼問題
1.進入/mysql5.7/mysql1/conf
cd /mysql5.7/mysql1/conf
2.創建my.cnf并寫入配置內容
echo "[client]
default_character_set=utf8mb4[mysqld]
collation_server = utf8mb4_unicode_ci
character_set_server = utf8mb4" > my.cnf

image-20240518153142405

3.重啟mysql容器使其生效
docker restart mysql1
4.重新登陸mysql容器,查看編碼

image-20240518153448162

5.插入中文測試
create database db01;
use db01;
create table test
(id int,name varchar(32)
);
insert into test (id, name)
values (1, '孫顯圣');
select *
from test;

image-20240518153736825

4.測試刪除MySQL
1.刪除

image-20240518154123897

2.再重新啟動mysql
docker run -d -p 8080:3306 --privileged=true \
-v /mysql5.7/mysql1/data:/var/lib/mysql \
-v /mysql5.7/mysql1/log:/var/log/mysql \
-v /mysql5.7/mysql1/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--name mysql1 mysql:5.7

image-20240518154255546

3.查看數據,成功恢復

image-20240518155304563

3.Redis常規安裝

1.拉取redis:6.0.8到本地
docker pull redis:6.0.8
2.Redis基本使用(一般不這么用)
1.啟動Redis
docker run -d -p 8080:6379 redis:6.0.8

image-20240518160006255

2.進入Redis
docker exec -it 843638d7e126 /bin/bash
3.測試使用

image-20240518160146499

3.在宿主機新建目錄 /app/redis
mkdir -p /app/redis

image-20240518160711297

4.從redis6.0.8中得到一份redis.conf的配置文件
1.將壓縮包上傳到/opt目錄下

image-20240518163817117

2.進入/opt目錄然后解壓
cd /opt && tar -zxvf redis-6.0.8.tar.gz
3.復制一份redis.conf到/app/redis目錄下
cp /opt/redis-6.0.8/redis.conf /app/redis/redis.conf

image-20240518164226651

5.對配置文件進行修改
1.編輯配置文件
vim /app/redis/redis.conf

image-20240518164504437

2.設置redis密碼 requirepass foobared

image-20240503115631730

image-20240518165050143

3.使redis支持遠程訪問 bind 127.0.0.1 和 protected-mode

image-20240518165236159

image-20240503120110957

4.設置daemonize no,如果是yes會與docker的-d方式沖突

image-20240518165440730

6.啟動Redis
  • 端口映射為8080
  • 名字為myredis
  • /app/redis/redis.conf 掛載 /etc/redis/redis.conf
  • /app/redis/data:/data 掛載 /data
  • -d:后臺啟動
  • redis:6.0.8:鏡像名字
  • redis-server /etc/redis/redis.conf 指定容器中的配置文件
docker run -p 8080:6379 --name myredis --privileged=true \
-v /app/redis/redis.conf:/etc/redis/redis.conf \
-v /app/redis/data:/data -d redis:6.0.8 \
redis-server /etc/redis/redis.conf

image-20240518170422141

7.連接Redis
1.使用exec命令進入
docker exec -it myredis /bin/bash

image-20240518170642556

2.連接redis-cli
  • 這里的-p指向的是容器的redis端口默認是6379
  • -a參數指定密碼
redis-cli -p 6379 -a 
3.證明一下讀取到了自己的配置文件
1.退出容器,修改/app/redis/redis.conf的databases為10
vim /app/redis/redis.conf

image-20240518171645593

2.重啟一下Redis容器
docker restart myredis

image-20240518171809741

3.重新連接redis-cli,測試,發現確實只有10個庫了

image-20240518171920591

4.使用Jedis連接Redis測試
1.前提條件
  • 目前的redis在服務器上,端口是8080,也設置了密碼
  • 需要確保端口開放了
  • 確保前面對配置文件都進行了相應修改
2.測試連接

image-20240518172449151

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

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

相關文章

【cocos creator 】生成六邊形地圖

想要生成一個六邊形組成的地圖 完整代碼示例 以下是完整的代碼示例,包含了注釋來解釋每一步: cc.Class({extends: cc.Component,properties: {hexPrefab: {default: null,type: cc.Prefab},mapWidth: 10, // 網格的寬度(六邊形的數量&am…

前端React老項目打包caniuse-lite報錯解決思路

1、下載項目,先更新.npmrc文件: registryhttp://registry.npmmirror.com 2、安裝依賴,本地啟動,運行正常,但直接提交代碼線上打包時會報錯: “ 未找到相關的合并請求。” 打開日志頁面,報錯信息…

【Flutter】線性布局彈性布局層疊布局

🔥 本文由 程序喵正在路上 原創,CSDN首發! 💖 系列專欄:Flutter學習 🌠 首發時間:2024年5月25日 🦋 歡迎關注🖱點贊👍收藏🌟留言🐾 目…

4、PHP的xml注入漏洞(xxe)

青少年ctf&#xff1a;PHP的XXE 1、打開網頁是一個PHP版本頁面 2、CTRLf搜索xml&#xff0c;發現2.8.0版本&#xff0c;含有xml漏洞 3、bp抓包 4、使用代碼出發bug GET /simplexml_load_string.php HTTP/1.1 補充&#xff1a; <?xml version"1.0" encoding&quo…

內網穿透--Nps-自定義-上線

免責聲明:本文僅做技術交流與學習... 目錄 Nps項目: 一圖通解: 1-下載nps/npc 2-服務端啟動 訪問web網頁: 添加客戶端&#xff0c;生成密匙. 3-kali客戶端連接服務端 4-添加協議隧道. 5-kali生成后門&#xff1a; 6-kali創建監聽: Nps項目: https://github.com/ehang…

藍橋杯Web開發【模擬題一】15屆

1.動態的Tab欄 日常在使用移動端 APP 或訪問 PC 端網站的時候&#xff0c;常常發現在一些有工具欄或者 Tab 欄的頁面會有頂欄固定的效果。簡單來說&#xff0c;在頁面未開始滾動時頂欄處在其原有的位置上&#xff0c;當頁面向下滾動一定區域后&#xff0c;頂欄會跟隨滾動固定在…

HTTPS證書——網站如何實現HTTPS訪問?

實現網站HTTPS訪問可以簡化為以下四個基本步驟&#xff0c;確保過程既通俗易懂又條理清晰&#xff1a; 1. 申請SSL證書 - 目的&#xff1a;SSL證書是實現HTTPS加密的關鍵&#xff0c;它驗證了網站的身份&#xff0c;并提供了加密數據所需的密鑰。 - 操作&#xff1a;首先&…

超鏈接的魅力:HTML中的 `<a>` 標簽全方位探索!

&#x1f310;超鏈接的魅力&#xff1a;HTML中的 標簽全方位探索&#xff01; &#x1f3de;?基礎營地&#xff1a;認識 <a> 標簽&#x1f6e0;?基本語法&#x1f4da;屬性擴展 &#x1f680;實戰演練&#xff1a;超鏈接的多樣玩法&#x1f308;內鏈與外鏈&#x1f4c…

TypeScript(持續更新中...)

1.TypeScript是什么&#xff1f; TypeScript是javaScript的超集。 2.使用TypeScript 1&#xff09;全局安裝nodejs 2&#xff09;安裝TypeScript編譯器 npm i -g typescript 3.編譯ts文件 //注意&#xff1a;需要在ts文件同級目錄執行此命令&#xff0c;否則會報找不到…

遙感、GIS和GPS技術在水文、氣象、災害、生態、環境及衛生等領域中的應用

【科研必備】遙感、GIS和GPS技術在水文、氣象、災害、生態、環境及衛生等領域中的應用 (qq.com)https://mp.weixin.qq.com/s?__bizMzg2NDYxNjMyNA&mid2247565057&idx4&snecec1f5396132122acf02b188f7b74ac&chksmce6515eaf9129cfc9a6c4a16413c0d746003cc192132…

PostgreSQL 教程

## PostgreSQL 教程 ### 1. PostgreSQL 概述 PostgreSQL 是一個開源的對象關系型數據庫管理系統&#xff08;ORDBMS&#xff09;&#xff0c;以其高擴展性和合規性聞名&#xff0c;支持 SQL 和 JSON 查詢。 ### 2. 安裝與配置 - **下載與安裝**&#xff1a;從 PostgreSQL 官方…

C++ Primer Plus第十七章復習題

1、iostream文件在CI/O中扮演這種角色&#xff1f; 答&#xff1a; iostream文件定義了用于管理輸入和輸出的類、常量和操縱符,這些對象管理用于處理I/O的流和緩沖區。該文件還創建了一些標準對象(cin、cout、cerr和 clog以及對應的寬字符對象)&#xff0c;用于處理與每個程序…

【論文筆記】| 微調LLM晶體生成

【論文筆記】| 微調LLM晶體生成 Fine-Tuned Language Models Generate Stable Inorganic Materials as Text NYU, ICLR 2024 Theme&#xff1a;Material Generation Main work&#xff1a; 微調大型語言模型以生成穩定的材料 可靠性&#xff1a;在樣本結構中&#xff0c;90% …

如何修改WordPress網站的域名

我的網站用的是Hostease的虛擬主機&#xff0c;但是域名是之前在其他平臺買的&#xff0c;而且已經快到期了&#xff0c;因為主機和域名在不同的平臺上&#xff0c;管理不太方便&#xff0c;所以我又在Hostease重新注冊了一個域名&#xff0c;然后把網站換成了新的域名&#xf…

(Java企業 / 公司項目)配置Linux網絡-導入虛擬機

公司給了我一個IP地址 &#xff0c;提供了一個虛擬機或者自己搭建虛擬機&#xff0c;還有提供登錄的賬號密碼 可以查看我之前的文章 VMware Workstation Pro 17虛擬機超級詳細搭建&#xff08;含redis&#xff0c;nacos&#xff0c;docker, rabbitmq&#xff0c;sentinel&…

Oracle數據庫中的PCTUSED解析

PCTUSED是Oracle數據庫中與數據塊空間管理相關的另一個參數&#xff0c;它與PCTFREE共同作用于表空間的段管理。PCTUSED定義了一個數據塊中空閑空間的比例&#xff0c;低于這個比例時&#xff0c;塊被視為“足夠空閑”&#xff0c;可以再次用于插入新的數據行。其主要作用是提高…

3D透視圖模型轉模型變形?---模大獅模型網

3D建模是數字藝術和設計領域中的重要技術&#xff0c;它可以為我們帶來豐富多彩的視覺體驗和創意表達。在本文中&#xff0c;我們將探討一個引人注目的話題&#xff1a;3D透視圖中模型轉換是否會導致變形?通過深入探討這個問題&#xff0c;我們希望能夠幫助您更好地理解在3D建…

GitHub的原理及應用詳解(四)

本系列文章簡介&#xff1a; GitHub是一個基于Git版本控制系統的代碼托管平臺&#xff0c;為開發者提供了一個方便的協作和版本管理的工具。它廣泛應用于軟件開發項目中&#xff0c;包括但不限于代碼托管、協作開發、版本控制、錯誤追蹤、持續集成等方面。 GitHub的原理可以簡單…

【C++風云錄】數字邏輯設計優化:電子設計自動化與集成電路

集成電路設計&#xff1a;打開知識的大門 前言 本文將詳細介紹關于數字芯片設計&#xff0c;電子設計格式解析&#xff0c;集成電路設計工具&#xff0c;硬件描述語言分析&#xff0c;電路驗證以及電路優化六個主題的深入研究與實踐。每一部分都包含了主題的概述&#xff0c;…

如何通過軟件SPI讀寫W25Q64

STM32F1之SPI通信軟件SPI代碼編寫-CSDN博客 目錄 1. W25Qxx系列簡介 2. W25Q64硬件電路 3. W25Q64框圖 4. Flash操作注意事項 5. 代碼編寫 5.1 初始化 5.2 W25Q64讀取ID號 5.3 W25Q64寫使能 5.4 W25Q64等待忙 5.5 W25Q64頁編程 5.6 W25Q64扇區擦除&#x…