• Docker从安装使用到配置各种镜像容器


    安装

    安装docker (NAT模式-联网)

    1、yum 在线安装
    yum install docker -y
    2、启动docker
    systemctl start docker 启动
    systemctl stop docker 停止
    systemctl restart docker 重启
    3、查看docker状态
    systemctl status docker

    docker的使用流程

    在这里插入图片描述

    docker的使用流程

    1.配置docker镜像加速
    2.从docker仓库下载镜像到宿主机 docker仓库地址:https://hub.docker.com/
    3.通过镜像启动生成容器环境

    1.配置镜像加速

    默认情况下,从docker hub(https://hub.docker.com/)上下载docker镜像太慢。一般都会配置镜像加速器:

    • 中科大镜像加速器(https://docker.mirrors.ustc.edu.cn)
    • 阿里云镜像加速器
    • 网易云镜像加速器
    • 腾讯云镜像加速器

    修改文件并配置
    在linux中打开:/etc/docker/daemon.json文件,并导入镜像地址

    直接 vi /etc/docker/daemon.json

    #中科大镜像地址
    {
     "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
    }
    
    • 1
    • 2
    • 3
    • 4

    重新启动docker–docker相关的命令

    #重启
    systemctl restart docker
    #查看docker信息
    docker info
    
    #启动docker服务:
    systemctl start docker 
    #停止docker服务:
    systemctl stop docker 
    #重启docker服务:
    systemctl restart docker
    #查看docker服务状态:
    systemctl status docker 
    #设置开机启动docker服务:
    systemctl enable docker
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    2.从docker仓库下载镜像到宿主机–镜像相关的命令

    #1 查看镜像: 查看本地所有的镜像
    docker images
    
    #2 搜索镜像:从网络中查找需要的镜像
    docker search 镜像名称
    
    #3 拉取镜像:从Docker仓库下载镜像到本地,镜像名称格式为 名称:版本号
    如果版本号不指定则是最新的版本。如果不知道镜像版本,可以去docker hub 搜索对应镜像查看。
    地址:https://hub.docker.com/
    docker pull 镜像名称:版本号  /  docker pull 镜像名称(默认的版本号是latest)
    		docker pull mysql:5.7  /  docker pull mysql
    
    #4 删除镜像: 删除本地镜像
    docker rmi 镜像id # 删除指定本地镜像
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    3.通过镜像启动生成容器环境–容器相关命令

    #查看容器
    docker ps # 查看正在运行的容器
    docker ps -a #查看所有容器,包括未运行的容器
    
    #创建并启动容器  
    docker run -id --name=自定义容器名称 -p 映射端口:镜像端口 镜像名称 
    run:启动
    -id/-di:  创建容器
    --name:  为创建的容器起别名
    -p: 端口映射
    
    #停止容器
    docker stop 容器名称
    #删除容器(容器是停止状态才能删除)
    docker rm 容器名称
    
    #启动容器
    docker start 容器名称
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    3.创建docker镜像容器

    Nginx

    创建nginx的docker容器

    命令:docker run -di --name=mynginx1 -p 81:80 nginx
    
    • 1

    执行完后如果会出现以下信息,那么需要设置一下网络配置
    在这里插入图片描述

    解决办法:
    #编译配置文件
    vi /etc/sysctl.conf
    #在末尾添加这段代码
    net.ipv4.ip_forward=1
    #重启network服务
    systemctl restart network
    #重启docker(容器就关闭了)
    systemctl restart docker
    #启动容器
    docker start 容器名称

    MySql

    创建mysql的docker容器

    命令:docker run -di --name=mymysql1 -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
    
    • 1
    数据卷

    数据卷是宿主机中的一个目录或文件,当容器目录和数据卷目录绑定后,对方的修改会立即同步,一个数据卷可以被多个容器同时挂载,一个容器也可以挂载多个数据卷。

    作用:容器数据持久化、容器之间数据交换

    在这里插入图片描述

    配置数据卷

    创建启动容器时,使用 –v 参数 设置数据卷

    #启动容器,挂载数据卷 注意冒号前后不能有空格
    docker run … –v 宿主机目录(文件):容器内目录(文件) …

    在这里插入图片描述

    #先在root目录先创建一个文件夹 ,因为要做数据卷映射
    cd ~
    mkdir data
    #启动容器,挂载数据卷
    docker run -di --name=自定义容器名称 -p 33307:3306 -v /root/data/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

    查看mysql的日志会发现有权限不足的问题:docker logs my_mysql

    –privileged :容器内的root拥有真正的root权限.否则,容器内的root只是外部的一个普通用户权限

    docker run -id --name=mymysql888 --privileged=true -p 33308:3306 -v /root/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

    删除当前数据库容器

    #先停止
    docker stop my_mysql
    #再删除
    docker rm my_mysql

    tomcat

    需求: 在Docker容器中部署Tomcat,并通过外部机器访问Tomcat部署的项目。

    创建启动容器

    docker run -di --name=mytomcat1 -p 8081:8080 tomcat:8.5

    问题:发现访问不到页面

    查看tomcat容器所在的目录

    docker exec -it mytomcat1 /bin/bash

    发现webapp下没有任何页面

    #退出
    exit

    将前端页面放入数据卷中(/root/webapps) 进行挂载

    docker run -id --name=mytomcat1 --privileged=true -v /root/webapps:/usr/local/tomcat/webapps -p 8081:8080 tomcat:8.5
    
    • 1

    直接把要部署的资源直接放到宿主机的 /root/webapps文件夹中即可

    Redis

    创建启动容器

    docker run -di --name=myredis1 -p 63779:6379 redis
    
    • 1
  • 相关阅读:
    PTE-DI 练习 + 模板
    CocoaPods 无法使用(Xcode 14.0)
    TCP 滑动窗口
    [Python]面向对象基础
    SpringCloud-nacos基础
    【图像处理 】卡尔曼滤波器原理
    pyecharts 主题:颜色渐变实例(线性渐变)
    学习网络安全有哪些误区?学习之前要做哪些准备?如何系统的学习黑客技术/网络安全?
    SQL查询语句之查询数据
    MySQL数据库之事物
  • 原文地址:https://blog.csdn.net/q290994/article/details/126348947