docker

文章目录

          • 安装redis
            • 1. 拉取镜像
            • 2. 创建redis配置文件,为挂载做准备
            • 3. 构建并启动redis容器
          • 安装ubuntu:22.04
            • 1. 拉取镜像
            • 2. 运行容器
            • 3. 进入容器终端配置
          • 安装centos:8
            • 1. 拉取centos8镜像文件
            • 2. 启动centos
          • 安装mysql5.7
            • 1. 拉取mysql5.7镜像
            • 2. 启动容器
            • 3. 进入MySQL容器及创建账号
          • 安装nginx
            • 1. 拉取nginx镜像
            • 2. 运行容器

安装redis
1. 拉取镜像
docker pull redis:latest
2. 创建redis配置文件,为挂载做准备

在D盘创建2个文件夹
conf目录用于挂载配置文件
data目录用于存放数据持久化文件

  • 在conf文件夹新建redis.conf文件

    #用守护线程的方式启动 后台运行
    daemonize no 
    #给redis设置密码
    requirepass 123456 
    #redis持久化  默认是no
    appendonly yes
    #防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300
    tcp-keepalive 300 
    
3. 构建并启动redis容器

映射到宿主16379端口

docker run --name redis -p 16379:6379 -v /D/docker/redis/conf/redis.conf:/etc/redis/redis_6379.conf -v /D/docker/redis/data:/data/ -d redis:latest redis-server /etc/redis/redis_6379.conf --appendonly yes
  • name=“容器新名字”:为容器指定一个名称
  • p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  • d: 后台运行容器,并返回容器ID
  • v /D/docker/redis/conf/redis.conf:/etc/redis/redis_6379.conf 把宿主机配置好的redis.conf放到容器内的这个位置中
  • v /D/docker/redis/data:/data/ 把redis持久化的数据在宿主机内显示,做数据备份
  • net=host
安装ubuntu:22.04
1. 拉取镜像
docker pull ubuntu:22.04
2. 运行容器
docker run -itd -p IP地址:外部端口:内部端口 --name 容器名字 镜像:标签 /bin/bash
 
注:
    外部端口是指Windows操作系统中的端口
    内部端口是指容器中的Ubuntu操作系统的端口
    这里是一个例子:
    docker run -itd -p 0.0.0.0:10000:22 --name myubuntu ubuntu:22.04 /bin/bash
    其中:
        0.0.0.0表示本地所有的Ip
        这里把windows系统中的10000端口映射到了ubuntu的22端口(ssh需要使用22端口)
3. 进入容器终端配置
  1. 切换bash脚本进行编辑

    bash
    
  2. 更新

    apt update
    
  3. 安装ssh服务

    • 下载ssh工具

      apt install openssh-server
      
    • 编辑ssh配置文件

      vim /etc/ssh/sshd_config
      
      需要进行以下四项的配置:
      PermitRootLogin yes #允许root使用ssh登录
      PubkeyAuthentication yes #启用公钥私钥配对认证方式
      AuthorizedKeysFile .ssh/authorized_keys # 此处的路径“.ssh/authorized_keys”以本地文件为准
      UsePAM no #不适用PAM
      
    • 启动ssh服务

      service ssh start
      
    • 配置开机启动

      systemctl enable sshd
      
  4. 安装vim

    apt install -y vim
    
安装centos:8
1. 拉取centos8镜像文件
docker pull centos
2. 启动centos
#运行centos镜像 并把centos的22端口映射到本机的8022端口,做shh连接使用
#--privileged 付给容器root权限,不然系统级别的操作都搞不了
docker run -it -d --name=centos8 --privileged -p 8022:22 centos /usr/sbin/init
  1. 配置appstream 仓库 镜像列表URL

    centos官方停止了对centos8的维护,使用yum命令时候 会提示 appstream 镜像仓库没有url地址

    # 修改centos 设置url地址
    sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
    sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
    
    #更新Yum
    yum update -y
    
  2. 安装vim

    yum install vim -y
    
  3. 安装ssh服务

    • 检查有无安装ssh

      yum list installed | grep openssh-server
      
    • 安装密码和ssh服务

      yum install passwd openssh-server -y
      使用vim 查看 /etc/ssh/sshd_config 文件
      
    • 启动sshd

      systemctl start sshd
      
    • 配置开机启动

      systemctl enable sshd
      
    • 配置密码 需要确认两次 且密码不可见

      passwd
      
安装mysql5.7
1. 拉取mysql5.7镜像
# 默认下载MySQL5.7最新版本(其他版本可以指定比如 docker pull mysql:5.7.34)
docker pull mysql:5.7
2. 启动容器
  • 方式一 (快捷方式,仅配置root密码)
docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
  • 方式二 (配置容器MySQL数据、配置、日志挂载宿主机目录)
# 宿主机创建数据存放目录映射到容器
mkdir -p /usr/local/docker_data/mysql/data

# 宿主机创建配置文件目录映射到容器 
mkdir -p /usr/local/docker_data/mysql/conf #(需要在此目录下创建"conf.d"、"mysql.conf.d"两个目录)
mkdir -p /usr/local/docker_data/mysql/conf/conf.d # (建议在此目录创建my.cnf文件并进行相关MySQL配置)
mkdir -p /usr/local/docker_data/mysql/conf/mysql.conf.d

# 宿主机创建日志目录映射到容器
mkdir -p /usr/local/docker_data/mysql/logs

docker run --privileged=true --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d  -v /usr/local/docker_data/mysql/data:/var/lib/mysql -v /usr/local/docker_data/mysql/conf:/etc/mysql/ -v /usr/local/docker_data/mysql/logs:/var/log/mysql mysql:5.7
  • 参数说明

    参数 说明
    –name mysql5.7 容器名称
    -p 3306:3306 端口映射(宿主机端口:容器端口)
    -e MYSQL_ROOT_PASSWORD=123456 容器的环境变量(root账号初始化密码)
    -d 后台运行容器
    -v /usr/local/docker_data/mysql/data:/var/lib/mysql 容器MySQL数据目录映射(宿主机:容器)
    -v /usr/local/docker_data/mysql/conf:/etc/mysql/ 容器MySQL配置目录映射(宿主机:容器)
    -v /usr/local/docker_data/mysql/logs:/var/log/mysql 容器MySQL日志目录映射(宿主机:容器)
    mysql:5.7 指定docker镜像 (可以是镜像名称或者镜像ID)
3. 进入MySQL容器及创建账号
docker exec -it mysql5.7 bash
mysql -u root -p

# 创建用户并开启远程登录
CREATE USER '你的账号'@'%'  IDENTIFIED BY '你的密码';

# 创建数据库并设置字符集
CREATE DATABASE `库名` CHARACTER SET 'utf8mb4';

# 给账号授权数据库
GRANT ALL PRIVILEGES ON `库名`.* TO '你的账号'@'%';

# 刷新权限
FLUSH PRIVILEGES;
安装nginx
1. 拉取nginx镜像
docker pull nginx
2. 运行容器
docker run -d -p 80:8081 --name nginx nginx

你可能感兴趣的:(docker,docker,容器,运维)