唐宋元明清 唐宋元明清
首页
  • 基础

    • Java基础
  • 工具

    • hutool
    • commons
  • 框架

    • Spring Boot相关
  • 设计模式

    • 设计模式入门
  • Hadoop

    • Hadoop分布式搭建
    • Hadoop高可用搭建
    • 集群端口
    • 代码demo
  • Zookeeper

    • Zookeeper集群搭建
  • Hive

    • Hive集群搭建
    • Hive相关
    • HSQL
  • Kafka

    • Kafka集群搭建
  • HBase

    • HBase集群搭建
    • HBase基础学习
  • Spark

    • Spark环境搭建
    • Spark相关知识
  • Flink

    • Flink环境搭建
    • Flink学习
  • Flume

    • Flume安装配置
    • Flume高可用集群安装
    • Flume相关学习
  • Sqoop

    • Sqoop安装配置
    • Sqoop使用
  • 其他

    • docker
  • Oracle

    • Oracle相关知识杂记
    • 系统函数篇
    • 与MySQL语法区别
  • MySQL

    • MySQL知识点
  • Python

    • Python简单语法
    • Python操作Office
    • Python类库学习
    • Python爬虫
  • Shell

    • Shell基础
    • Shell命令行
  • Scala

    • 语法学习
  • 正则表达式

    • 正则基础
  • 调度

    • 调度工具
  • 前端

    • 前端相关
  • 杂记

    • 常用工具或网站
    • 琐碎知识
  • 摘录

    • 摘录
GitHub (opens new window)
首页
  • 基础

    • Java基础
  • 工具

    • hutool
    • commons
  • 框架

    • Spring Boot相关
  • 设计模式

    • 设计模式入门
  • Hadoop

    • Hadoop分布式搭建
    • Hadoop高可用搭建
    • 集群端口
    • 代码demo
  • Zookeeper

    • Zookeeper集群搭建
  • Hive

    • Hive集群搭建
    • Hive相关
    • HSQL
  • Kafka

    • Kafka集群搭建
  • HBase

    • HBase集群搭建
    • HBase基础学习
  • Spark

    • Spark环境搭建
    • Spark相关知识
  • Flink

    • Flink环境搭建
    • Flink学习
  • Flume

    • Flume安装配置
    • Flume高可用集群安装
    • Flume相关学习
  • Sqoop

    • Sqoop安装配置
    • Sqoop使用
  • 其他

    • docker
  • Oracle

    • Oracle相关知识杂记
    • 系统函数篇
    • 与MySQL语法区别
  • MySQL

    • MySQL知识点
  • Python

    • Python简单语法
    • Python操作Office
    • Python类库学习
    • Python爬虫
  • Shell

    • Shell基础
    • Shell命令行
  • Scala

    • 语法学习
  • 正则表达式

    • 正则基础
  • 调度

    • 调度工具
  • 前端

    • 前端相关
  • 杂记

    • 常用工具或网站
    • 琐碎知识
  • 摘录

    • 摘录
GitHub (opens new window)
  • Hadoop

    • Hadoop分布式搭建
    • Hadoop高可用搭建
    • 集群端口
    • 代码demo(mr hbase hive redis)
  • Zookeeper

    • Zookeeper集群搭建
  • Hive

    • Hive集群搭建
    • Hive相关
    • HSQL
  • Kafka

    • Kafka集群搭建
  • HBase

    • HBase集群搭建
    • HBase基础学习
  • Spark

    • Spark环境搭建
    • Spark相关知识
    • Spark内核学习
  • Flink

    • Flink环境搭建
    • Flink学习
  • Flume

    • Flume安装配置
    • Flume高可用集群安装
    • Flume相关学习
    • Flume把数据导入hive(文件方式)
  • 数据集成工具

    • Sqoop安装配置
    • Sqoop使用
    • 其他ETL工具
  • Impala

    • Impala
  • 调度

    • 调度工具
  • 其他

    • docker
      • 概述
      • docker 命令
      • 其他
      • 安装docker(阿里云)
        • 卸载原来安装的Docker
        • 安装DockerCE
        • 配置镜像
        • 使用Docker安装Nginx服务
        • 搭建Hadoop
  • 大数据
  • 其他
Ai
2022-03-02
目录

docker

# 概述

 传说 go 语言天生支持高并发(执行速度接近C,网络服务接近Nginx)。
 Golang实现了 CSP 并发模型做为并发基础,底层使用goroutine做为并发实体,goroutine非常轻量级可以创建几十万个实体。实体间通过 channel 继续匿名消息传递使之解耦,在语言层面实现了自动调度,这样屏蔽了很多内部细节,对外提供简单的语法关键字,大大简化了并发编程的思维转换和管理线程的复杂性。
 一句话总结:go语言在设计的时候从关键字层面实现了多协程开发,好像语言天生支持高并发一样。

