Docker在linux系统中的下载与使用

Docker在linux系统中的下载与使用

  • 一、docker作用,下载及安装
  • 二、docker镜像
  • 三、创建容器
  • 四、容器数据卷

一、docker作用,下载及安装

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在这里插入图片描述

在这里插入图片描述

  1. ubuntu下载安装docker 命令:在ubuntu上面执行这个命令

在这里插入图片描述

  1. Docker version:查看docker是否安装成功

在这里插入图片描述

在这里插入图片描述

  1. 配置阿里云镜像加速:进入阿里云网站找到对应的容器镜像加速服务

在这里插入图片描述

  1. 根据操作文档中的步骤,复制搭配命令行执行即可,如在ubuntu中执行的命令

在这里插入图片描述

  1. Docker info可以查看docker 对应的信息

在这里插入图片描述

二、docker镜像

Docker run:根据镜像创建容器;

Docker run --help:查看docker run 命令的相关操作

Docker images:查看所有镜像文件

Docker images --help:查看docker images对应的操作

在这里插入图片描述

Docker search:本地没有镜像,查看线上仓库有没有镜像,如docker search mysql。或者进入docker hub网站查看有没有这个镜像。

搜索点赞数大于3000的mysql

在这里插入图片描述

Docker pull mysql:下载拉取镜像,如果不写tag,默认下载最新的版本

在这里插入图片描述

指定版本下载。已经拉取的部分就不会重复再拉取,只会把不存在的文件下载下来:docker的分层下载

在这里插入图片描述

Docker rmi -f 镜像id:可以通过名字或者id来进行删除操作,如果名字重复,可通过id进行删除。删除的只是最新版本的mysql有的,对与mysql5.7版本公共的部分不会删除

在这里插入图片描述

Docker rmi -f docker images -aq:删除所有的镜像。-a所有的; -q只显示id

在这里插入图片描述

三、创建容器

在这里插入图片描述

–name:指定容器名称

-d:后台方式运行,给别人提供服务的才需要加上,如mysql,ngix ;而ubuntu就不需要加

-i:交互式操作

-t:终端 -i和-t一般写在一起,如果需要使用到终端命令,则要加上-it,如ubuntu要进入到容器当中,对其进行对应的命令操作,要加上-it

-p:指定容器的端口

如:1f6ddc1b2547:最好用镜像id来指定, /bin/bash:指明用的是哪一个脚本

docker run -it 1f6ddc1b2547 /bin/bash

执行后,进入到了容器对应的计算机

在这里插入图片描述

windows同理:与virtualbox中的ubuntu系统一样,但是使用docker可以快速部署ubuntu系统

在这里插入图片描述

exit退出容器,会把容器关掉

在这里插入图片描述

Docker ps -a:查看所有的容器,包括关闭的容器

Dockers rm -f docker ps -aq:删除所有的容器

在这里插入图片描述

给容器取名字

在这里插入图片描述

Docker ps -n=1:查看最近创建的一个容器,数字可以自己定义

在这里插入图片描述

Docker start ubuntu01:启动已经创建好的容器,后接容器名或容器ID

在这里插入图片描述

Docker restart ubuntu01:重启容器

Docker stop ubuntu01:停止容器,但是内存还在,不会释放

Docker kill ubuntu01:终止进程,释放内存




启动容器并进入容器:

方法一:

docker start ubuntu01

Docker attach ubuntu01:进入容器(针对已创建的容器,如果是刚创建的容器docker run 就会进入),exit退出后,容器就会停止

在这里插入图片描述

方法二:

Docker start ubuntu01

Docker exec -it ubuntu01 /bin/bash:-it进入交互式终端,后面可以接容器名容器id,/bin/bash表示使用的终端。exit退出后容器不会关闭

在这里插入图片描述

Docker top ubuntu01:查看容器进程

在这里插入图片描述


容器之间的文件上传与下载:

  1. 将容器文件拷贝到本机:
    1)首先进入ubuntu容器,cd+空格进入root的家目录
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
    Pwd可以查看当前目录
    在这里插入图片描述
    2)创建一个test.py文件,然后exit退出
    在这里插入图片描述
    3)Docker cp ubuntu01:/root/test.py D:/Backup:复制root目录下的test.py文件到本机D:/Backup。Docker cp +容器名:要复制的文件 + 复制到的指定路径
    在这里插入图片描述

  2. 将本机文件拷贝到容器
    1)docker cp D:\Backup\test2.py ubuntu01:/root :将D:\Backup下的test2.py文件复制到ubuntu01容器下的root目录
    在这里插入图片描述

四、容器数据卷

