docker容器的介绍

news2025/2/11 9:05:03

目录

一、docker介绍和安装

官方网站:Docker: Accelerated, Containerized Application Development

下载docker引擎地址:Install Docker Engine | Docker Documentation

安装步骤 

1、卸载原来安装过的docker软件,如果没有安装则可以不用卸载

2、安装yum相关的工具,下载docker-ce.repo文件

3、安装docker-ce软件

4、启动docker服务

 5、设置docker服务开机启动

6、测试(安装nginx镜像)        

二、docker镜像

来源:默认从docker官方的网站去下载

https://hub.docker.com/

安装mysql镜像


一、docker介绍和安装

虚拟化:virtualization : 模拟出来的,虚拟的,部署真实的

虚拟化技术:

        vmware:workstation  入门级的产品

        docker:容器技术的经典代表

        kubernetes:(k8s)它是管理容器运行时集群的软件

k8s是建立在docker之上的软件

docker和k8s都是使用go语言的软件

只要是与k8s相关的技术都叫做云原生相关的技术

容器在Linux系统里就是对应一个进程

容器就是运行镜像的地方,在背后就是起到一个进程来运行这个镜像

官方网站:Docker: Accelerated, Containerized Application Development

容器可以理解为一个虚拟机,虚拟机内是不是可以运行许多的软件

下载docker引擎地址:Install Docker Engine | Docker Documentation

安装步骤 

1、卸载原来安装过的docker软件,如果没有安装则可以不用卸载

 sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2、安装yum相关的工具,下载docker-ce.repo文件

 sudo yum install -y yum-utils
 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3、安装docker-ce软件

containerd engine 是容器引擎

docker 是一个容器管理的软件

docker-ce 是服务器端软件  server

docker-ce-cli 是客户端软件 client

docker-compose-plugin 是compose插件,用来批量启动很多容器,在单台机器上

containerd.io 是底层用来启动容器的

 sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4、启动docker服务

查看docker版本

 sudo systemctl start docker

 5、设置docker服务开机启动

docker 启动的每一个容器背后就是一个linux进程 

 docker镜像

6、测试(安装nginx镜像)        

下面我们先下载一个nginx的镜像,并对将其打开(设置nginx镜像的端口,名称等信息) 

docker run 是启动容器的命令

-d 表示在后台运行 daemon 守护进程

-p 8090:80 表示指定端口的映射, DNAT模式,访问本机的8090端口,会转发到docker容器的container的80端口去。

--name sc-nginx 是指定容器的名字

最后的nginx 表示的是镜像的名字(填写已经下载号的镜像)

查看启动的docker容器进程 (建议关闭防火墙,然后重启docker服务)

打开浏览器,查看nginx的网页

二、docker镜像

镜像是打包好的软件 :程序代码、基础系统、依赖关系的软件包、系统库、工具

需要人为去制作。

来源:默认从docker官方的网站去下载

https://hub.docker.com/

因此,凡是你想的到的软件,都有一个镜像,我们直接启动镜像就可以了,获得这个软件

docker 容器启动软件,颠覆了我们传统的软件安装方式

docker info命令 :可以查看许多docker容器的信息,是整个docker容器信息的汇总

Dockerfile 是制作docker镜像的文件,可以理解为一个配方文件

安装mysql镜像

安装mysql5.7.39版本的镜像

查看docker镜像: 

 

启动mysql镜像:

如果我们的docker容器启动镜像的时候出现了问题:
我们需要查看docker 日志查找问题:(docker logs +序列号/镜像名称)

 docker 删除镜像        

 docker 删除容器

获取两个mysql容器,用来互相连接

