Docker安装及容器安装

news2024/11/24 18:44:26

Docker安装及容器安装

一、Docker简单介绍

1、Docker是什么

  • Docker是基于Go语言实现的云开源项目。

  • Docker是一个开源的应用容器引擎,是容器技术的一种,采用Go编程语言编写。虽然 Docker把容器技术推向了巅峰,但其实,还有其他容器技术,比如LXC、CoreOS 的RKT等,只是Docker是最知名和运用最广泛的一个

2、Docker能做什么

  • Docker的主要目标是Build,Ship and Run Any App,Anywhere,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到一次封装,到处运行。

3、Docker的 优势

  • 更高效地利用系统资源

  • 更快的启动时间

  • 一致的运行环境

  • 持续交付和部署

  • 更轻松的迁移

  • 更轻松的维护和拓展

二、Docker安装

1、环境要求

  • CentOS Docker 安装
    Docker支持以下的CentOS版本:
    CentOS 7 (64-bit) 8
    CentOS 6.5 (64-bit) 或更高的版本

  • 前提条件:

    • 目前,CentOS 仅发行版本中的内核支持 Docker。
      Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
    • Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。

2、虚拟机环境安装

  • 和安装Ubuntu差不多,可以参考这篇安装Ubuntu虚拟机的文章
    • http://t.csdn.cn/4xg2Q

3、Docker安装

  • 通过uname -r 命令查看当前的内核版本,是否符合Docer环境要求

  • 使用root权限登录虚拟机,通过sudo yum update命令确保yum包是最新的

  • 通过下面的命令卸载系统自带或者安装过的Docker,建议下面两个命令都用一下,卸载干净一些

    • 旧版docker(docker-engine)

      •  yum remove docker \
                   docker-client \
                   docker-client-latest \
                   docker-common \
                   docker-latest \
                   docker-latest-logrotate \
                   docker-logrotate \
                   docker-selinux \
                   docker-engine-selinux \
                   docker-engine
        
    • 新版docker(docker-ce)也叫社区版

      • yum remove docker-ce \
                   docker-ce-cli \
                   containerd
        
    • 删除docker的文件

      • systemctl stop docker
        rm -rf /etc/systemd/system/docker.service.d
        rm -rf /etc/systemd/system/docker.service
        rm -rf /var/lib/docker
        rm -rf /var/run/docker
        rm -rf /usr/local/docker
        rm -rf /etc/docker
        rm -rf /usr/bin/docker* /usr/bin/containerd* /usr/bin/runc /usr/bin/ctr
        
        
  • 安装对应依赖环境

    •  sudo yum install -y yum-utils
      
  • 映射仓库地址

    • 源地址

      • sudo yum-config-manager \
            --add-repo \
            https://download.docker.com/linux/centos/docker-ce.repo
        
    • 如果安装过慢的话可以用阿里的地址

      • sudo yum-config-manager \
            --add-repo \
            http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
        

在这里插入图片描述

  • 安装Docker CE(Docker引擎)

    •  sudo yum install docker-ce docker-ce-cli containerd.io
      

      在这里插入图片描述

  • 启动Docker服务

    • sudo systemctl start docker
      
  • 查看Docker版本

    • sudo docker version
      
  • 设置开机自启动

    • sudo systemctl enable docker
      
  • 测试Docker安装是否正常

    • sudo docker run hello-world
      

在这里插入图片描述

4、阿里云镜像加速配置

  • 打开阿里云官网,登录

    • http://dev.aliyun.com/search.html
  • 点击控制台,然后点击左上角菜单栏,找到容器镜像服务

    在这里插入图片描述

  • 点开镜像工具,点击镜像加速器,找到对应的虚拟机

在这里插入图片描述

  • 复制第一行的命令,注意不要docker目录下面,建议在root用户目录

    • sudo mkdir -p /etc/docker
      
  • 然后复制第二行命令,从EOF开始到EOF结束

    • sudo tee /etc/docker/daemon.json <<-'EOF'
      {
        "registry-mirrors": ["https://45tfghj.mirror.aliyuncs.com"]
      }
      EOF
      
  • 然后复制第三行和第四行命令

    • sudo systemctl daemon-reload
      sudo systemctl restart docker
      

三、容器安装(以MySQL为例)

1、拉取镜像

  • 指定版本

    docker pull mysql:5.7
    
  • 不指定版本(拉取最新的)

    docker pull mysql
    

