• linux 安装docker


    安装docker

    官方文档

    Install Docker Engine on CentOS | Docker Documentation

    1、卸载旧版本

    1. yum remove docker \
    2. docker-client \
    3. docker-client-latest \
    4. docker-common \
    5. docker-latest \
    6. docker-latest-logrotate \
    7. docker-logrotate \
    8. docker-engine

    2、需要的安装包

    yum install -y yum-utils

    3、设置镜像仓库

    1. -- 国外的,不推荐
    2. yum-config-manager \
    3. --add-repo
    4. https://download.docker.com/linux/centos/docker-ce.repo
    5. -- 阿里云镜像地址
    6. yum-config-manager \
    7. --add-repo \
    8. http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    4、更新yum索引包

     yum makecache

    5、安装docker引擎

    docker-ce 社区版  docker-ee 企业版

     yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

    6、启动docker

    systemctl start docker

    7、卸载docker

    1. yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
    2. rm -rf /var/lib/docker
    3. rm -rf /var/lib/containerd

    docker命令

    Reference documentation | Docker Documentation

    1. docker version -- docker版本信息
    2. docker info -- docker信息
    3. docker images -- 查看镜像
    4. docker 命令 --help -- 帮助文档
    5. docker ps -a --
    6. docker pull xxx -- 下拉镜像
    7. docker rmi -f 镜像id -- 删除镜像
    8. docker search xxx -- 搜索镜像
    9. docker attach 镜像id -- 进入镜像,推出,镜像停止
    10. docker exec -it 镜像id /bin/bash -- 进入镜像,推出,镜像不停止,推荐

    安装Nginx

    1、下载镜像

    docker pull nginx

    2、从nginx容器中映射核心文件

    • 1、本地创建文件目录
    1. mkdir -p /opt/docker/nginx/conf.d
    2. mkdir -p /opt/docker/nginx/html
    3. mkdir -p /opt/docker/nginx/logs
    4. touch /opt/docker/nginx/conf/nginx.conf

    注:需要先创建个nginx容器,再将本地目录挂载上

    docker run --name nginx -p 80:80 -d nginx
    • 2、拷贝nginx容器对应的文件默认配置
    1. docker cp nginx:/etc/nginx/nginx.conf /opt/docker/nginx/conf/nginx.conf
    2. docker cp nginx:/etc/nginx/conf.d /opt/docker/nginx/conf.d
    3. docker cp nginx:/usr/share/nginx/html /opt/docker/nginx
    4. docker cp nginx:/var/log/nginx /opt/docker/nginx/logs
    • 3、停止并删除nginx容器
    1. docker stop nginx
    2. docker rm nginx

    重新启动nginx镜像重新新容器

    1. docker run -p 80:80 --name nginx \
    2. -v /opt/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
    3. -v /opt/docker/nginx/conf.d:/etc/nginx/conf.d \
    4. -v /opt/docker/nginx/html:/usr/share/nginx/html \
    5. -v /opt/docker/nginx/logs:/var/log/nginx \
    6. -d nginx
    7. docker restart nginx

    有个小坑,再启动nginx容器时,/etc/nginx/conf.d/conf.d ,会多出个/conf.d,导致宿主机访问

    将这个目录删除就好了

    安装redis

    1、拉镜像

    docker pull redis

    2、创建宿主机挂载目录

    1. /opt/docker/redis/redis.conf
    2. /opt/docker/redis/data

    3、启动redis容器

    1. docker run \
    2. --restart=always \
    3. -p 6379:6379 \
    4. --name myredis \
    5. -v /opt/docker/redis/redis.conf:/etc/redis/redis.conf \
    6. -v /opt/docker/redis/data:/data \
    7. -d redis redis-server /etc/redis/redis.conf \
    8. --appendonly yes
    9. --restart=alway -- 总是开机启动
    10. --appendonly yes -- 开启redis持久化

    安装mysql

    1、拉去镜像

    docker pull mysql:5.7

    2、创建挂载目录

    1. mkdir -p /opt/docker/mysql/logs
    2. mkdir -p /opt/docker/mysql/data
    3. mkdir -p /opt/docker/mysql/conf

    3、启动容器

    1. docker run
    2. --restart=always \
    3. -p 3306:3306 --name mysql \
    4. -v /opt/docker/mysql/logs:/var/log/mysql \
    5. -v /opt/docker/mysql/data:/var/lib/mysql \
    6. -v /opt/docker/mysql/conf:/etc/mysql \
    7. -e MYSQL_ROOT_PASSWORD=密码 \
    8. -d mysql:5.7

    4、进入mysql容器

    docker exec -it mysql /bin/bash

    5、登入mysql

    mysql -u root -p

    6、检查是否给root用户授权了远程访问

    1. > use mysql;
    2. > select User,authentication_string,Host from user;
    3. -- 如果未开启远程访问
    4. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' ;
    5. -- 刷新权限
    6. flush privileges;

     7、重启mysql容器

    docker restart mysql

    8、这样安装完mysql会有个坑,查看mysql字符集,都是latin1

    show variables like 'character%';

    mysql> show variables like '%charac%';
    +--------------------------+----------------------------------+
    | Variable_name            | Value                            |
    +--------------------------+----------------------------------+
    | character_set_client     | latin1                                                       |
    | character_set_connection | utf8                             |
    | character_set_database   | latin1                                                     |
    | character_set_filesystem | latin1                                                     |
    | character_set_results    | latin1                                                     |
    | character_set_server     | latin1                           |
    | character_set_system     |latin1                                                       |
    | character_sets_dir       | /usr/local/mysql/share/charsets/ |
    +--------------------------+----------------------------------+
    8 rows in set (0.00 sec)

    需要设置成utf8

    修改my.cnf

    1. [client]
    2. default-character-set=utf8
    3. [mysqld]
    4. character-set-server = utf8mb4
    5. collation-server = utf8mb4_general_ci

    重启mysql容器,再查看字符集编码,就没问题了

    安装minio

    全网最细Docker安装Minio,填满最新版大坑(强烈推荐收藏) - 掘金

    安装nacos

    1、拉去镜像

    docker pull nacos/nacos-server

    2、创建本地的映射文件

    1. mkdir -p /root/nacos/conf /root/nacos/logs
    2. touch /root/nacos/conf/application.properties

    3、创建容器并启动

    docker run --name nacos-standalone -e MODE=standalone -v /path/application.properties:/root/nacos/conf/application.properties -p 8848:8848 -d -p 9848:9848  nacos/nacos-server

    4、验证

    127.0.0.1:8848/nacos

    nacos/nacos

  • 相关阅读:
    whisper使用方法
    TCP和UDP和端口
    【秋招基础知识】轻量化:MobileNetv123和ShuffleNet
    网易面试:什么是SPI,SPI和API有什么区别?
    Nautilus Chain 引入 $NAUT 通证,延续 $ZBC 的价值
    数值分析复习:Richardson外推和Romberg算法
    华为海思校园招聘-芯片-数字 IC 方向 题目分享——第四套
    【无标题】
    Spring Cloud 之 Zuul
    Flink之常用处理函数
  • 原文地址:https://blog.csdn.net/zhc794429974/article/details/126484331