原文链接 (opens new window)

Docker采用的是Go语言编写的,该语言一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,常用于Web程序开发,并且具有成熟的Web开发框架,如Beego、Gin、Iris等等。

# docker 命令

Docker仓库 (opens new window)

docker 命令可以通过 --help 进行查看,比如docker --help、docker run --help等

  1. docker version 查看docker版本信息

  2. docker info 查看系统信息,包括当前系统 docker 镜像和容器的数量

  3. docker images 查看已下载镜像

  4. docker search <镜像名> 从中央仓库搜索镜像

  5. docker pull 镜像名<:tags> 从仓库拉取。比如下载Tomcat 8.0 镜像:docker pull tomcat:8.0

  6. 删除镜像

    • docker rmi repository<:tag> # 根据名称和版本删除,如果不指定tag,默认是lastest
    • docker rmi IMAGE_ID # 根据镜像id删除
    • docker rmi IMAGE_ID1 IMAGE_ID2 ... # 批量删除
  7. docker run <参数> 镜像id|镜像名称 运行(从镜像到容器)
    参数:

    • --name: 为启动容器指定一个名字,注意有两个 --。
    • -d:表示以后台方式运行,并返回容器ID。
    • -i:以交互模式运行容器。
    • -t:为容器重新分配一个伪输入终端。
    • -p:主机端口:容器端口 | 容器端口 | ip:主机端口:容器端口。
    • -P:随机端口映射,容器内部端口随机映射到主机端口。
    • --link=[]:添加链接到另一个容器。

    比如:docker run -itd --name MyCentos7 centos:7、docker run --rm -it --cap-add SYS_ADMIN MyCentos7 sh、docker run -d -p 8888:8888 sqlflow/sqlflow:latest

  8. 进入容器

    • docker run -it [镜像id|镜像名] /bin/bash 使用run方式在创建时进入
    • docker attach --sig-proxy=false 容器名称|容器ID 使用 attach 命令,进入已启动的容器

    直接进入 容器启动命令的终端,不会启动新进程,多个attach连接共享容器屏幕,参数:--sig-proxy=false 确保CTRL-D或CTRL-C不会关闭容器

    • docker exec -it 容器名称|容器ID /bin/bash 使用 exec 命令,进入已启动的容器(进入容器后开启一个新的终端,可以在里面进行操作)
  9. 查看所有运行的容器

    • docker ps 查看正在运行的容器
    • docker ps -q 查看正在运行的容器的ID
    • docker ps -a 查看正在运行+历史运行过的容器
    • docker ps -s 显示运行容器总文件大小
  10. 停止与删除容器

    • docker stop 容器名|容器id 停止一个运行中的容器
    • docker kill 容器名|容器id 杀掉一个运行中的容器
    • docker rm 容器名|容器id 删除一个已停止的容器
    • docker rm -f 容器名|容器id 删除一个运行中的容器
  11. docker logs <参数>容器名|容器id 查看容器日志
    参数:

    • -f 跟踪日志输出
    • -t:显示时间戳
    • --tail N:仅列出最后N条日志
  12. docker top 容器ID|容器名 查看容器内进程

  13. docker inspect 容器ID|容器名 查看容器信息

  14. 主机和容器之间数据复制

    • docker cp 容器名|容器ID:/[container_path] [local_path] 将容器中的文件copy至本地路径
    • docker cp [local_path] 容器名|容器ID:/[container_path] 将主机文件copy至容器
    • docker cp [local_path] rabbitmq:/[container_path] 将主机文件copy至容器,目录重命名为[container_path](注意与非重命名copy的区别)
  15. 容器打包镜像,提交仓库

    • docker commit -a "作者" -m "简要说明" 容器ID 想要打包成的镜像名称:版本号 将容器打包成镜像
    • 去docker官网(https://hub.docker.com/)注册账号,并且建立仓库
    • docker login 从Linux登录,输入用户名密码
    • docker tag 本地的镜像名 docker用户名/远程仓库名 设置镜像标签
    • docker push docker用户名/远程仓库名 推送(上传)镜像

原文链接 (opens new window)

# 其他

  • Docker-Compose 学习
  • DockerFile 学习
  • 网络隔离、独立IP设置(使Docker容器拥有可被宿主机以外的机器直接访问的独立IP)、网桥命名空间、创建网桥
  • pipework 网络工具使用(打通容器间的网络)
点击查看
#停止docker
systemctl stop docker
#docker0
ip link set dev docker0 down
#删除docker0网桥
brctl delbr docker0
#新增一个docker0网桥
brctl addbr docker0
#增加网卡(这里ip也完全使用这个)
ip addr add 172.16.10.0/24 dev docker0
#启用网卡
ip link set dev docker0 up
#重启docker服务
systemctl restart docker

# 安装docker(阿里云)


# 卸载原来安装的Docker

查看当前docker状态
systemctl status docker

如果是运行状态则停掉
systemctl stop docker

查看yum安装的docker文件包
yum list installed |grep docker

查看docker相关的rpm源文件
rpm -qa |grep docker

删除所有安装的docker文件包
yum -y remove docker.x86_64

删除docker的镜像文件,默认在/var/lib/docker目录下

# 安装DockerCE

Docker有两个分支版本:Docker CE和Docker EE,即社区版和企业版。本教程基于CentOS 7安装Docker CE。

  1. 安装Docker的依赖库。 yum install -y yum-utils device-mapper-persistent-data lvm2

  2. 添加Docker CE的软件源信息 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  3. 安装Docker CE

yum makecache fast
yum -y install docker-ce
  1. 启动Docker服务 systemctl start docker

# 配置镜像

Docker的默认官方远程仓库是hub.docker.com,由于网络原因,下载一个Docker官方镜像可能会需要很长的时间,甚至下载失败。为此,阿里云容器镜像服务ACR提供了官方的镜像站点,从而加速官方镜像的下载。下面介绍如何使用阿里云镜像仓库。

将下面命令中的镜像仓库地址https://kqh8****.mirror.aliyuncs.com替换为阿里云为您提供的专属镜像加速地址。

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://kqh8****.mirror.aliyuncs.com"]
}
EOF