2、运行MySQL镜像

  • 运行mysql镜像命令

    • 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
      
  • 运行报错解决办法

    • 报错提示容器mysql名字已经在使用或者被占用

      • docker ps或者docker ps -a命令查看被占用容器名字id
      • docker rm -f id号命令结束当前被占用容器名字id,或者换一个名字
    • 报错提示端口被占用

      00a68f30ec8cda6fce5614b02274adcf5f6490820918a3a7a991f7130452846b
      docker: Error response from daemon: driver failed programming external connectivity on endpoint mysql (40ea488b4a9220c473104083d967915b71c10e8c2c3ca5d7f85ef2c72bb43207): Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use.
      
      
      • netstat -tanlp命令查看当前被占用端口号pid
      • kill 占用端口进程的PID命令杀死被占用端口号pid或者更换端口号
      • 3306:3306,是把后面的端口号映射给前面的端口号
  • 注意关闭防火墙

    • 关闭防火墙命令

      // 临时关闭防火墙
      systemctl stop firewalld
       
      // 禁止开机启动防火墙
      systemctl disable firewalld
      

    3、远程连接配置

    • 成功启动MySQL容器后,切换到mysql的conf目录下面

      cd mydata/mysql/conf/
      
    • 创建my.conf文件

      vim my.conf
      
    • 写入以下配置信息并保存

      [client]
      default-character-set=utf8
      
      [mysql]
      default-character-set=utf8
      
      [mysqld]
      init_connect="SET collation_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
      
    • 然后重启容器

      docker restart 容器ID
      

其他的容器安装和这个都差不多,运行时出错的解决办法也基本一样,就不多多赘述了

