【Docker】Docker基础教程

🦖我是Sam9029,一个前端
🐱‍🐉🐱‍🐉恭喜你,若此文你认为写的不错,不要吝啬你的赞扬,求收藏,求评论,求一个大大的赞!👍

基础理解

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

安装操作

  • 系统:CentOS 7.6 64bit
  • install docs - docker 官方文档

1.卸载 系统默认的 残余

若有旧版本的docker,推荐先卸载掉

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

2.配置docker 仓库 yum源

# 安装 yum 工具
sudo yum install -y yum-utils# 安装成功 配置docker yum 源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 配置yun源加速 (推荐)
  • 让你的yum加速起来

3.安装docker

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin# 过程超慢 等了近一个小时
# 看的最后 输出 Complete! 就是成功# 不想慢 可以换 yum 加速源

4.启动和校验

# 启动docker
sudo systemctl start docker# 使用 docker 输入命令
sudo docker run hello-world#执行docker ps命令,如果不报错,说明安装启动成功
docker ps# 检查版本
docker -v# 查看镜像
docker images# 停止docker
sudo systemctl stop docker

5.设置 docker 开机自启动

sudo systemctl enable docker# Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
# 输出上诉命令即为成功!

6.配置docker镜像加速

  • 类似 npm 源,
  • 这里和yum源加速不是一个东西,yum源加速是下载 docker 本身
  • 这里加速的 docker 本身软件 下载镜像时的加速

使用腾讯云 Docker 镜像源加速镜像下载

安装 Docker 软件后,您可以直接通过 docker pull 命令拉取镜像。如您未配置镜像加速源,直接拉取 DockerHub 中的镜像,通常下载速度会比较慢。
为此,我们推荐您使用腾讯云 Docker 镜像源加速镜像下载。不同操作系统的详细操作步骤略有区别,请使用对应的操作步骤进行配置。
适用于 Linux 操作系统实例:

1.1 执行以下命令,打开 /etc/docker/daemon.json 配置文件。

vim /etc/docker/daemon.json

1.2 按 i 切换至编辑模式,添加以下内容,并保存。

