linux安装docker

安装docker

官方文档https://docs.docker.com/engine/install/centos/,按照以下步骤操作。

  1. Uninstall old versions

    1
    2
    3
    4
    5
    6
    7
    8
    sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine
  2. Install using the repository

    1
    2
    3
    4
    5
    $ sudo yum install -y yum-utils

    $ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  3. INSTALL DOCKER ENGINE

    1
    $ sudo yum install docker-ce docker-ce-cli containerd.io
  4. 启动docker

    1
    sudo systemctl start docker
  5. 设置成开机自启动

    1
    sudo systemctl enable docker

    ps: 官方的镜像下载地址,<hub.docker.com/search>, 可以查看到docker的各种镜像

配置阿里云的docker镜像地址

配置该项是为了以后下载docker时速度会很快。
操作如下

  1. 登录到aliyun.com –>右上角点 控制台 –>左边菜单栏 产品与服务–>容器镜像服务–> 镜像加速器–>右边选择centos
  2. 可以找到以下脚本。分别执行
1
2
3
4
5
6
7
8
9
10
11
12
#1
sudo mkdir -p /etc/docker
#2
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://u52e9dsr.mirror.aliyuncs.com"]
}
EOF
#3
sudo systemctl daemon-reload
#4
sudo systemctl restart docker

docker安装mysql

  1. 连接上服务器 vagrant ssh
  2. 下载mysql镜像 sudo docker pull mysql:5.7
  3. 创建实例并启动
    1
    2
    3
    4
    5
    6
    docker run -p 3306:3306 --name mysql \
    -v /mydata/mysql/log:/var/log/mysql \
    -v /mydata/mysql/data:/var/lib/mysql \
    -v /mydata/mysql/conf:/etc/mysql \
    -e MYSQL_ROOT_PASSWORD=root \
    -d mysql:5.7

解释: -p 3306:3306 后一个3306是docker中mysql的端口,前一个3306是把后一个端口映射到linux服务器的3306端口
–name mysql 给当前容器起的名字
-v /mydata/mysql/log:/var/log/mysql 把docker下/var/log/mysql目录挂载到linux下/mydata/mysql/log目录,这样方便后续配置的修改,查看日志
-e MYSQL_ROOT_PASSWORD=root 改变mysql的一些参数
使用 docker exec -it mysql /bin/bash 就可以进入到mysql的docker容器内部

  1. 修改mysql的配置
    vi /mydata/mysql/conf/my.cnf
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [client]
    default-character-set=utf8

    [mysql]
    dafault-character-set=utf8

    [mysqld]
    init_connect='SET colletion_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

解释:skip-name-resokve 跳过域名解析

docker安装redis

  1. 下载镜像 docker pull redis
  2. 创建文件夹(为下一步使用,如果直接执行下一步,创建出来的是文件夹,不是文件)

    1
    2
    mkdir -p /mydata/redis/conf
    touch /mydata/redis/conf/redis.conf
  3. 创建实例并启动

    1
    2
    3
    4
    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
  4. 修改配置,使redis数据持久化
    vi /mydata/redis/conf/redis.conf

appendonly yes

  1. 重启
    docker restart redis

ps :redis的可视化工具,RedisDesktopManager