"
init_connect=“SET NAMES utf8”
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
```

  • 然后重启容器

    docker restart 容器ID
    

其他的容器安装和这个都差不多,运行时出错的解决办法也基本一样,就不多多赘述了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/518678.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝牙智能升降桌解决方案介绍

传统桌子在办公和学习中具有很大的普及度&#xff0c;但是长时间久坐却会对人体造成可怕的危害。由于不合理的坐姿、长时间久坐等习惯&#xff0c;不仅影响血液循环,让人体感到不适,还会出现视力、颈椎、腰椎、心脏等一系列健康问题。此外&#xff0c;传统桌子通常是固定高度且…

【C++进阶2--多态】面向对象三大特性之一,多种形态像魔法?

今天&#xff0c;带来C多态的讲解。 多态和继承并用&#xff0c;能产生“魔法般的效果”。 *文中不足错漏之处望请斧正&#xff01; 见见多态 是什么 使得父类指针或引用有多种形态。 怎么使它有多种形态呢&#xff1f;咱们先见见猪跑。 见见猪跑 class Base { public:v…

第05章_排序与分页

第05章_排序与分页 1. 排序数据 1.1 排序规则 使用 ORDER BY 子句排序 ASC&#xff08;ascend&#xff09;: 升序DESC&#xff08;descend&#xff09;:降序 ORDER BY 子句在SELECT语句的结尾。 1.2 单列排序 SELECT last_name, job_id, department_id, hire_date FROM …

Java基础学习(15)

Java基础学习 一、IO流进阶1.1 缓冲流1.1.1字节缓冲流1.1.2 字符缓冲流 1.2 转换流1.3 序列流1.4 反序列化流 /对象操作输入流1.4.1 序列化流/反序列化流的细节汇总 1.5 打印流1.5.1 字节打印流1.5.2 字符打印流 1.6 解压流、压缩流1.7 Commons-io1.8 hutool工具包 一、IO流进阶…

【C#】RemoveAt索引越界问题

系列文章 【C#】单号生成器&#xff08;编号规则、固定字符、流水号、产生业务单号&#xff09; 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/129129787 【C#】日期范围生成器&#xff08;开始日期、结束日期&#xff09; 本文链接&#xff1a;h…

使用FFMPEG和SDL2实现音视频同步的简易视频播放器

程序框架 由于之前都是针对FFMPEG某一个功能做的测试和学习。这里我简单做了一个视频播放器&#xff0c;并简单做了音视频同步。在此记录大致过程。 大致框架如下&#xff1a; 主线程 1.加载视频文件&#xff0c;查找音视频流信息 2.初始化音视频解码器 3.初始化SDL并设置…

题解校验码—CRC循环校验码与海明校验码

码距 一个编码系统的码距是任意两个码字的最小距离。 例如个编码系统采用三位长度的二进制编码&#xff0c;若该系统有四种编码分别为&#xff1a;000&#xff0c;011&#xff0c;100&#xff0c;111&#xff0c;此编码系统中000与111的码距为3&#xff1b;011与000的码距为2…

POE:性价比最高的 AI 整合网站

创作不易&#xff0c;如果本文对你有帮助&#xff0c;胖友记得一键三连 &#x1f62d;。更多 AI 优质内容推荐请关注主页 “AI” 专栏&#xff0c;笔者会不定期更新觉得自己用下来还不错的 AI 相关产品。 1.介绍 Poe 是一款同时整合了 ChatGPT、Sage、GPT-4、Claude、Claude-in…

经典神经网络(2)AlexNet及其在Fashion-MNIST数据集上的应用

2、深度卷积神经网络AlexNet ImageNet 数据集&#xff1a;一个开源的图片数据集&#xff0c;包含超过 1400万张图片和图片对应的标签&#xff0c;包含2万多个类别。 自从2010 年以来&#xff0c;ImageNet 每年举办一次比赛&#xff0c;即&#xff1a;ImageNet 大规模视觉识别挑…

数组排序算法

数组排序算法 一、冒泡排序算法二、直接选择排序三、插入排序四、反转排序 一、冒泡排序算法 冒泡排序算法&#xff1a; 类似气泡上涌的动作&#xff0c;会将数据在数组中从小到大或者从大到小不断向前移动。 基本思想&#xff1a; 冒泡排序的基本思想是对比相邻的两个元素值&…

并发编程(二) — 内存可见性问题

目录 前言 内存可见性问题 synchronized volatile CAS算法 CAS算法原理 CAS算法应用场景 CAS算法代码实现 参考目录 前言 在谈共享变量的内存可见性问题之前&#xff0c;先谈谈线程安全问题 &#xff0c;线程安全问题是指当多个线程同时读写一个共享资源并且没有任何同…

c高级day4作业

有m1.txt m2.txt m3.txt m4.txt&#xff0c;分别创建出对应的目录&#xff0c;m1 m2 m3 m4 并把文件移动到对应的目录下使用break关键字打印九九乘法表&#xff0c;提示&#xff1a;printf "%d * %d %d" $i $j $((i*j)) #!/bin/bash for i in m1 m2 m3 m4 do#文件夹…

只限今日免费,Midjourney 5.1震撼更新!逼真到给跪,中国情侣细节惊艳,3D视频大片马上来

来源 | 新智元 微信号&#xff1a;AI-era 【导读】全新升级的Midjourney让全网又疯狂了&#xff0c;创造力解禁&#xff0c;出图更逼真。重要的是&#xff0c;限时免费到今天&#xff0c;要玩的抓紧了。 一个月前&#xff0c;Midjourney V5画的一对中国完美情侣在网上爆火&am…

涅槃重生,BitKeep如何闯出千万用户新起点

在全球&#xff0c;BitKeep钱包现在已经有超过千万用户在使用。 当我得知这个数据的时候&#xff0c;有些惊讶&#xff0c;也有点意料之中。关注BitKeep这几年&#xff0c;真心看得出这家公司的发展之迅速。还记得2018年他们推出第一个版本时&#xff0c;小而美&#xff0c;简洁…

python和pycharm的安装(安装包免费下载共享)

说明&#xff1a; 本文内容包括Python和Pycharm安装。 一、python安装&#xff1a; python是一门编程语言&#xff0c;安装python是为了能在电脑上使用这门语言。 1、python下载 下载链接&#xff1a;https://pan.baidu.com/s/1mWsJjO8HngNQtINCzu0bBA 提取码&#xff1a;9…

又又又发现了一个 AI 插件神器 TeamSmart

简介 TeamSmart AI 是最近比较火的 Chrome 插件&#xff0c;它是基于 ChatGPT 集成的 AI 助手团队工具 对&#xff0c;没错&#xff0c;是一个团队。这个团队里面有许多不同角色的成员&#xff0c;每隔成员都有自己的专业领域&#xff0c;比如商业、市场营销、灵魂写手、程序…

批量查看域名历史软件-网站老域名批量查询注册

未注册备案域名批量扫描软件 未注册备案域名批量扫描软件是专门用于批量扫描未备案的域名的一种工具。它可以快速识别未备案的域名&#xff0c;并帮助用户抓住还未被注册的值得备案的域名&#xff0c;以便用户及时注册备案并使用。 该软件主要具有以下几个优点&#xff1a; 高…

【小程序】输入框检验姓名、身份证(正则表达式)并提交

目标 输入绑定姓名、身份证号并进行校验若未填或校验不通过则显示绑定失败的轻提示若通过校验并提交则显示绑定成功 使用Vant Weapp (gitee.io)库。 思路与代码 html&#xff1a; wx:model绑定输入框输入的值data-key是一个属性&#xff0c;在js中的e.currentTarget.datase…

【新星计划-2023】ARP“攻击”与“欺骗”的原理讲解

网络管理员在网络维护阶段需要处理各种各样的故障&#xff0c;出现最多的就是网络通信问题。除物理原因外&#xff0c;这种现象一般是ARP攻击或ARP欺骗导致的。无论是ARP攻击还是ARP欺骗&#xff0c;它们都是通过伪造ARP应答来实现的。 一、ARP攻击原理 一般情况下&#xff0…

TypeScript语言编译命令

1. 安装 npm install -g typescript2. 编译 tsc工具是TypeScript编译器的控制台接口&#xff0c;它可以将TypeScript文件编译成JavaScript文件&#xff1b; 编译文件&#xff1a; tsc [options] [file ...]查看编译命令的帮助信息&#xff1a; tsc --help或者 tsc -h或者 tsc…