把数据进行持久化,存储到本地,容器删除后,但是数据还在。挂载:把容器的目录挂载到本地的某个目录进行数据共享
在这里插入图片描述

  1. 在本机创建对应的文件夹,用来挂载。
    在这里插入图片描述

-it:交互式终端

–name+容器名

-v 进行挂载:本机挂载目录:容器目录 镜像名或镜像ID 使用的终端

在这里插入图片描述

  1. 创建一个test.py文件
    在这里插入图片描述
    Exit退出后,可在本机查看到test.py文件
    在这里插入图片描述
    在本机修改test.py文件后,在容器内部查看,文件内容也是同步修改
    在这里插入图片描述

  2. 删除容器后重新创建
    删除
    在这里插入图片描述
    重新创建一个容器,只需要重新挂载这个目录即可。原来的文件还是存在
    在这里插入图片描述

Docker inspect ubuntu02:获取元数据,可以在Mounts参数下查看到挂载的路径等信息

挂载类型有以下几种:

上面使用的方法是指定路径挂载

具名挂载:只需要指定卷名,会自动创建一个文件夹作为容器挂载目录,文件夹名即卷名

匿名挂载:挂载文件路径是随机的

在这里插入图片描述

实操:一个项目需要使用两个mysql服务器,本机已有一个mysql服务器,使用docker构建出第二台mysql服务器。Docker run 去创建:本地有镜像就直接用,没有就拉取,不用docker search 和docker pull 去拉取了。

Mysql对外提供数据库服务,所以使用-dit

-p 3316:3306 进行端口映射,把容器的3306端口映射为本机的3316端口

-v D:\docker\mysql01\conf:/etc/mysql/conf.d:挂载容器/etc/mysql/conf.d中的配置文件到本机的conf文件夹下

-v D:\docker\mysql01\data:/var/lib/mysql:对数据进行挂载

-e:环境配置。MYSQL_ROOT_PASSWORD=qwe123设置密码

最后接镜像名:可指定版本

在这里插入图片描述
还可以指定log日志。注意挂载配置文件的容器目录必须要指定到conf.d,不然启动容器时会找不到配置文件路径无法启动。

docker run -dit --name mysql02 -p 5000:3306 -v /home/project/jiayin/mysql/conf:/etc/mysql/conf.d -v /home/project/jiayin/mysql/data:/var/lib/mysql -v /home/project/jiayin/mysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=*******--restart=always  mysql:8.0

进入mysql

在这里插入图片描述

2G内存单核cpu大概能同时开启二三十个docker容器

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

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

相关文章

【WEB应用安全测试指南–蓝队安全测试2】--超详细-可直接进行实战!!!亲测-可进行安全及渗透测试

安全基础理论入门知识参考上一篇《WEB应用安全测试指南蓝队安全测试1》 WEB应用安全测试指南2 一、文件 I/O 类1.1、任意文件上传1.2、任意文件下载1.3、文件包含 二、接口安全类2.1、短信炸弹2.2、邮件炸弹2.3、短信内容可控2.4、邮件内容可控 三、逻辑流程类3.1、越权3.2、未…

k8s部署jenkins集群,配置集群kubernetes plugin的pod模板

先安装jenkins插件,对应的源码地址是kubernetes-plugin,以供参考。 进入节点管理,开始配置。 点击 “ configure clouds” 一、配置集群 填写k8s地址:https://kubernetes.default.svc.cluster.local 命名空间:kuberne…

Redis高并发缓存设计问题与性能优化

1、缓存设计典型问题 1.1、缓存穿透 缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,通常出于容错的考虑,如果从存储层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询,失…

【Python】从零到一,搭建高效Web服务器,轻松上手!Python开发者必备(文末附带源码分享)

CSDN Python源码分享:实现一个简单的Web服务器 在CSDN上,我们经常分享各种技术文章和源码,帮助开发者们不断提升自己的技能。今天,我将为大家分享一个使用Python实现的简单Web服务器源码。这个Web服务器能够处理基本的HTTP GET请…

打破常规,BD仓储物流的效能提升!

当前,随着国家战略的推进,JS与民用领域的融合不断加深,物流业也步入了军民融合的新时代。在智能仓储物流方面,JS物流的智能化进展受到了BD系统的高度关注和重视。 一、建设JS仓储物流RFID基础设施 JS物流领域引入RFID技术的基础工…

Jenkins 改成中文语言显示

Jenkins 改成中文语言显示 到系统管理 插件管理中下载如下插件接口 Localization: Chinese (Simplified) 搜索的时候用ctrlf 进行搜索,不要用Jenkins下面下的filter 只有,到系统管理Manage Jenkins下的Config System下,如下截图的位置去…

动态规划算法:14.简单多状态 dp 问题_粉刷房子_C++

