1.安装Centos
在linux中使用Ctrl+alt+T打开终端
验证网络
#如果你安装的是centos6 ifconfig eth0
ifconfig ens33 inet 192.168.1.34
# -c 4:ping 4次 测试访问次数
ping -c 4 www.baidu.com
远程连接
2.使用Docker安装软件
2.1 安装docker
2.1.1 查看有没有安装旧版本的
[root@localhost ~]# yum remove docker docker-common docker-selinux docker-engine
已加载插件:fastestmirror
参数 docker 没有匹配
参数 docker-common 没有匹配
参数 docker-selinux 没有匹配
参数 docker-engine 没有匹配
不删除任何软件包
2.1.2 安装依赖软件包
# yum-utils 提供的是yum-config-manager 另外两个是device-mapper驱动
[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
2.1.3 设置yum源
[root@localhost ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.1.4 查看所有docker版本
[root@localhost ~]# yum list docker-ce --showduplicates | sort -r
2.1.5 安装docker
[root@localhost ~]# yum install docker-ce -y
2.1.6 验证是否安装成功
[root@localhost ~]# docker version
2.1.7 启动并且设置为开机自动启动
# 启动 centos6 service docker start
[root@localhost ~]# systemctl start docker
# 开机自动启动 centos6 service docker enable
[root@localhost ~]# systemctl enable docker
# 查看启动状态
[root@localhost ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since 二 2021-08-17 21:58:15 EDT; 22s ago
Docs: https://docs.docker.com
Main PID: 13923 (dockerd)
CGroup: /system.slice/docker.service
└─13923 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
2.2 安装mysql
2.2.1 安装
[root@localhost ~]# docker pull mysql:5.7
2.2.2 查看镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7 6c20ffa54f86 15 hours ago 448MB
2.2.3 启动容器[root@localhost ~]# docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mydsql/data:/var/lib/mysql \
> -e MYSQL_ROOT_PASSWORD=123456 \
> -d mysql:5.7;
选项说明:
选项 | 说明 |
---|---|
-p | 端口映射,主机的3306端口 :容器的3306端口 |
-name | 容器名 |
-v | 主机跟容器目录映射关系 主机 :容器 |
-e | 配置信息,此处配置的是mysql默认密码 |
2.2.4 查看是否启动成功
# ps 表示当前正在运行的容器 ps -a 所有运行过的容器
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
be80aa96d6c0 mysql:5.7 "docker-entrypoint.s…" 6 minutes ago Up 6 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
2.2.5 问题:远程连接失败
1.防火墙
# 查看防火墙启动状态
[root@localhost ~]# systemctl status firewalld
# 开放端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重新加载防火墙
[root@localhost ~]# firewall-cmd --reload
# 关闭防火墙
[root@localhost ~]# systemctl stop firewalld
2.远程访问权限
# 进入mysql容器
[root@localhost ~]# docker exec -it mysql bash
root@be80aa96d6c0:/# ls
bin boot dev docker-entrypoint-initdb.d entrypoint.sh etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
# 进入mysql
root@be80aa96d6c0:/# mysql -uroot -p
Enter password:
# 使用哪个数据库
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
# 查看root用户可以在哪些地址上访问 % 表示任何地址
mysql> select host,user from user;
+-----------+---------------+
| host | user |
+-----------+---------------+
| % | root |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+---------------+
4 rows in set (0.00 sec)
# 如果上述你没有百分号,需要设置
mysql> grant all privileges on *.* to root@'%' identified by "123456";
Query OK, 0 rows affected, 1 warning (0.00 sec)
# 刷新
mysql> flush privileges;
# 刷新之后再去执行 select host,user from user;
2.2.6 问题:字符编码
# 查看字符编码
mysql> show variables like'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
# 设置字符编码
mysql> set names 'utf8';
Query OK, 0 rows affected (0.00 sec)
# 设置字符编码
mysql> set character_set_server=utf8;
Query OK, 0 rows affected (0.01 sec)
# 再次查看字符编码
mysql> show variables like'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
2.2.7 在图形化界面去导入sql
2.3 安装redis数据库
2.3.1 安装
# 下载镜像
[root@localhost ~]# docker pull redis:5.0.11
# 查看镜像
[root@localhost ~]# docker images
# 运行容器
[root@localhost ~]# docker run -p 6379:6379 --name redis \
-v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf \
-v /usr/local/docker/redis/data:/data \
-d redis:5.0.11 redis-server /etc/redis/redis.conf \
--appendonly yes
# 查看容器运行
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
74bd194b56a8 redis:5.0.11 "docker-entrypoint.s…" 6 seconds ago Up 6 seconds 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp redis
be80aa96d6c0 mysql:5.7 "docker-entrypoint.s…" 45 minutes ago Up 45 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
选项说明
选项 | 说明 |
---|---|
-d redis-server /etc/redis/redis.conf \ | 根据redis.conf配置文件启动redis-server |
--appendonly yes | redis启动后持久化数据 |