docker入门安装及使用

docker概述

docker是一种容器技术,它提供了标准的应用镜像(包含应用和应用多需要的依赖),因此,我们可以非常轻松的在docker中安装应用,安装好的应用相当于一个独立的容器

如下图所示,为docker中镜像的结构,它包含了一个应用所需要的依赖其应用本身

总的来说,docker解决了软件跨域安装问题 

docker的主要功能有分发,部署,架构三个方面

下图为docker中的工作模式图

docker安装 

1.安装yum-utils,配置镜像源需要使用

yum install -y yum-utils

2.设置更新docker镜像源到源文件中

yum-config-manager

\ --add-repo

\ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.安装docker到Linux操作系统

yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin  

  

4.测试docker版本
docker -v

5.启动docker时的常用命令

docker安装成功后并没有启动,

启动命令 systemctl start docker

关闭命令 systemctl stop docker

设置开机自动启动 systemctl enable docker 

docker卸载

docker配置 

配置镜像加速

在etc下创建docker目录

mkdir -p /etc/docker

进入docker目录

cd /etc/docker

创建daemon.json文件

touch daemon.json

修改文件

vim daemon.json

{  

         "registry-mirrors": ["https://dockerhub.icu"]

}

重载配置

systemctl daemon-reload

重启

systemctl restart docke

Docker中的镜像命令

1.从镜像仓库中拉去镜像到本地仓库

docker pull

实例:在docker中下载mysql的镜像文件

docker pull mysql:8.0

2.查看镜像列表

docker image

 实例:

3. 删除本地镜像

docker rmi 镜像名/镜像id(注:使用该命令删除镜像时,镜像不能处于使用状态)

实例:我们利用镜像名删除刚刚下载的mysql镜像,删除后利用docker image查看镜像列表,发现mysql镜像确实被删除

4.保存docker镜像到linux本地(需要保存到那个目录就进入指定的目录中执行保存命令)

docker save 镜像名 > 镜像名.tar

5.从linux本地加载镜像到docker中

docker load 镜像名 < 镜像名.tar

Docker中的容器操作命令

通过镜像进行安装

docker run 镜像名

启动镜像

docker start 容器名

查看容器

docker ps -a

停止容器

docker stop 容器名

删除容器

docker rm 容器名

Docker安装mysql

下载镜像

docker pull mysql:8.0

安装

docker run -d -p 3306:3306 \

--name mysql \

--restart=always \

--privileged=true \

-e TZ=Asia/Shanghai \

-e MYSQL_ROOT_PASSWORD=root \

mysql:8.0

进入到容器

docker exec -it   容器名/容器id bash

实例:下载好mysql后进入到终端中

登录mysql

mysql -uroot -proot

实例:通过命令登录到mysql,此时可以对mysql进行操作

此时打开mysql进行连接时我们会发现,mysql的无法连接成功,原因是在linux中下载的mysql,密码的加密方式发生改变,我们需要修改加密方式 

修改root账号加密方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

运行该命令后即可连接成功 

退出

exit

执行两次退出,第一次退出mysql,第二次退回到linux

docker run命令的常见参数:

--name:指定容器名称

--restart=always 自动启动

--privileged=true 拥有特权

-p:指定端口映射

-d:让容器后台运行

数据卷挂载

docker安装Nginx 

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

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

相关文章

如何将Git本地代码推送到Gitee云端仓库

如何将Git本地代码推送到Gitee云端仓库 在使用Git进行版本控制时&#xff0c;将本地代码推送到远程仓库是一个基本且重要的操作。本文将详细介绍如何将你的Git本地代码推送到Gitee&#xff08;码云&#xff09;云端仓库。Gitee是一个国内非常流行的代码托管平台&#xff0c;类…

git删除本地+远程提交记录

//撤销本地仓库提交 1.git log 2.git reset --soft 指定commit版本号 git reset --soft "版本号"&#xff1a;重置至指定版本的提交。这里我们指定版本号为 ②&#xff0c;从而达到撤销 ①的目的。 参数 soft&#xff1a;保留当前工作区&#xff08;代码和文…

Redis 执行 Lua,能保证原子性吗?

前言 小张目前在使用分布式锁 Redisson 实现一个需求。那我在想我能否自己手撸一个能用于分布式环境的锁呢&#xff1f;于是果然尝试。 历经一天后&#xff0c;小张手撸的锁终于写出来了&#xff0c;再次给各位看看&#xff0c;看给位有没有什么优化的建议&#xff1a; // 加…

VSCode 定义代码模板

在使用编写代码的过程中&#xff0c;经常会写一些固定代码段。 以 Java 为例&#xff0c;定义实体类时一般都会编写序列化版本号&#xff1a; Serial private static final long serialVersionUID 1L;这段代码是固定写法&#xff0c;基本不会变&#xff0c;如果每次都手写的…

sqlgun靶场漏洞挖掘

1.xss漏洞 搜索框输入以下代码&#xff0c;验证是否存在xss漏洞 <script>alert(1)</script> OK了&#xff0c;存在xss漏洞 2.SQL注入 经过测试&#xff0c;输入框存在SQL注入漏洞 查询数据库名 查询管理员账号密码 此处密码为MD5加密&#xff0c;解码内容如下 找…

代码随想录第21天|

