Docker使用(二)Docker安装和常见典型操作

Docker使用(二)Docker安装和常见典型操作

二、软件安装

1、Docker安装

(1)环境准备

[root@localhost ~]# uname -r

3.10.0-327.el7.x86_64

# cat /etc/os-release

在这里插入图片描述

(2)卸载旧版本

$ sudo yum remove docker \

​ docker-client \

​ docker-client-latest \

​ docker-common \

​ docker-latest \

​ docker-latest-logrotate \

​ docker-logrotate \

​ docker-engine

在这里插入图片描述

(3)安装软件包

安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。

$ sudo yum install -y yum-utils

[阿里云操作]:

# step 1: 安装必要的一些系统工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

(4)设置镜像仓库

$ 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

[阿里云操作]:

# Step 2: 添加软件源信息

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

Step 3: 更新下yum缓存索引

$ yum makecache fast

(5)安装docker引擎

$ sudo yum -y install docker-ce docker-ce-cli containerd.io

(6)启动docker

$ sudo systemctl start docker

或者 $ sudo service docker start

systemctl enable docker //运行开机启动

如何判断成功:

[root@localhost ~]# docker version

在这里插入图片描述

(7)测试hello-world

$ sudo docker run hello-world

在这里插入图片描述

(8)查看images

[root@localhost ~]# docker images

在这里插入图片描述

(9)卸载docker

$ sudo yum remove docker-ce docker-ce-cli containerd.io

$ sudo rm -rf /var/lib/docker

2、阿里云镜像加速

(1)找到阿里云镜像加速服务

在这里插入图片描述

(2)配置镜像加速器

针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-‘EOF’

