【Docker安裝軟件,一篇就夠了】Docker安裝,Docker安裝Mysql8.0、Redis、RabbitMQ及常用命令

Docker安裝

1、Docker 要求

CentOS 系統的內核版本高於 3.10 ,先驗證你的CentOS 版本是否支持 Docker 。

[root@k8s-n1 ~]# uname -r
3.10.0-693.el7.x86_64

2、安裝docker

yum -y install docker

3、啓動docker

systemctl start docker.service

4、設置docker開機啓動

systemctl enable docker.service

Docker安裝Mysql

1、下載mysql鏡像

下載最新版本:docker pull mysql
下載指定版本:docker pull mysql:8.0.15
[root@k8s-n1 ~]# docker pull mysql:8.0.15

如下圖:
在這裏插入圖片描述

2、查看下載的mysql鏡像

[root@k8s-n1 ~]# docker images

如下圖:
在這裏插入圖片描述

3、創建目錄

[root@k8s-n1 /]# mkdir -p /mnt/mysql/data /mnt/mysql/logs /mnt/mysql/conf

4、啓動docker裏面的mysql鏡像

[root@k8s-n1 /]# docker run -p 3308:3306 --name trade_mysql -v /mnt/mysql/conf:/etc/mysql/conf.d -v /mnt/mysql/logs:/logs -v /mnt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d 7bb2586065cd

參數說明:
-v 掛載宿主機目錄和 docker容器中的目錄
-d 後臺運行
-p 映射容器端口號和宿主機端口號
-e 環境參數
7bb2586065cd 鏡像id( IMAGE ID )

查看容器啓動情況

docker ps

如果mysql啓動沒有成功,查看mysql啓動日誌

[root@k8s-n1 mysql/]#  docker logs -f trade_mysql
ERROR: mysqld failed while attempting to check config
command was: "mysqld --verbose --help"
mysqld: Can't read dir of '/etc/mysql/conf.d/' (OS errno 13 - Permission denied)
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!

如果出現上圖錯誤:

[root@k8s-n1 /]# docker run --privileged=true -p 3308:3306 --name trade_mysql -v /mnt/mysql/conf:/etc/mysql/conf.d -v /mnt/mysql/logs:/logs -v /mnt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d 7bb2586065cd

添加**–privileged=true**增加權限命令,啓動成功。

此時啓動已完成,在docker啓動鏡像時密碼加密使用的是caching_sha2_password,
在服務器端啓動默認使用mysql_native_password 加密的,
如需要使用外部工具連接,需要進入docker容器重置root密碼。
詳細操作如下:

5、進入docker容器修改Mysql

[root@k8s-n1 mysql]# docker exec -it trade_mysql /bin/sh

# mysql -u root -p

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

6、安裝成功

[root@k8s-n1 /]# docker ps

查看docker容器:
在這裏插入圖片描述
Navicat連接:
在這裏插入圖片描述

docker安裝Redis

1、使用docker查看Redis版本信息

[root@k8s-n1 /]# docker search redis

2、下載redis鏡像

[root@k8s-n1 /]# docker pull redis:4.0

如下圖:
在這裏插入圖片描述

3、查看下載鏡像的鏡像id

[root@k8s-n1 /]# docker images

4、啓動docker裏的redis鏡像

[root@k8s-n1 /]# docker run -itd --name trade_redis -p 6380:6379 8280a2c45ce5

參數說明:
-p 6380:6379:映射容器服務的 6379 端口到宿主機的 6380 端口。外部可以直接通過宿主機ip:6380 訪問到 Redis 的服務。
8280a2c45ce5 鏡像id( IMAGE ID )

5、安裝成功

[root@k8s-n1 /]# docker ps
  • 查看docker容器:
    在這裏插入圖片描述
  • RedisDesktopManager連接:
    在這裏插入圖片描述

6、測試Redis

  • 進入docker容器測試
$ docker exec -it redis-test /bin/bash

root@1d71ab146d19:/data# redis-cli

127.0.0.1:6379> set name test
OK
127.0.0.1:6379> get name
"test"
127.0.0.1:6379> 
  • 容器內部測試:
    在這裏插入圖片描述

docker下安裝RabbitMQ

1、docker拉取RabbitMQ鏡像

[root@k8s-n1 /]# docker pull rabbitmq:3.7.7-management

如下圖:
在這裏插入圖片描述

2、創建掛載目錄

[root@k8s-n1 /]# mkdir /mnt/rabbitMQ/data

3、查看下載鏡像的鏡像id

[root@k8s-n1 /]# docker images

在這裏插入圖片描述

4、啓動docker裏的RabbitMQ鏡像

[root@k8s-n1 /]# docker run -d --name rabbitmq3.7.7 -p 5672:5672 -p 15672:15672 -v /mnt/rabbitMQ/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin 2888deb59dfc

參數說明:
-d 後臺運行容器;
–name 指定容器名;
-p 指定服務運行的端口(5672:應用訪問端口;15672:控制檯Web端口號);
-v 映射目錄或文件;
–hostname 主機名(RabbitMQ的一個重要注意事項是它根據所謂的 “節點名稱” 存儲數據,默認爲主機名);
-e 指定環境變量;(RABBITMQ_DEFAULT_VHOST:默認虛擬機名;RABBITMQ_DEFAULT_USER:默認的用戶名;RABBITMQ_DEFAULT_PASS:默認用戶名的密碼)

5、啓動成功

[root@k8s-n1 /]# docker ps
  • 查看docker容器:
    在這裏插入圖片描述
  • 瀏覽器訪問
    用瀏覽器訪問http://192.168.2.21:15672 訪問成功,表示RabbitMQ安裝成功。
    在這裏插入圖片描述

Docker 常用命令

查看所有的鏡像

docker images

停止所有的容器

docker stop $(docker ps -a -q)

查看所有的容器

docker ps -a

獲取所有的容器的容器id

docker ps -a -q

刪除容器

docker rm 容器id

刪除所有的容器

docker rm $(docker ps -a -q)

刪除鏡像,需要先刪除容器,然後纔可以刪除鏡像。(未驗證)

docker rmi 鏡像id

獲取所有鏡像的id

docker images -q

刪除所有的鏡像

docker rmi -f $(docker images -q)

構建鏡像(注意鏡像名稱後面加 “空格.”)

docker build -t 鏡像名稱 .

運行docker鏡像

docker run 鏡像名稱

映射指定的ip啓動

docker run -d -p 宿主ip:虛擬機ip 鏡像名稱

查看docker運行的日誌log

docker logs 容器id(CONTAINER ID)

停止容器

docker stop 容器id(CONTAINER ID)

啓動容器

docker start 容器id(CONTAINER ID)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章