Docker:入门

news2024/9/21 5:31:34

目录

一、Docker简介

二、Docker安装及环境配置

准备工作

①通过 uname -r 命令查看你当前的内核版本

 ②使用 root 权限登录 Centos。确保 yum 包更新到最新

 ③卸载旧版本(如果安装过旧版本的话)

④安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

⑤设置yum源

⑥安装最新版本的Docker 

⑦启动Docker并设置开机启动

 ⑧验证Docker是否安装成功

三、Docker阿里云镜像仓库配置

①登录进入阿里云镜像服务中心,获取镜像地址

②创建一个daemon.json文件

③ 配置镜像加速器​编辑

④重启daemon以及重启docker服务

 ⑤测试

四、Docker的命令

基本命令

镜像命令

容器命令

一、Docker简介

Docker官网:Docker: Accelerated, Containerized Application Development

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。

一句话概括:新一代虚拟化技术

Docker的应用场景

Web 应用的自动化打包和发布。

自动化测试和持续集成、发布。

在服务型环境中部署和调整数据库或其他的后台应用。

从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

Docker 的优点

1、简化程序:

Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。

2、避免选择恐惧症:

如果你有选择恐惧症,还是资深患者。那么你可以使用 Docker 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。

3、节省开支:

一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。

二、Docker安装及环境配置

官网参考:Install Docker Engine on CentOS | Docker Documentation

准备工作

打开我们之前所装的虚拟机和虚拟机的连接工具,由于之前我们在虚拟机中安装了jdk 、mySQL 、tomcat 所以我们需要进入到纯净版的快照里面

 确保我们的当前用户为root

who am i

①通过 uname -r 命令查看你当前的内核版本

 uname -r

 ②使用 root 权限登录 Centos。确保 yum 包更新到最新

yum update -y

 需要一定的时间,我们要耐心等待

这是安装完毕后的截图

 ③卸载旧版本(如果安装过旧版本的话)

yum remove docker  docker-common docker-selinux docker-engine

安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

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

安装完之后也会显示完毕

设置yum源

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

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

安装最新版本的Docker 

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

安装成功

 如果出现下面问题

 

遇到这种情况有两种做法:

1、没网,试着:ping www.baidu.com

如果显示没有连接的话,就说明没网,也就无法使用yum 命令。

2、ping通了的话,还是是用不了yum命令,说明是yum镜像没有了,那么就得下载一个来更新。

在安装完CentOS后一般需要修改yum源,才能够在安装更新rpm包时获得比较理想的速度。国内比较快的有163源、sohu源。这里以163源为例子。

A、 cd /etc/yum.repos.d

B、 mv CentOS-Base.repo CentOS-Base.repo.backup

C、wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

D、mv CentOS6-Base-163.repo CentOS-Base.repo

E、yum clean all

最后在使用yum 就可以了。

启动Docker并设置开机启动

启动Docker:systemctl start docker

设置开机启动:systemctl enable docker

 ⑧验证Docker是否安装成功

docker version

 说明安装成功了

三、Docker阿里云镜像仓库配置

Docker默认远程仓库是Docker Hub

比如我们下载一个大点的东西,龟速

由于是国外主机,类似Maven仓库,慢得一腿,经常延迟,破损;

所以我们一般都是配置国内镜像,比如阿里云,网易云等;推荐阿里云,稳定点

我们安装好之后 可以运行一下docker run hello-world

本地仓库未能找到该镜像,然后去远程仓库寻找以及下载该镜像;

执行 docker run hello-world的过程看如下图例:

从远程拉取一个MySQL的镜像文件

 会比较慢

此时再看镜像文件就有两个

 推荐使用阿里云的镜像文件会更快一些

 进入阿里云镜像官方网址:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台 

①登录进入阿里云镜像服务中心,获取镜像地址

进入阿里云容器镜像服务地址:

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

通过使用钉钉登录阿里云

 按操作手册执行

 由于我们没有daemon.json这个文件

②创建一个daemon.json文件

③ 配置镜像加速器

 保存并且退出

 输入:wq之后 回车

再执行操作文档的命令 

④重启daemon以及重启docker服务

 ⑤测试

再拉取一次MySQL

 速度比之前要快好多

四、Docker的命令

基本命令

启动Docker

systemctl start docker

停止Docker

systemctl stop docker

重启Docker

systemctl restart docker

开机启动Docker

systemctl enable docker

查看Docker概要信息

docker info