{

“registry-mirrors”: [“https://25fgdfnn.mirror.aliyuncs.com”]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

三、常见典型操作

1、redis 安装
1.1 镜像安装

# docker run -p 6379:6379 --name my-redis -v /usr/local/workspace/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/workspace/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

命令说明:

-p 6379:6379:把容器内的6379端口映射到宿主机6379端口

-v /data/redis/redis.conf:/etc/redis/redis.conf:把宿主机配置好的redis.conf放到容器内的这个位置中

-v /data/redis/data:/data:把redis持久化的数据在宿主机内显示,做数据备份

redis-server /etc/redis/redis.conf:这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动

–appendonly yes:redis启动后数据持久化

============================================================================

1.2 docker镜像普通安装

docker images 查询到redis镜像

# docker run -it -d --name my-redis01 -p 6379:6379 redis

============================================================================

1.3 数据卷挂载(默认docker0网卡)

(1)在宿主机创建容器卷文件夹

mkdir workspace

cd /usr/local/workspace

创建配置文件所在文件夹:

mkdir /docker/redis/conf

创建Redis持久化文件所在文件夹:

mkdir /docker/redis/data

在conf文件夹下创建配置文件redis.conf

切记:不要配置daemonize yes,否则无法启动容器:启动后立即停止

(2)创建并启动容器

[root@localhost redis]# pwd

/usr/local/workspace/docker/redis

[root@localhost redis]# docker run -d --privileged=true -p 6379:6379 -v $pwd/conf/redis.conf:/etc/redis/redis.conf -v $pwd/data:/data --name myredis01 redis redis-server /etc/redis/redis.conf --appendonly yes

$pwd :代表当前目录

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

-v :指定数据卷绑定

redis-server /etc/redis/redis.conf:指定配置文件启动redis-server进程

–appendonly yes:开启数据持久化

在这里插入图片描述

这里是在默认docker0网卡上。

============================================================================

1.4 自定义网卡

其他都一样,创建容器时候采用自定义网络

创建并启动容器

[root@localhost redis]# docker run -d --privileged=true -p 7379:6379 -v $pwd/conf/redis.conf:/etc/redis/redis.conf -v $pwd/data:/data --name mynet_redis01 –net mynet redis redis-server /etc/redis/redis.conf --appendonly yes

============================================================================

2、mysql 安装
2.1 基本镜像安装

# docker run -p 13306:3306 --name my-mysql -v /usr/local/workspace/mysql/conf:/etc/mysql -v /usr/local/workspace/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d

mysql:5.7

命令说明:

**-p ** 13306:3306 将容器的 3306 端口映射到主机的 3306 端口

–name my-mysql 启动后容器名为 my-mysql

-v $PWD/conf:/etc/mysql 将主机当前目录下的 conf/ 挂载到容器 /etc/mysql (conf目录为mysql的配置文件,不挂载也没问题)

-v $PWD/logs:/logs   将主机当前目录下的 logs 目录挂载到容器的 /logs (logs目录为mysql的日志目录,不挂载也没影响)

-v $PWD/data:/var/lib/mysql  将主机当前目录下的data目录挂载到容器的 /var/lib/mysql (data目录为mysql配置的数据文件存放路径,这个还是建议挂载,是存储数据的,容器down掉,还能再次挂载数据。)

-e MYSQL_ROOT_PASSWORD=123456  初始化 root 用户的密码

============================================================================

2.2 持久化安装

思考:mysql 的数据持久化问题

# 获取镜像

[root@localhost ~]# docker pull mysql:5.7

# 运行容器,需要做挂载!

# 安装启动mysql,需要配置密码,这是需要注意的!

#官方测试:

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

#启动容器

-d 后台运行

-p 端口映射

-v 卷挂载

–name 容器名字

[root@localhost ~]# docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

3、tomcat镜像安装

#docker run -it -d --name tomcat03 -p 3377:8080 tomcat

在这里插入图片描述

由于:官方镜像阉割了

解决:

进入容器

# docker exec -it 62131a77690a /bin/bash

# cp -r webapps.dist/* webapps

解决了

4、portainer

# docker run -d -p 9000:9000 \

–restart=always -v /var/run/docker/sock:/var/run/docker.sock --privileged=true portainer/portainer

在这里插入图片描述

账户:admin 密码:改成自己的密码

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

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

相关文章

折半搜索.

折半搜索 知识点折半搜索的原理折半搜索的过程 例题题目&#xff1a;世界冰球锦标赛题目描述输入样例输出样例提示 世界冰球锦标赛题解思路代码 知识点 折半搜索的原理 折半搜索是一种技巧&#xff0c;实际上就是将一个次搜索过程分成两次进行&#xff0c;然后将两次搜索的结果…

145 Linux 网络编程1 ,协议,C/S B/S ,OSI 7层模型,TCP/IP 4层模型,

一 协议的概念 从应用的角度出发&#xff0c;协议可理解为“规则”&#xff0c;是数据传输和数据的解释的规则。 典型协议 传输层 常见协议有TCP/UDP协议。 应用层 常见的协议有HTTP协议&#xff0c;FTP协议。 网络层 常见协议有IP协议、ICMP协议、IGMP协议。 网络接口层 常…

作业-逆序和定位

目录 字符串逆序 题目描述 输入 输出 样例 解题思路&#xff1a; 单词倒排 题目描述 输入 输出 样例 解题思路&#xff1a; 首字母大写 题目描述 输入 输出 样例 解题思路&#xff1a; 统计句子中单词个数 题目描述 输入 输出 样例 解题思路&#xff1a; 大小写字母互换 题目描…

springboot“涛宝”大学生二手物品交易商城

摘 要 二十一世纪我们的社会进入了信息时代&#xff0c;信息管理系统的建立&#xff0c;大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多&#xff0c;而在线管理系统刚好能满足这些需求&#xff0c;在线管理系统突破了传统管理方式的局限性。于是本文针对这一…

Kubernetes operator系列:webhook 知识学习

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 Kubernetes operator学习 系列文章&#xff0c;本节会对 kubernetes webhook 知识进行学习 本文的所有代码&#xff0c;都存储于github代码库&#xff1a;https://github.com/graham924/share-code-operator-st…

免费接口调用 招标信息自动抽取|招标信息|招标数据解析接口

一、开源项目介绍 一款多模态AI能力引擎&#xff0c;专注于提供自然语言处理&#xff08;NLP&#xff09;、情感分析、实体识别、图像识别与分类、OCR识别和语音识别等接口服务。该平台功能强大&#xff0c;支持本地化部署&#xff0c;并鼓励用户体验和开发者共同完善&#xf…

浅谈性能测试中的基准测试

在性能测试中有一种测试类型叫做基准测试。这篇文章&#xff0c;就聊聊关于基准测试的一些事儿。 1、定义 通过设计合理的测试方法&#xff0c;选用合适的测试工具和被测系统&#xff0c;实现对某个特定目标场景的某项性能指标进行定量的和可对比的测试。 2、特质 ①、可重…

软件实例,餐厅酒水寄存管理系统软件,酒水寄存登记表软件操作教程

软件实例&#xff0c;餐厅酒水寄存管理系统软件&#xff0c;酒水寄存登记表软件操作教程 一、前言 以下软件操作以 佳易王酒水寄存管理系统软件V16.0为例说明 件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、酒水寄存管理系统软件可以管理多个品类的物…

SendMessage 和 PostMessage 有什么区别?

SendMessage和PostMessage都是Windows编程中用于进程间通信或同一进程内不同线程间通信的函数&#xff0c;用于向窗口发送消息。尽管这两个函数的目的相似&#xff0c;但它们在实现方式和行为上存在一些关键差异。 同步与异步&#xff1a; SendMessage是一个同步消息发送函数。…

用 C 语言模拟 Rust 的 Result 类型

在 Rust 中&#xff0c;Result<T, E> 类型是一个枚举&#xff0c;它表示一个操作可能成功并返回一个值 T&#xff0c;或者失败并返回一个错误 E。在 C 语言中&#xff0c;没有直接对应的 Result 类型&#xff0c;但我们可以使用结构体和枚举来模拟它。 下面是一个用 C 语…

AI健身教练-引体向上-俯卧撑计数-仰卧起坐姿态估计-康复训练姿态识别-姿态矫正

在AI健身应用中&#xff0c;通过关键点检测技术可以实现对用户动作的精准捕捉和分析&#xff0c;从而进行统计计数和规范性姿态识别。 统计计数&#xff1a;比如在做瑜伽、健身操等运动时&#xff0c;系统可以通过对人体关键点&#xff08;如手部、脚部、关节等&#xff09;的…

复习 --- windows 上安装 git,使用相关命令

文章目录 很少使用windows的git工具&#xff0c;这次借助这个任务&#xff0c;记录下使用过程&#xff0c;其他的等有空在整理。 其中&#xff0c;还使用了浏览器的AI小助手&#xff0c;复习了git相关的命令&#xff1a;图片放最后

ROS——集成开发环境搭建

1.4 ROS集成开发环境搭建 和大多数开发环境一样&#xff0c;理论上&#xff0c;在 ROS 中&#xff0c;只需要记事本就可以编写基本的 ROS 程序&#xff0c;但是工欲善其事必先利其器&#xff0c;为了提高开发效率&#xff0c;可以先安装集成开发工具和使用方便的工具:终端、ID…

C++ 虚函数表

虚函数表 当一个类中声明了虚函数时&#xff0c;这个函数在编译时会被标记为虚函数&#xff0c;并且对应的虚函数表中会为这个类生成一个虚函数表&#xff1b; 当基类指针指向派生类对象时&#xff0c;如果这个函数被调用&#xff0c;实际上调用的是派生类中的函数。这是因为…

Vue2(四):Vue监测数据的原理(对象,数组),Vue.set的使用方法

一、更新时的一个问题 如果我要点击按钮实现更新冯万宁儿的信息&#xff0c;那么如果一个属性一个属性地改&#xff0c;可以修改成功&#xff0c;并且Vue也会检测到并更新到页面。 但是我如果直接把要修改的信息写在this.persons[0] { id: 001, name: 冯千宁儿, age: 66, se…

Android Studio中快速修改包名

Android Studio中快速修改包名 假设原包名是com.abc.efg&#xff0c; 新包名是com.aaa.bbb 1、点击齿轮图标&#xff0c;把Compact Middle Packages前面的对勾取消&#xff0c;如果没有就忽略此步 2、在左侧项目栏中&#xff0c;选择Android, App-->java-->com,下面可以看…

SpringBoot程序的核心功能及优点

本篇博客主要记录SpringBoot程序的核心功能及优点&#xff1a; 起步依赖&#xff08;简化依赖配置&#xff09; 依赖配置的书写简化就是靠这个起步依赖达成的。 自动配置&#xff08;简化常用工程相关配置&#xff09; 配置过于繁琐&#xff0c;使用自动配置就可以做相应的简化…

教程:如何制作和分享自定义GPT

自定义GPT教程&#xff1a;如何制作和分享 引言 人工智能领域不断发展&#xff0c;引入了改变我们与科技互动方式的创新工具。在这些创新中&#xff0c;自定义生成式预训练变压器&#xff08;GPT&#xff09;的出现尤为引人注目。这些AI模型超越了标准ChatGPT的功能&#xff…

YOLOv9算法原理——使用可编程梯度信息学习想要学习的内容

前言 2023年1月发布YOLOv8正式版后&#xff0c;经过一年多的等待&#xff0c;YOLOv9终于面世了&#xff01;YOLO是一种利用图像全局信息进行目标检测的系统。自从2015年Joseph Redmon、Ali Farhadi等人提出了第一代模型以来&#xff0c;该领域的研究者们已经对YOLO进行了多次更…

k8s HPA 自动伸缩机制 (配置,资源限制,)

目录 一、概念 核心概念 工作原理 HPA 的配置关键参数 关键组件 使用场景 注意事项 如何确保程序稳定和服务连续 二、metrics-server 部署 metrics-server 准备 metrics-server 镜像: 使用 Helm 安装 metrics-server: 配置 metrics-server: 安装 metrics-server: …