class Solution { public:vector<string> res;bool isVaild(const string &s,int start,int end){//闭区间if(start>end)return false;if(s[start]0&&start!end){return false;}int num0;for(int istart;i<end;i){if(s[i]>9||s[i]<0)return fals…

华为仓颉语言入门(1):仓颉概述

解锁Python编程的无限可能&#xff1a;《奇妙的Python》带你漫游代码世界 仓颉编程语言是一种专门为应用开发设计的通用语言。与现代编程语言类似&#xff0c;它以高效、稳定和功能强大为核心&#xff0c;确保安全且易于上手。仓颉不仅适用于各种应用场景&#xff0c;还展示了…

使用Python免费将pdf转为docx

刚刚想将pdf转换为docx文档时&#xff0c;居然要收费 还好我学过编程&#xff0c;这不得露两手 将pdf 转换为 docx 文档 的操作步骤 我这里使用的是Python语言 &#xff08;1&#xff09;在终端上安装 pdf2docx 是一个 Python 库&#xff0c;它可以将 PDF 文件转换为 Word (…

中国电子学会202306青少年软件编程(Python)等级考试试卷(二级)真题

一、单选题(共25题,每题2分,共50分) 1、运行以下程序,如果通过键盘先后输入的数是1和3,输出的结果是?( ) a = int(input()) b = int(input()) if a < b:a = b print(a)A. 3 1 B. 1 3 C. 1 D. 3 2、运行以下程序,输出的结果是?( ) n = 10 s = 0 m = 1 while…

【JS】postMessage与MessageChannel

前言 postMessage 和 MessageChannel 都是用来实现跨文档、跨窗口或跨线程&#xff08;Web Worker&#xff09;的消息传递机制。 postMessage 可以在 iframe、同源或跨源窗口之间传递数据&#xff0c;也可以用于主线程与 Web Worker 之间的通信。 postMessage 是一种单向的…

计算机操作系统-进程控制面经

计算机操作系统-进程控制面经在线链接&#xff1a; 计算机操作系统-进程控制面经在线飞书链接&#x1f517;&#xff1a; (https://h03yz7idw7.feishu.cn/wiki/XtRIwWnEdiwgIHkX8Bbc98monpf)

IP包头分析

IP包头 选择自己的网卡&#xff0c;开始抓包 ping一个字节大点的数据&#xff0c;方便查看包 选择数据包&#xff0c;并过滤icmp协议 查看抓到的包&#xff0c;分析 IP包头范围&#xff1a;20-60 首部长度&#xff1a;定义包头的长度 总长度&#xff1a;表示当前数据的长度…

李宏毅2024生成式人工智能导论 中文镜像版指导与作业

这里是李宏毅老师2024年生成式人工智能导论的大陆镜像版&#xff0c;你可以在不翻墙的情况下完成课程的所有作业。 我替换了作业中需要&#x1fa9c;才能获取的API&#xff0c;并&#xff1a; 将其中的行为使用 OpenAI 库进行替换使用 ipywidgets 模拟 Colab 的交互以中文进行作…

若依等项目修改包名

点击这里 打开后如下图&#xff0c;根据需要自行操作即可&#xff0c;若依管理系统亲测修改包名后可以直接启动

unix中如何查询和修改进程的资源限制

一、前言 一个进程在运行时&#xff0c;会用到各种资源&#xff0c;比如cpu的使用时间、内存空间、文件等等。那么&#xff0c;一个进程能够占用多少资源呢&#xff1f;cpu使用的时间有多长&#xff1f;进程空间有多大&#xff1f;能够创建多少个文件&#xff1f;这个就是本文…

Kotlin 中的 `flatMap` 方法详解

在 Kotlin 中&#xff0c;flatMap 是一个非常强大的集合操作函数&#xff0c;它结合了 map 和 flatten 的功能。flatMap 能够将一个集合中的每个元素映射为另一个集合&#xff0c;然后将这些集合连接成一个单一的集合。在很多场景下&#xff0c;它比单独使用 map 和 flatten 更…

解锁数字转型新纪元:Vatee万腾平台,您的智能加速与策略智库

在数字经济时代的大潮中&#xff0c;企业的数字化转型已不再是选择题&#xff0c;而是必答题。面对这一挑战&#xff0c;Vatee万腾平台以其卓越的技术实力和前瞻性的战略视野&#xff0c;成为了众多企业加速数字化转型、实现智能化升级的得力助手和智囊团。 加速转型&#xff…

AirTest 基本操作范例和参数解释(一)

背景&#xff1a;基于目前团队中推广UIAutomation&#xff0c;采用了网易的UI自动化平台&#xff0c;平台兼容iOS、Android和WEB&#xff0c;是个跨平台的多库平台&#xff0c;利用poco和python进行脚本编写和开展自动化&#xff0c;但是在日常使用中有些同学对于一些关键字和参…

毕业设计选题:基于ssm+vue+uniapp的校园商铺系统小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…

华为SMU02B1智能通信电源监控单元模块简介

华为SMU02B1是一款智能通信电源监控单元模块&#xff0c;专为5G嵌入式机框设计&#xff0c;它在通信电源管理领域扮演着重要角色。以下是对该产品的详细介绍&#xff1a; 一、产品概述 主要功能&#xff1a;华为SMU02B1能够监控和管理通信电源系统&#xff0c;提供站点监控功能…