查看Docker帮助文档

docker --help

查看Docker版本信息

docker version

镜像命令

docker images

列出本机所有镜像

 docker search 搜索镜像(阿里云仓库中有哪些镜像)

查看是否有redis的镜像

 docker pull 下载镜像

docker pull 镜像名称:[TAG]

注意:不加TAG,默认下载最新版本latest

docker rmi 删除镜像

1,删除单个:docker rmi 镜像名称:[TAG]

如果不写TAG,默认删除最新版本latest

有镜像生成的容器再运行时候,会报错,删除失败;

我们需要加 -f 强制删除

2,删除多个:docker rmi -f 镜像名称1:[TAG] 镜像名称2:[TAG]

中间空格隔开

3,删除全部:docker rmi -f $(docker images -qa)

容器命令

创建容器

docker run
docker run -di 
docker run -it
docker run --name

 能够再启动一个tomcat

 守护式方式创建并启动容器

docker run -di --name 别名 镜像ID 

 

 还能继续输入

启动容器并且进入容器

docker run -it --name 别名 镜像ID  /bin/bash命令

 进入已经创好的容器里面

docker exec -it 容器名称 或者 容器ID 执行命令

 退出:ctrl+p+q

 列出容器 docker ps(活着的)

docker ps -a

 删除容器
docker rm
docker rm -f

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

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

相关文章

统计信号处理基础 习题解答6-11

题目&#xff1a; 考虑WSS中估计DC电平问题&#xff0c;给定 其中 是零均值WSS随机过程&#xff0c;ACF为 &#xff0c;估计A。建议在 时用图6.5所示的FIR滤波器的输出来估计A。注意估计量为&#xff1a; 输入 假定在n<0 时为零。为了得到更好的估计量&#xff0c;我们希望…

近邻法总结

目录1.最近邻法2.k-近邻法3.近邻法的快速算法4.剪辑近邻法5.压缩近邻法6.错误率分析1.最近邻法 算法思想 对于一个新样本&#xff0c;把它逐一与已知样本比较&#xff0c;找出距离新样本最近的已知样本&#xff0c;以该样本的类别作为新样本的类别。算法描述 2.k-近…

【MySQL入门实战1】-数据库三大范式

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&#x1f61…

[oeasy]python0024_ 输出时间_time_模块_module_函数_function

输出时间 回忆上次内容 ​print​​函数 有个默认的 ​​end参数​ ​​end参数​​ 的值可以是任意字符串​​end参数​​ 的值会输出到结尾位置​​end参数​​ 的默认值是 ​​\n​​ 如果​​end​​是空串(​​end""​​) 意味着输出后不自动换行我可以手动在…

自制肥鲨HDO2电源延长线,支持3S~6S动力电池

自制肥鲨HDO2电源延长线&#xff0c;支持3S~6S动力电池1. 问题源由2. 破题思路2.1 10元大钞搞定2.2 两个毛爷爷搞定3. 解决方案4. 最终延长线产出4.1 裸照4.2 成品1. 问题源由 源由&#xff1a; 电池盒电源线接触不良。 肥鲨眼镜的电源盒问题由来已久&#xff0c;而且主要问题…

NNDL实验 知识点梳理

目录 实验内容 编程基础 机器学习基础 FNN CNN RNN 网络优化与正则化 扩展实验 建议自学实验 实验基本步骤 实验涉及知识点 知识点相关细节 更多细节 实验内容 编程基础 NNDL 实验一 numpy NNDL 实验二 pytorch 机器学习基础 NNDL 实验三 线性回归 NNDL 实验…

笔记(上):mysql-DuplicateUpdate和java的threadpool的“死锁“

今天给大家讲讲最近2个有意思的issue&#xff0c;分享一下我学到的 mysql DuplicateUpdate的用法要注意的点java的threadpool使用不当会造成“死锁”问题 mysql DuplicateUpdate的用法要注意的点 有个issue说遇到了一个这样的问题&#xff0c; 这个朋友使用我开源的job调度框…

软件包管理器yum与编辑器vim的使用

目录yum的背景yum的生态yum的本土化&#xff08;换源&#xff09;yum的使用查看软件包安装软件卸载软件vim的使用Vim的基本基本介绍Vim的模式切换Vim的光标定位Vim的文本复制Vim的文本编辑Vim的底行模式的操作vim的配置管理员权限(sudo)的配置yum的背景 yum的生态 在日常的生…

Node.Js基础知识