{"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}

1.3 执行以下命令,重启 Docker 即可。示例命令以 CentOS 7 为例。

sudo systemctl restart docker

基本命令

# 拉取镜像
docker pull <name># 查看镜像
docker images# 删除镜像
docker rmi <name># 运行镜像
docker run [OPTIONS] IMAGE [COMMAND]
# [OPTIONS] 前置配置
# [COMMAND] 指令
# eg
docker run -d \-- name mysql \-p 3306:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=root \mysql/mysql-server# -v 数据卷挂载 语法【 -v 宿主机:容器内 】宿主机的目录必须以 ./ 或 / 开头
docker run -d \-- name nginx \-p 80:80 \-v /path/path:/path/pathnginx# 查看容器
docker ps#查看所有容器(包括已停止的容器)
docker ps -a 
# 状态为 "Exited",则表示容器已停止# 启动容器&重新启动容器
docker start <容器ID或名称>
docker stop <容器ID或名称># 容器中执行命令
docker exec <容器名称或ID> ls #查看容器内文件
# eg 
# -it 表示 交互式终端 模式
docker exec -it <id&name> sh 
#退出时 输入 exit 并按回车键# 移除容器 -- 移除前需要 停止容器
docker rm <容器ID或名称># 强制移除容器 (无论容器状态),强制删除正在运行的容器可能会导致数据丢失或应用程序错误,请确保不需要该容器后再删除
docker rm -f <容器ID或名称># 查看容器运行日志
docker logs <容器ID或名称> # 查看镜像软件的版本# 查看配置信息
docker info

容器化 docker 安装 Mysql

执行命令 安装并运行 mysql

docker run -d \-- name mysql \-p 3306:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=root \mysql
#大概率直接报错,运行下面吧
# 上面实在无法执行的话执行下面
docker run -d \--name mysql \-p 3306:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=root \mysql/mysql-server
  • 解释
这是一个使用Docker运行MySQL的命令。下面是对命令中各个参数的解释:1. `docker run`:这是Docker命令,用于运行一个Docker容器。 -d 是让容器在后台运行2. `--name mysql`:为Docker容器指定一个名称,这里设置为`mysql`。3. `-p 3306:3306`:将主机的3306端口映射到容器的3306端口。这意味着你可以在主机上通过3306端口访问MySQL服务。4. `-e TZ=Asia/Shanghai`:设置容器的时区为Asia/Shanghai。这将影响容器内应用程序的时间和日期处理。5. `-e MYSQL_ROOT_PASSWORD=root`:设置MySQL的root用户的密码为`root`。这将允许你使用此密码登录MySQL。6. `mysql`:这是要运行的Docker镜像名称。Docker将从Docker Hub下载名为`mysql`的镜像,并根据上述参数运行一个MySQL容器。总之,这个命令将下载并运行一个名为`mysql`的Docker容器,映射主机的3306端口到容器的3306端口,设置时区为Asia/Shanghai,并将root用户的密码设置为`root`。在容器运行后,你可以使用`mysql`命令行客户端或其他MySQL客户端工具连接到这个MySQL实例。

解决报错 Error response from daemon

docker: Error response from daemon: pull access denied for name, repository does not exist or may require 'docker login':

注册&登录 dockerhub

  • 使用命令
docker login
# 之后输入 dockerhub 注册的用户名和密码
# 输出 Login Succeeded 即可

# 容器化 docker 安装 nginx的过程

# 在 docker hub 中搜索 nginx 镜像
# 拉取 nginx 镜像
# 查看本地镜像
# 创建并运行nginx容器
# 查看容器
# 停止容器
# 启动容器
# 进入容器执行命令
# 删除容器# 记得使用 docker login 检查登录 
docker pull nginx
docker images
docker run -d \-- name ngnix \-p 80:80 \nginx
docker ls #  docker ls -a
docker stop <id>
docker start <id>
docker exec <id> ls #exit 退出
docker rm <id>

数据卷

数据卷volume是一个虚拟目录,是容器内目录宿主机目录之间的影射桥梁

目标:便于操作容器内文件

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

基本使用命令:

# 创建数据卷
docker volume create <name># 查看
docker volume ls <name># 查看某个数据卷详情
docker volume inspect <name># 删除
docker volume rm <name># 清空数据卷
docker volume prune

常用镜像容器数据卷目录

# nginx
/usr/share/nginx/html# mysql 

🦖我是Sam9029,一个前端

文章若有错误,敬请指正🙏

🐱‍🐉🐱‍🐉恭喜你,都看到这了,求收藏,求评论,求一个大大的赞👍!不过分吧

Sam9029的博客_CSDN博客-JS学习,CSS学习,Vue-2领域博主

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

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

相关文章

嵌入式学习-网络编程-Day4

思维导图 广播通信模型 #include <myhead.h> int main(int argc, char const *argv[]) {int rfd socket(AF_INET,SOCK_DGRAM,0);if(rfd-1){perror("socket error");return -1;}//填充地址信息结构体struct sockaddr_in rin;rin.sin_familyAF_INET;rin.sin_por…

2024年甘肃省职业院校技能大赛信息安全管理与评估 样题一 模块二

竞赛需要完成三个阶段的任务&#xff0c;分别完成三个模块&#xff0c;总分共计 1000分。三个模块内容和分值分别是&#xff1a; 1.第一阶段&#xff1a;模块一 网络平台搭建与设备安全防护&#xff08;180 分钟&#xff0c;300 分&#xff09;。 2.第二阶段&#xff1a;模块二…

安泰功率信号源设计方法有哪些

在电子系统中&#xff0c;功率信号源是一个关键的组成部分&#xff0c;用于提供稳定、可靠的电能。这篇文章将详细介绍功率信号源的设计方法&#xff0c;包括选择功率源类型、设计电源拓扑结构、提高效率和管理电磁干扰等方面。 1.功率源类型的选择 选择适当的功率源类型是功率…

【LintCode】892.外星人字典

题目 描述 有一种新的使用拉丁字母的外来语言。但是&#xff0c;你不知道字母之间的顺序。你会从词典中收到一个 非空的 单词列表&#xff0c;其中的单词在这种新语言的规则下按字典顺序排序。请推导出这种语言的字母顺序。 注意&#xff1a; 你可以假设所有的字母都是小写…

MSSQL-识别扩展extended event(扩展事件)中的时间单位

经常使用sqlserver extended event(扩展事件)&#xff0c;但是总是忘记扩展事件使用的时间单位&#xff0c;不确定它们是 秒、毫秒、还是微秒&#xff1f; 以下下代码能够从 相关DMV中提取description字段内容来识别时间单位&#xff1a; SELECT [p].[name] [package_name],[o…

07. 面向对象编程(一)

目录 1、前言 2、类和对象 2.1、定义类 2.2、定义方法 2.3、创建对象 2.4、访问控制 2.4.1、公共变量 2.4.2、私有变量 2.4.3、保护成员 2.4.4、总结 3、封装 4、继承 5、多态 6、小结 1、前言 在Python中&#xff0c;面向对象编程&#xff08;Object-Oriented …

Hoppscotch (PostWoman)调试工具的介绍及详细使用方法

Postwoman是一款强大的API调试工具&#xff0c;可通过用户友好的界面发送和接收HTTP请求&#xff0c;以及测试和调试API端点。 以下是Postwoman的详细使用方法&#xff1a; 直接启动Hoppscotch &#xff1a; 在浏览器中打开Hoppscotch 的官方网站&#xff1a;Hoppscotch • Op…

vuex的初步使用-1

1. 介绍 Vuex 是一个 Vue 的 状态管理工具&#xff0c;状态就是数据。 简单讲&#xff1a;Vuex 就是一个插件&#xff0c;可以帮我们管理 Vue 通用的数据 (多组件共享的数据)。相对于一个仓库&#xff1a;存放组件共享的数据。 2. 安装 vuex 安装vuex与vue-router类似&…

C语言第六十一弹---求最小公倍数

使用C语言求最小公倍数 定义:两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。 方法一:乘积/最大公因数法 已知 最小公倍数 整数乘积 / 最大公因数 思路:使用辗转相除法,获取最大公因数,然后使用整数乘积除以最大公因…

SpringMVC下半篇之拦截器

学习目标 拦截器文件上传异常处理器ssm整合 1.拦截器 1.1.什么是拦截器&#xff1f; ​ Spring MVC中的拦截器&#xff08;Interceptor&#xff09;类似于Servlet中的过滤器&#xff08;Filter&#xff09;&#xff0c;它主要用于拦截用户请求并作相应的处理。例如通过拦截…

基于Mapbox的Mvt矢量瓦片集成实践

目录 前言 一、数据说明 1、基本数据 2、属性数据 二、Mapbox集成Mvt矢量瓦片 1、关于访问令牌 2、定义html 3、初始地图 4、加载矢量瓦片 5、效果展示 总结 前言 熟悉矢量瓦片的朋友一定知道&#xff0c;在Webgis当中&#xff0c;矢量瓦片的格式除了pbf的格式&#x…

前端已死,我们的出路究竟在哪里?

最近前端已死这个话题很火&#xff0c;同时带来的社会效应也很大。在外行看来&#xff0c;以为市场上已经不需要前端了&#xff0c;原本要入行的朋友们也不敢入行了&#xff1b;对于已经入行的朋友们&#xff0c;也会因为这句话增添几分焦虑。 那么前端这个行业的现状到底如何…

UE5 C++的TCP服务器与客户端

客户端.h 需要在Build.cs中加入模块:"Networking","Sockets","Json","JsonUtilities" // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include…

c++八股8

友元函数能不能是虚函数&#xff1a; 友元函数不属于类的成员函数&#xff0c;它独立于类存在&#xff0c;因此不存在是否为虚函数的概念。友元函数主要用于突破类的封装性&#xff0c;使外部函数能访问类的私有和保护成员&#xff0c;它与类的继承和多态无关。TCP三握四挥&…

SQL进阶2

5、检查CHECK约束 CHECK 约束主要用于通过将插入的值限制为遵循定义的值、范围或格式规则的值来强制域完整性。 5.1 CHECK 约束&#xff08;检查性约束&#xff09;用来限制字段的取值范围。 在 CHECK 约束中添加限制条件&#xff0c;只有满足这些条件的值才允许进入该字段。 …

媒体捕捉-iOS中的人脸识别

引言 在如今的移动应用和直播场景中&#xff0c;我们常常能体验到一种颇具趣味与互动性的功能&#xff1a;无论是美颜相机中的萌趣贴纸精准附着于人脸关键点上&#xff0c;还是主播们在直播时实时戴上可爱的虚拟动物耳朵或动态装饰物&#xff0c;这些令人眼前一亮的效果背后&a…

Redis的常用场景有哪些?

1、缓存 缓存现在几乎是所有中大型网站都在用的必杀技&#xff0c;合理的利用缓存不仅能够提升网站访问速度&#xff0c;还能大大降低数据库的压力。Redis提供了键过期功能&#xff0c;也提供了灵活的键淘汰策略&#xff0c;所以&#xff0c;现在Redis用在缓存的场合非常多。 …

算法训练营Day42

#Java #动态规划 # Feeling and experiences&#xff1a; 买卖股票的最佳时机III&#xff1a;力扣题目链接 给定一个数组&#xff0c;它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意&#x…

docker:环境安装

系列文章目录 docker&#xff1a;环境安装 文章目录 系列文章目录前言一、Debian安装1.镜像下载2.VM安装3.Debian安装 二、docker安装1.Debian12换源2.docker安装3.docker测试4.docker换源 总结 前言 因为CentOS7确定停服时间为6月30日&#xff0c;虽然对我这种小虾米没啥影响…

dubbox框架

1、dubbox介绍 Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个基于Java的高性能RPC&#xff08;Remote Procedure Call&#xff09;框架&#xff0c;使得应用可通过高性能的 RPC 实现服务的输出和输入功能&#xff0c;可以和 Spring框架无缝集成。后期阿里巴巴停止了该项目…