使用Docker安装软件

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 yesredis启动后持久化数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值