题目链接:LCR 091. 粉刷房子 - 力扣(LeetCode) 一、题目解析 题目: 解析: 由题可知: 涂刷房子有三种颜色可以选,所给的二维数组中三列固定不变,分别是红、蓝、绿相邻两件房子不可…

C++基础面试题 | 什么是内存对齐?为什么需要内存对齐?

文章目录 回答重点扩展知识 回答重点 内存对齐是指计算机在访问内存时,会根据一定规则将数据存储在合适的起始地址上,通常是数据大小的整数倍。这样做可以提升CPU的访问效率,特别是在读取和写入数据时。 为什么要内存对齐?主要有…

无极低码课程【mysql windows下安装要点】

在Windows环境中安装MySQL 5.7教程 MySQL 是世界上最流行的开源关系型数据库管理系统之一。本教程将指导您在Windows操作系统上安装MySQL 5.7。 网上教程较多,这里不再详述,注意关键点即可 准备工作 下载MySQL 5.7安装包 访问 MySQL官方网站 下载MyS…

【Java面试——基础知识——Day2】

1.面向对象基础 1.1 面向对象和面向过程的区别 面向过程编程(POP):面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。面向对象编程(OOP):面向对象会先抽象出对象&#…

“链动2+1+消费增值:用户留存新策略“

大家好,我是吴军,目前在一家以创新为核心的软件开发公司担任产品经理。今天,我将深入探讨一个经受住了时间考验且依然充满活力的商业模式——“链动21”模式,并通过一个实例及相关数据展示它如何巧妙应对用户留存与复购的挑战。 首…

vllm 部署GLM4模型进行 Zero-Shot 文本分类实验,让大模型给出分类原因,准确率可提高6%

简介 本文记录了使用 vllm 部署 GLM4-9B-Chat 模型进行 Zero-Shot 文本分类的实验过程与结果。通过对 AG_News 数据集的测试,研究发现大模型在直接进行分类时的准确率为 77%。然而,让模型给出分类原因描述(reason)后,…

使用IDEA和vecode创建vue项目并启动

一、使用IDEA创建Vue项目 一、打开IDEA下载Vue插件 打开IDEA的设置找到插件并查找到下载Vue.js这个插件 二、用IDEA创建Vue项目 新建项目并选择到Vue生成器 我这是IDEA自带的 创建项目非常迅速 端口号(默认):5173 版本是3.x 启动项目…

使用scss生成旋转圆圈

图片 html代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>…

modbus tcp wireshark抓包

Modbus TCP报文详解与wireshark抓包分析_mbap-CSDN博客 关于wireshark无法分析出modbusTCP报文的事情_wireshark 协议一列怎么没有modbus tcp-CSDN博客 使用Wireshark过滤Modbus功能码 - 技象科技 连接建立以后才能显示Modbus TCP报文 modbus.func_code 未建立连接时&…

澳鹏干货 | 大语言模型的上下文窗口 (Context Windows)

大语言模型&#xff08;LLMs&#xff09;极大地提升了人工智能在理解和生成文本方面的能力。其中一个影响其效用的重要方面是“上下文窗口”&#xff08;Context Windows&#xff09;—— 这个概念直接影响着模型接收和生成语言的有效性。 本期澳鹏干货将深入探讨上下文窗口对…

Spark:DataFrame介绍及使用

1. DataFrame详解 DataFrame是基于RDD进行封装的结构化数据类型&#xff0c;增加了schema元数据&#xff0c;最终DataFrame类型在计算时&#xff0c;还是转为rdd计算。DataFrame的结构化数据有Row&#xff08;行数据&#xff09;和schema元数据构成。 Row 类型 表示一行数据 …

C++笔记之原子操作

C++笔记之原子操作 code review! 文章目录 C++笔记之原子操作1.初始化2.赋值3.取值4.赋给另一个原子类型5.`exchange`6.`compare_exchange_weak` 和 `compare_exchange_strong`使用场景7.注意事项在 C++ 中,原子类型提供了对共享变量的无锁操作,确保多线程环境下的安全。以下…

AI的风终于吹到到了短剧,也把财富的风吹到了家门口!

近年来&#xff0c;AI技术在短剧领域的创新应用&#xff0c;给整个行业带来了全新的变革。以快手平台为例&#xff0c;一部以**《山海经》为背景的短剧“李行舟”在今年7月13日上线后引发热议。** 这部短剧讲述了少年李行舟在大海中与古代神灵和各种异兽搏斗的故事。与传统影视…

A0001.主机访问虚拟机中的共享文件完事教程

1. 先在虚拟机中创建一个共享文件夹 2. 在虚拟机的windows系统中查看ip地址 3. 检查网络是否连通 4. 访问虚拟机 5. 登录帐号密码