[root@mysql ~]# docker run -d --name sc-mysql-1 -p 33060:3306 -e MYSQL_ROOT_PASSWORD='123456' mysql:5.7.35
ac7d2604419784772c11d000922d3e221cb22395f2ddcf5fefde8f7ec7bfa4bc
[root@mysql ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                   CREATED         STATUS         PORTS                                                    NAMES
ac7d26044197   mysql:5.7.35   "docker-entrypoint.s…"   5 seconds ago   Up 4 seconds   33060/tcp, 0.0.0.0:33060->3306/tcp, :::33060->3306/tcp   sc-mysql-1
6efbccb9090a   nginx          "/docker-entrypoint.…"   8 minutes ago   Up 8 minutes   0.0.0.0:8090->80/tcp, :::8090->80/tcp                    sc-nginx
[root@mysql ~]# docker run -d --name sc-mysql-2 -p 33061:3306 -e MYSQL_ROOT_PASSWORD='123456' mysql:5.7.35
f3d9f1f6a31b5937620282af8e3d2d87bd2acb849bba9f0c43f9ad1cf616be2d
[root@mysql ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                   CREATED          STATUS          PORTS                                                    NAMES
f3d9f1f6a31b   mysql:5.7.35   "docker-entrypoint.s…"   9 seconds ago    Up 8 seconds    33060/tcp, 0.0.0.0:33061->3306/tcp, :::33061->3306/tcp   sc-mysql-2
ac7d26044197   mysql:5.7.35   "docker-entrypoint.s…"   3 minutes ago    Up 3 minutes    33060/tcp, 0.0.0.0:33060->3306/tcp, :::33060->3306/tcp   sc-mysql-1
6efbccb9090a   nginx          "/docker-entrypoint.…"   11 minutes ago   Up 11 minutes   0.0.0.0:8090->80/tcp, :::8090->80/tcp                    sc-nginx
[root@mysql ~]# 

进入mysql容器里

docker exec 进入容器里面、执行命令 execute

-it 表示开启一个终端、交互式进入        

[root@mysql ~]# docker exec -it  sc-mysql-1 bash
root@ac7d26044197:/# 

登录mysql

使用Navcat远程连接mysql容器

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

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

相关文章

Spring注解使用

文章目录 前言存储Bean对象① 配置扫描路径 -② 使用注解存储Bean对象Controller(控制器存储) 这里讲一下Spring的调用流程 及 注解的含义getBean里面的命名规则使用⽅法注解:Bean 获取Bean对象1. 属性注⼊属性注入的优缺点 2. 构造⽅法注⼊ (官方推荐)构造方法注入…

【c++】static和const修饰类的成员变量或成员函数

目录 1、静态成员变量 2、静态成员函数 3、常函数 4、常对象 当我们使用c的关键字static修饰类中的成员变量和成员函数的时候,此时的成员变量和成员函数被称为静态成员。 静态成员包含: 静态成员变量静态成员函数 1、静态成员变量 静态成员变量有…

window系统:python3 + auto-py-to-exe 打包playwright为exe,内含独立浏览器

auto-py-to-exe的使用参考一下链接: 链接: python—auto-py-to-exe—.py文件打包成.exe文件最全最详细(用不同的类别做教程) 1、使用auto-py-to-exe打包playwright成exe,运行之后运行一直报错:FileNotFoundError: [Wi…

Java-API简析_java.lang.Character类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/131178778 出自【进步*于辰的博客】 其实我的【Java-API】专栏内的博文对大家来说意义是不大的。…

OJ: Digit Primes

目录 1.题目 2.中文翻译 3.代码 4.代码中部分程序段思路详解 4.1 素数判定高效率代码: ​编辑 4.2 最小的素数是 2 4.3 python中如何计算一个数各个位的和 1.题目 题目描述: A prime number is a positive number, which is divisible by exactly…

chatgpt赋能python:在Python中建立虚拟环境

在Python中建立虚拟环境 在Python编程中,建立虚拟环境是一项非常重要的工作。虚拟环境不仅可以避免不同版本的库之间的冲突,还可以使我们更好地控制项目的依赖关系。在本文中,我们将介绍如何使用Python建立虚拟环境。 第一步:安…

Jmeter参数化方式

前言:什么是参数化? 把测试数据组织起来,用不同的测试数据调用相同的测试方法(实现测试数据跟测试脚本分离)。 一、用户定义的变量: 1、作用:定义全局变量 2、局限性:每次取值都是…

chatgpt赋能python:Python建模型指南

Python建模型指南 Python是一种功能强大的编程语言,以其优雅的语法和丰富的库而闻名。而且,Python也是机器学习、人工智能和数据科学领域的首选语言之一。在本文中,我们将学习Python中如何建模型。 什么是建模? 建模是指使用统…

【MySQL数据库 | 第十七篇】索引以及索引结构介绍

目录 前言: 索引简介: 索引结构: 二叉树索引结构 Tree(普通二叉树) B-Tree(多路平衡查找树) BTree 哈希索引数据结构 总结: 前言: 在实际生活中,我们对SQL语句进行优化实际上有…

Linux,看这篇就够了

Linux 一、为什么要学linux二、目录介绍三、vi / vim编辑器四、网络配置4.1、修改 IP 地址4.2、配置主机名4.2.1、修改主机名称4.2.2、修改 hosts 映射文件 五、系统配置5.1、service 服务管理5.2、systemctl5.3、防火墙5.4、关机重启命令5.5、查看系统内核与版本 六、常用命令…

一分钟学一个 Linux 命令 - cat 和 tail

前言 大家好,我是 god23bin。今天我给大家带来的是 Linux 命令系列,每天只需一分钟,记住一个 Linux 命令不成问题。今天,需要你花费两分钟时间,因为我们要介绍的是两个常用的查看文件内容的命令:cat 和 ta…

动态规划-背包问题(三)

动态规划-背包问题(三) 1 描述2 样例2.1 样例 1:2.2 样例 2: 3 算法解题思路以及实现方法3.1 算法解题思路3.1.1 确定状态3.1.2 转移方程3.1.3 初始条件以及边界情况3.1.4 计算顺序 3.2 算法实现3.2.1 java实现的O(MN)算法复杂度3.2.2 C实现的O(MN)算法复…

Lua基本语法

目录 1 lua基础数据结构 2 Lua 变量 3 Lua 循环 3.1 Lua while 循环 3.2 Lua for 循环 数值for循环 泛型for循环 3.3 Lua repeat...until 循环 3.4 Lua 循环嵌套 3.5 循环控制语句 Lua break 语句 Lua goto 语句 4 Lua 流程控制 4.1 Lua if 语句 4.2 Lua if...else 语…

04-编织灵魂旋律:Golang 函数的魔力绽放

📃个人主页:个人主页 🔥系列专栏:Golang基础 💬Go(又称Golang)是由Google开发的开源编程语言。它结合了静态类型的安全性和动态语言的灵活性,拥有高效的并发编程能力和简洁的语法。G…

常见网络设备及其功能

1.常见网络设备及其功能 笔记来源: Computer network components and their functions 设备工作所在层隔离冲突域隔离广播域路由器(Router)网络层√√网桥(Bridge)数据链路层√交换机(Switch)数据链路层√中继器(Repeater)物理层集线器(Hub)物理层 1.1 路由器&…

chatgpt赋能python:Python并排输出数字——快速高效的实现技巧

Python并排输出数字——快速高效的实现技巧 在Python编程中,我们经常需要对数字进行输出,并排输出数字是一种非常常见的需求。比如说,我们需要将多个数据进行比较,或者需要将多个相关数据进行显示,等等。本文将介绍Py…

一.基于压缩感知(CS)的DOA估计方法-OMP-CS算法

阅读须知: 1.本文为本人原创作品仅供学习参考,未经过本人同意禁止转载和抄袭。 2.要想无障碍阅读本文需要一定的压缩感知理论以及压缩感知信号重构算法基础。 3.话不多说,直接开搞。 1 基于压缩感知DOA估计方法原理 假设有K个远场窄带信号…

dpdk21.11 编译(meson+ninja)及VFIO模块的加载和运行

目录 前言 安装前的环境配置 编译流程 1. 设置环境变量(好像也不需要了) 2. 构建dpdk 3. 编译 执行测试 1. 绑定vfio-pci 模块 2. 挂载网卡 3. 设置大页 4. 启动测试程序-testpmd 前言 操作系统:ubuntu22.04.2 LTS 内核版本&#…

深入理解 Java ServiceLoader、Dubbo ExtensionLoader 源码结合实战篇

介绍Java SPIDriver 实现类DriverManager 驱动管理器类loadInitialDrivers 方法registerDriver 方法getConnection 方法 ServiceLoader 核心类LazyIterator#hasNextService 方法LazyIterator#nextService 方法 Dubbo SPI加载策略FilterExtensionLoaderExtensionLoader#getExten…

框架篇面试详解

spring AOP AOP称为面向切面编程,用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装成为一个可重用的模块,这个模块被命名为“切面”(Aspect),减少系统中的重复代码&am…