重新加载服务配置文件。 systemctl daemon-reload

重启Docker服务 systemctl restart docker

# 使用Docker安装Nginx服务

  1. 查看Docker镜像仓库中Nginx的可用版本。 docker search nginx
  2. 拉取最新版的Nginx镜像。 docker pull nginx:latest
  3. 查看本地镜像 docker images
  4. 运行容器 docker run --name nginx-test -p 8080:80 -d nginx

命令参数说明:

--name nginx-test:容器名称。
-p 8080:80: 端口进行映射,将本地8080端口映射到容器内部的80端口。
-d nginx: 设置容器在后台一直运行。
  1. 在浏览器地址栏输入http://<ECS公网地址>:8080访问Nginx服务

# 搭建Hadoop

下载centos镜像
docker pull centos

后创建一个容器准备安装jdk、hadoop作为基础版本
docker run -it --name hadoop101 -h hadoop 5d0da3dc9764 bash

安装一下vim(好像安装了其他基础东西)
yum install vim
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream                                                                                                               2.6 MB/s | 8.1 MB     00:03    
CentOS Linux 8 - BaseOS                                                                                                                  115 kB/s | 3.5 MB     00:31    
CentOS Linux 8 - Extras

yum install openssh-server
     yum install rsync
      yum install iputils-ping
              yum install net-tools             ifconfig
[root@hadoop opt]# mkdir /opt/modules
[root@hadoop opt]# mkdir /opt/softwares
重启已停止的容器
[root@banana software]# docker ps -a
[root@banana software]# docker start hadoop101
拷贝进容器
 docker cp ./env.tar.gz hadoop101:/opt/softwares
 进入容器
 docker exec -it hadoop101 /bin/bash
 容器内解压
[root@hadoop softwares]# tar -zxvf env.tar.gz -C /opt/modules/
[root@hadoop modules]# vim /root/.bashrc
[root@hadoop modules]# source /root/.bashrc
[root@hadoop modules]# echo $JAVA_HOME
容器转为镜像

复制镜像
docker export hadoop_base > hadoop_base.tar导出容器
docker import hadoop_base.tar hadoop导入容器为新的hadoop镜像
docker images查看一下现在有的镜像

启动三个容器作为hadoop集群
docker run -it -p 50070:50070 --name hadoop102 -h hadoop102 hadoop101 bash
docker run -it -p 8088:8088 --name hadoop103 -h hadoop103 hadoop101 bash
docker run -it --name hadoop104 -h hadoop104 hadoop101 bash

vim /etc/hosts
172.17.0.2 hadoop102
172.17.0.3 hadoop103
172.17.0.4 hadoop104
修改完主机映射 互相ping一下查看是否网络互通

配置免密登录
ssh-keygen -t rsa  # 生成密钥公钥
公钥发送到免密登录的机器上 之前ssh没安装上?(yum -y install openssh-clients)
    ssh-copy-id hadoop102 
ssh-copy-id hadoop103
ssh-copy-id hadoop104
编辑 (opens new window)
上次更新: 2022/06/20, 22:46:16
调度工具

← 调度工具

Theme by Vdoing | Copyright © 2022-2025 Ai | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×