Docker拉取镜像

拉取MySQL镜像

拉取

docker pull mysql:latest

创建 MySQL 容器

# 不指定本地映射文件
docker run --name mysql01 -p 3309:3306  -e MYSQL_ROOT_PASSWORD=root -d mysql:latest

# 指定本地映射文件(宿主机需提前创建文件夹)
docker run --name mysql01 -p 3306:3306  -e MYSQL_ROOT_PASSWORD=root -v /data/mysql/mysql01:/var/lib/mysql -d mysql:latest

启动与停止 MySQL 容器

# 1.使用 mysql-cli 访问
mysql-cli -h 127.0.0.1 -u root -p root

# 2.使用 Navicat 或 mysqlWorkbatch 等 mysql 图形界面工具连接
连接:127.0.0.1 端口:3306 用户名:root 密码:root

拉取指定版本的mysql

docker pull mysql:5.7

创建挂载目录

mkdir -p $HOME/docker/mysql57
cd $HOME/docker/mysql57

运行容器

方式一 不推荐

docker run -p 3306:3306 --name mysql57 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

方式二:推荐

docker run -p 3306:3306 --name mysql57 \
-v $PWD/conf:/etc/mysql \
-v $PWD/logs:/var/log/mysql \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci

方式二参数说明

–name:容器名,此处命名为mysql57
-v :挂载目录
-e:配置信息,此处配置mysql的root用户的登陆密码
-p:端口映射,此处映射 主机3306端口 到 容器的3306端口
-d:源镜像名,此处为 mysql:5.7并后台运行 后面为设置mysql的默认编码

同时拉取第二个mysql镜像

docker run --name mysql57 -p 3307:3306  -e MYSQL_ROOT_PASSWORD=root -v /home/docker/mysql57:/var/lib/mysql -d mysql:5.7

参数说明:建立一个名称为mysql57的mysql容器,
-d mysql:5.7表示容器版本,
-v 表示容器中的文件挂载到宿主机文件,:前面是宿主机文件,后面是容器文件
-e 表示连接的用户是root,密码是root
-p 表示宿主机端口:容器端口

Redis镜像

拉取

docker pull redis:latest

创建Redis容器

docker run -d --name redis01 -p 6379:6379 redis --requirepass "password"
上面可能导致连接不上,就用下面命令
docker run -itd --name redis-test -p 6379:6379 redis

连接Redis服务器

docker exec -it e231128 redis-cli

Nginx镜像

拉取

docker pull nginx:latest

启动容器

docker run -d --name nginx01 -p 8080:80 nginx:latest
# 将 nginx.conf 挂载到宿主机
docker run -d --name nginx01 -p 8080:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf nginx:latest

启动之后浏览器打开http://localhost:8080显示 Welcome to nginx! 即证明 nginx 安装成功。

Nginx 相关命令

    start nginx                 windows启动
    service nginx start         linux/mac启动
    nginx -c filename           为 nginx 指定一个配置文件,来代替缺省的。
    nginx -c filename -p /path  为 nginx 指定配置文件和日志存储位置
    nginx -s relaod             重启
    nginx -s stop               快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。
    nginx -s quit               平稳关闭Nginx,保存相关信息,有安排的结束web服务。
    nginx -t                    不运行,仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。
    nginx -v                    显示 nginx 的版本。
    nginx -V                    显示 nginx 的版本,编译器版本和配置参数。

RabbitMQ镜像

为什么RabbitMQ要增加查找镜像这一步呢,因为Rabbit有一个管理后台,我们需要在管理后台查看 MQ 的一些信息,所以 latest 版本不适合,我们可以在 docker hub上查找,我这里选择的是3.8.7-management

拉取

docker pull rabbitmq:3.8.7-management

启动镜像

# 访问http://localhost:15672 默认用户名密码都是guest 
docker run -d --name rabbitmq01 -p 5672:5672 -p 15672:15672 rabbitmq:3.8.7-management 
# 指定密码启动
docker run -d --name rabbitmq01 -p 5672:5672 -p 15672:15672 --hostname rabbitmq01 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 rabbitmq:3.8.7-management

访问 RabbitMQ 管理后台

浏览器中打开http://localhost:15672/ 输入用户名: admin ,密码: 123456 即可。