美文网首页
linux 在线安装docker、redis、mysql5.7

linux 在线安装docker、redis、mysql5.7

作者: zhy0324 | 来源:发表于2020-08-12 18:56 被阅读0次

环境以及条件

linux版本:centos7
网络环境:能通外网

安装docker

1.关闭selinux
vi /etc/sysconfig/selinux

修改
SELINUX=disabled


image.png
2.更新到最新的yum
yum update
3. 安装需要的软件包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4.设置yum源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5.可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
5.安装docker
sudo yum install docker-ce
6.设置开机启动
sudo systemctl start dockersudo systemctl enable docker
7.验证
docker version
8.设置镜像地址
vi /etc/docker/daemon.json

加入

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

docker-compose 安装

yum -y install epel-release
yum -y install python-pip
pip install --upgrade pip
yum install docker-compose

安装mysql

1.新建文件夹 /data/docker
mkdir /data/docker
2.新建配置文件 docker-compose.yml
touch docker-compose.yml
3.打开docker-compose.yml 添加入下配置
version: '3.1'
networks:
  base:
services:
#mysql5.7
  mysql5.7:
    container_name: mysql5.7
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    command:
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
    ports:
      - 3307:3306
    networks:
      - base
    volumes:
      - ./mysql5.7/data:/var/lib/mysql
      - ./mysql5.7/my.cnf:/etc/mysql/my.cnf
运行安装命令(一定要在docker-compose.yml同级目录下)
docker-compose up -d
可能会报错

等待拉取完毕启动时可能会报错

for docker_mysql_1  Cannot start service mysql: OCI runtime create failed

原因可能是因为在/data/docker/mysql5.7/my.cnf 是一个文件夹

解决方案
rm -rf /data/docker/mysql5.7/my.cnf
touch /data/docker/mysql5.7/my.cnf
docker-compose up -d

安装redis

在docker-compose.yml文件中,加上
#redis
  redis:
    image: redis:4.0.13 
    container_name: redis
    restart: always
    command: 
      --appendonly yes
      --requirepass "123456"
    ports:
      - 6379:6379
    networks:
      - base
    volumes:
      - ./redis:/data

注意yml文件的格式

运行安装命令
docker-compose up -d
报错
/usr/bin/docker-current: Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/65f3c109fb903539820f84856d2725af784f2f03f95b1f0214e34184e4d61ff7-init/merged: invalid argument.
See '/usr/bin/docker-current run --help'.
解决方案
  1. 禁用selinux(具体方法参照上文,搜索关键词selinux)
  2. 修改存储类型
vi /etc/sysconfig/docker-storage

把空的DOCKER_STORAGE_OPTIONS参数改为overlay:

DOCKER_STORAGE_OPTIONS="--storage-driver overlay"
启动好发现连不上,telnet也不通,有两种可能
一种是docker端口映射到了机器的ipv6上

可以通过命令查看

netstat -tnlp 

如果挂在了ipv6上的解决方案

vi /etc/default/grub

在第6行中增加 ipv6.disable=1
文本

GRUB_CMDLINE_LINUX="ipv6.disable=1 ..." 

最终文件结果:


image.png

重启grub

grub2-mkconfig -o /boot/grub2/grub.cfg

重启linux

reboot

启动docker容器

docker-compose up -d
一种是redis关闭了远程链接功能(我没遇见,所以不过多赘述)

相关文章

网友评论

      本文标题:linux 在线安装docker、redis、mysql5.7

      本文链接:https://www.haomeiwen.com/subject/epmmdktx.html