Node.Js架构 Natives modules 当前层内容由JS实现提供 应用程序可直接调用库&#xff0c;例如&#xff1a;fs、path、 http等JS语言无法直接操作底层硬件设置&#xff08;–》Builtin modules 胶水层&#xff09; Builtin modules 胶水层 在V8引擎下&#xff0c;主要是帮助…

geomtextpath | 成功让你的ggplot注释拥有傲人曲线!~

1写在前面 最近的世界杯结果的确是让人大跌眼镜&#x1f576;️, 日本队&#x1f1ef;&#x1f1f5;先后击败世界杯冠军, 德国队&#x1f1e9;&#x1f1ea;和西班牙队&#x1f1ea;&#x1f1f8;, 韩国队&#x1f1f0;&#x1f1f7;逆转葡萄牙&#x1f1f5;&#x1f1f9;, 踩着…

定时轮询-长轮询-websocket

一般网页 点击网页后&#xff0c;前端向后端 发送请求&#xff08;使用http协议&#xff09; 那么如何实现后端主动先前端发送数据&#xff0c;比如&#xff1a;网页游戏 聊天室 文件共享 扫码登入 http定时轮询 &#xff08;轮询&#xff09; 在前端代码中每隔一段时间向后…

宝塔面板Linux

目录 1.宝塔面板简介 2.安装与连接 3.安装软件 4.端口管理 5.宝塔面板设置 这里主要讲的是宝塔面板的主要操作&#xff0c;本节应与xshell与xftp共同使用 1.宝塔面板简介 宝塔面板是一款服务器管理软件&#xff0c;支持windows和linux系统&#xff0c;可以通过Web端轻松…

第六章- Verilog HDL 高级程序设计举例【Verilog】

第六章 Verilog HDL 高级程序设计举例【Verilog】前言推荐第六章 Verilog HDL 高级程序设计举例状态机用状态机设计1101序列检测器需要定义几个状态&#xff1f;代码设计——端口信号声明状态寄存器次态生成逻辑设计(C1模块)输出逻辑设计(C2模块)完整代码测试结果用状态机设计1…

vSphere-ESXi

VMware-vShpere 第一步&#xff1a; 在VMware虚拟机上安装一台ESXI 开启虚拟机 至此&#xff0c;虚拟机ESXI安装完毕 第二步&#xff1a;使用ESXI虚拟机IP上浏览器 登录后&#xff0c;上传一个映像文件至ISO文件 将VM虚拟机关机 手动添加一块硬盘 然后再使用虚拟机IP进入浏览器…

python入门——基础语法

python入门——基础语法 注释 单行注释&#xff1a;使用# 多行注释&#xff1a;使用 “”" “”" type()&#xff1a;查看数据的类型 int()&#xff1a;转化为整数 float()&#xff1a;转化为浮点数 str()&#xff1a;转化为字符串 标识符不可以使用这些 …

Spring WebFlux简单使用

官网&#xff1a;https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html 1.WebFlux介绍 Spring WebFlux 是 Spring Framework 5.0中引入的新的响应式web框架。与Spring MVC不同&#xff0c;它不需要Servlet API&#xff0c;是完全异步且非阻…

蓝桥杯嵌入式LCD屏幕

文章目录前言一、拷贝官方例程二、cubeMX配置三、LCD代码及函数分析使用四、sprintf函数总结前言 本篇文章将带大家学习LCD屏幕的操作&#xff0c;LCD的配置是非常复杂的&#xff0c;在比赛上去实现这些驱动程序基本上是不可能的&#xff0c;当然了比赛官方也是知道这一点的&a…

SpringMVC基础篇:MVC基础知识

第一章&#xff1a;SpringMVC引言 一&#xff1a;什么是SpringMVC 概念&#xff1a;SpringMVC是在Spring框架基础上衍生而来的一个MVC框架&#xff0c;主要解决了原有的MVC框架过程中控制器&#xff08;Controller&#xff09;的问题。 SpringMVC是Java开发当中最主流的web技…

了解软件测试

软件测试课程 1.1课程内容&#xff1a; 软件基础课程 ------设计测试用例方法 自动化课程&#xff08;web自动化&#xff09;------ 抢票功能 性能测试课程 ----项目性能测试 1.2 什么是测试 1.21 生活中测试的案例 坐地铁&#xff0c;做核酸&#xff0c;扫核酸码 比如当我…

[附源码]计算机毕业设计学生社团信息管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…