Docker安装mysql、redis、nginx

安装mysql

用docker安装上mysql,去docker仓库里搜索mysql

1.

sudo docker pull mysql:8.0.20

2.

mkdir -p /mydata/mysql/data

3.

mkdir -p /mydata/mysql/conf

4.

touch /mydata/mysql/my.cnf

5.

vi /mydata/mysql/my.cnf

6.在my.cnf中添加如下信息

[mysqld]

user=mysql

character-set-server=utf8

default_authentication_plugin=mysql_native_password

secure_file_priv=/var/lib/mysql

expire_logs_days=7

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

max_connections=1000

lower_case_table_names = 1

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

7.# --name指定容器名字 -v目录挂载 -p指定端口映射  -e设置mysql参数 -d后台运行

sudo docker run --restart=always -p 3306:3306 --name mysql \

-v /mydata/mysql/data:/var/lib/mysql \

-v /mydata/mysql/conf:/etc/mysql/conf.d \

-v /mydata/mysql/my.cnf:/etc/mysql/my.cnf \

-e MYSQL_ROOT_PASSWORD=root \

-d mysql:8.0.20

8.su root 密码为vagrant,这样就可以不写sudo了

[root@localhost vagrant]# docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES

6a685a33103f        mysql:5.7           "docker-entrypoint.s…"   32 seconds ago      Up 30 seconds       0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

9.

docker exec -it mysql bin/bash

10.

exit;

因为有目录映射,所以我们可以直接在镜像外执行

vi /mydata/mysql/conf/my.conf

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

skip-name-resolve

保存(注意评论区该配置不对,不是collection而是collation)

docker restart mysql

如何通过其他工具链接ssh

修改vi /etc/ssh/sshd_config

修改 PasswordAuthentication yes

systemctl restart sshd.service 或 service sshd restart

连接192.168.56.10:22端口成功,用户名root,密码vagrant

也可以通过vagrant ssh-config查看ip和端口,此时是127.0.0.1:2222

Redis

如果直接挂载的话docker会以为挂载的是一个目录,所以我们先创建一个文件然后再挂载,在虚拟机中。

# 在虚拟机中

mkdir -p /mydata/redis/conf

touch /mydata/redis/conf/redis.conf

docker pull redis

docker run -p 6379:6379 --name redis \

-v /mydata/redis/data:/data \

-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \

-d redis redis-server /etc/redis/redis.conf

# 直接进去redis客户端。

docker exec -it redis redis-cli

set a b

get a

默认是不持久化的。在配置文件中输入appendonly yes,就可以aof持久化了。修改完docker restart redis,docker -it redis redis-cli

vi /mydata/redis/conf/redis.conf

# 插入下面内容

appendonly yes

保存

docker restart redis

设置redis容器在docker启动的时候启动

docker update redis --restart=always

安装nginx

安装nginx为P124的内容

docker pull nginx:1.10

# 随便启动一个nginx实例,只是为了复制出配置

cd /mydata

mkdir /mydata/nginx

docker run -p 80:80 --name nginx -d nginx:1.10

docker container cp nginx:/etc/nginx .

然后在外部 /mydata/nginx 有了一堆文件

# 停掉nginx

docker stop nginx

docker rm nginx

mv nginx conf

mkdir nginx

mv conf nginx/

# 创建新的nginx

docker run -p 80:80 --name nginx-81 \

-v /mydata/nginx/html:/usr/share/nginx/html \

-v /mydata/nginx/logs:/var/log/nginx \

-v /mydata/nginx/conf:/etc/nginx \

-d nginx:1.10

docker run --network=host --name nginx-81 \

-v /mydata/nginx/html:/usr/share/nginx/html \

-v /mydata/nginx/logs:/var/log/nginx \

-v /mydata/nginx/conf:/etc/nginx \

-d nginx:1.10

docker update nginx-81--restart=always

测试

cd /mydata/nginx/html/

vi index.html

随便写写

测试 http://192.168.56.10:80

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要启动MySQLRedisDocker容器,可以按照以下步骤操作: 启动MySQL容器: 1. 拉取MySQL镜像:使用命令`docker pull mysql:5.7`或`docker pull mysql:8`,分别拉取MySQL 5.7和MySQL 8镜像。 2. 运行MySQL容器:使用命令`docker run -d -p 3306:3306 -v E:/DB/MySQL5.7/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD='1qaz@WSX3edc' --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci`,该命令会创建一个名为mysql的容器,并将宿主机的数据目录映射到容器内的/var/lib/mysql目录,同时设置MySQL的根密码为'1qaz@WSX3edc'。 启动Redis容器: 1. 拉取Redis镜像:可以在Docker Hub上找到Redis的各个版本号,使用命令`docker pull redis:版本号`来拉取相应版本的Redis镜像。 2. 运行Redis容器:使用命令`docker run -d --name redis redis:版本号`,将版本号替换为你想要启动的Redis版本号。该命令会创建一个名为redis的容器,使用指定的Redis版本。 这样,你就成功启动了MySQLRedisDocker容器。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【Dockerdocker启动MySQLRedis、Linux等应用](https://blog.csdn.net/qq_45277554/article/details/129292385)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [docker安装启动redisnginxmysql8详解](https://blog.csdn.net/qq_45473439/article/details/117191207)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值