Docker基础学习

目录

初始docker

安装docker

docker架构

配置docker镜像加速器

docker进程相关命令

docker镜像相关命令

docker容器相关命令

docker容器的数据卷


初始docker

我们写代码会接触好几个环境,如开发环境、测试环境、生产环境。代码从开发环境打包到测试环境,然后从测试环境打包到开发环境上,但是会出现一个问题,如果开发环境的jdk版本为8,测试环境的jdk环境为7,那么测试代码时就可能出错。因此由于环境不同造成的问题很常见,那么如何解决这类问题呢?
有一种方式就是,将环境和代码装进一个容器里,测试人员就在容器里面进行测试,规避了因为环境不同而造成的问题。最后再将该容器给运维人员进行测试。

docker是一个开源的应用容器引擎,诞生2013年初,基于go语言实现,docker可以让开发者打包他们的应用及依赖包(环境)一起打包到一个轻量级、可移植的容器中,然后发布到任何流行的linux机器上,并且容器之间相互隔离互不影响。

安装docker

本文基于centos 7安装一个docker,docker官网地址:https://www.docker.com/

1、首先准备一个linux系统,确保网络联通

2、使用以下终端命令安装docker

docker架构

docker由三部分组成:客户端(clients)、核心(hosts))、仓库(registries);安装完docker会有一个守护进程启动daemon,里面包含镜像和容器,镜像来源于远程的仓库。客户端docker发送命令给进程,这样进程就启动起来了。

配置docker镜像加速器

一般有阿里云、网易云、中科大等,在这里选择阿里云的镜像加速器;

1、打开浏览器搜素“阿里云”,进行登录;

2、菜单栏的产品与服务搜搜“容器镜像服务”,页面出来后点击菜单栏最下面的“镜像加速器”,根据操作文档配置;

3、直接将该命令复制粘贴到终端控制台即可;

4、cat 验证一下配置是否成功。

docker进程相关命令

1、启动:systemctl start docker

2、查看状态:systemctl status docker

3、停止:systemctl stop docker

4、重启:systemctl restatrt docker

5、开机启动 :systemctl enable docker (每次开机自启动)

docker镜像相关命令

1、查看:docker images

第一列为镜像名称,第二列为版本号。第三列为标识号,第四列为创建时间,第五列为镜像大小;

2、搜索:docker search redis

3、拉取镜像:docker pull redis:版本号(默认为latest)

具体版本号可以在官方查看。

4、删除:

docker rmi 镜像ID

docker rmi 名字:版本

一次性删除所有镜像:

(查看镜像列表ID)docker images -q

docker rmi  ' docker images -q'

docker容器相关命令

1、查看容器:docker images

2、创建并进入容器:docker run -it --name=c1(取名) centos:7 /bin/bash

现在就进入到容器内部了

使用-id参数不会自动进入容器内部:docker run -id --name=c2 centos:7 

直接进入容器:docker exec -it c2 /bin/bash

3、退出容器:exit

4、查看容器(正在运行的容器):docker ps

注意:使用-it创建的容器,使用exit退出后,该容器也自动退出了。因此使用该命令无法查看。

5、查看历史容器:docker ps -a 

6、删除容器:docker stop c2

7、启动容器:docker start c2

8、删除容器:docker rm c1

9、删除所有容器:

查看所有容器ID:docker ps -aq

docker rm 'docker ps -aq'  (只有把容器停掉才可以删掉)

10、查看容器信息:docker inspect c2

docker容器的数据卷

1、docker容器删除后,在容器中产生的数据也会随之销毁。

2、docker容器和外部机器不可以直接交换,但是可以间接,外部机器将数据传进数据卷中,就可以直接同步交换。

3、容器之间通过挂载的方式完成数据交互。

数据卷式宿主机中的一个目录或文件;当容器目录和数据卷目录绑定后,对方的修改会立即同步。

一个数据卷可以被多个容器同时挂载。

创建容器时,使用-v参数,设置数据卷。

docker run ... -v 宿主机目录(文件):容器内目录(文件)...

容器目录必须是绝对路径;如果目录不存在,则会自动创建;可以挂载多个数据卷;

例1:一个容器挂载一个或多个数据卷

(1)查看容器:docker ps -a

(2)创建容器并挂载数据卷:docker run -it --name=c1 -v /root/data:/root/data_container centos:7 /bin/bash

docker run -it --name=c1 -v /root/data1:/root/data_container1 -v /root/data2:/root/data_container2 -v /root/data3:/root/data_container3 centos:7 /bin/bash

例2:两个容器挂载同一个数据卷

docker run -it --name=c2 -v /root/data:/root/data_container centos:7 /bin/bash

docker run -it --name=c3 -v /root/data:/root/data_container centos:7 /bin/bash

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

中医揿针的注意事项

点击文末领取揿针的视频教程跟直播讲解 关于揿针的注意事项,我们可以从以下几个方面进行探讨: 01操作前准备 1. 确保针具的清洁和无菌状态,以避免感染。 2. 了解患者的身体状况,如是否有特殊疾病或过敏史,以便选择…

如何使用Shortemall自动扫描URL短链接中的隐藏内容

关于Shortemall Shortemall是一款针对URL地址安全与Web内容安全的强大工具,该工具基于纯Python开发,专为Web安全方向设计,可以帮助广大研究人员以自动化的形式扫描URL短链接中的隐藏内容。 Shortemall的全名为ShortEm All,该工具…

前端框架 Vue 主要用来做什么的?

Vue.js 是一个流行的前端框架,主要用于构建交互式的用户界面。它的设计目标是通过简单的 API 提供高效的数据驱动视图层。Vue 具有响应式数据绑定和组件化的特性,使得开发者可以轻松地构建复杂的单页面应用 (SPA) 和动态网页。 1. 数据驱动视图 Vue 的…

百亿补贴为什么用 H5?H5 未来会如何发展?

百亿补贴为什么用 H5?H5 未来会如何发展? 本人有一些分析预测。当然,这些分析预测只是个人观点,如果你有不同的意见,欢迎在评论区讨论交流。 百亿补贴为什么用 H5 我们先看两张图,在 Android 手机开发者…

Spring简介IOCDI

文章目录 Spring简介Spring课程介绍为什么要学学什么怎么学 初识SpringSpring家族Spring发展史 Spring体系结构Spring核心概念目前代码存在的问题核心概念 IOC和DI入门案例IOC入门案例入门案例分析实现步骤实现代码 DI入门案例DI入门案例分析实现步骤实现代码图解演示 Bean的基…

美业收银系统源码-App/iPad/PC管理系统常见问题讲解(1)

博弈美业管理系统源码 连锁多门店美业收银系统源码 多门店管理 / 会员管理 / 预约管理 / 排班管理 / 商品管理 / 促销活动 PC管理后台、手机APP、iPad APP、微信小程序 1、平板iPad的评论内容,是从哪里评论的呢? 顾客在接受服务后,可以到…

这些小众软件让你秒变职场高手

工作繁忙,效率不高?别急,今天就要给你种草几款超实用的小众工作软件,让你的办公桌面焕然一新,效率翻倍!👀 1️⃣《亿可达》 🖥️ 它是一款自动化工具,相当于国内版免费…

Pytorch如何计算网络参数

方法一. 利用pytorch自身 PyTorch是一个流行的深度学习框架,它允许研究人员和开发者快速构建和训练神经网络。计算一个PyTorch网络的参数量通常涉及两个步骤:确定网络中每个层的参数数量,并将它们加起来得到总数。 以下是在PyTorch中计算网…

Secnet-智能路由系统 actpt_5g.data 信息泄露漏洞复现

0x01 产品简介 Secnet安网智能AC管理系统是广州安网通信技术有限公司(简称“安网通信”)的无线AP管理系统。 0x02 漏洞概述 Secnet-智能路由系统 actpt_5g.data 接口存在信息泄露漏洞,未经身份验证的远程攻击者可以利用此漏洞获取系统账户…

免费吃外卖美团饿了么霸王餐cps返利h5公众号小程序开源版开发

免费吃外卖美团饿了么霸王餐cps返利h5公众号小程序开源版开发 外卖点餐高额返现、无需招商、无需垫资均、佣金35%~61%、私域运营持续稳定。 价格实惠低成本创业、配置简单最快10分钟上线、个体企业都可创建、H5小程序公众号、 2024新风向高佣才是硬道理。 01业务简介 业务模…

【一触即发】快来围观C3安全大会酷炫九宫格!

C3安全大会2024 2024年5月18日 南京扬子江国际会议中心 C3安全大会2024 即将揭幕! 图解C3 | 九宫格 数智变革,“AI”正以其颠覆性力量,重塑我们对未来的定义。亚信安全邀您共襄盛举,见证这场于5月18日盛大开幕的C3安全大会2024…

精酿之魂:精酿啤酒的酿造工艺与技术

啤酒,作为世界上古老的酒精饮品,其酿造工艺与技术经历了数千年的发展和演变。而在这一过程中,精酿啤酒逐渐崭露头角,成为了啤酒界的璀璨明星。作为精酿啤酒的品牌,Fendi club啤酒凭借其与众不同的酿造工艺与技术&#…

C++下使用Matplotlib-cpp的一些配置

Aconda3安装使用 https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/下载 切换清华源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ con…

Peter算法小课堂—序列切割

讲序列切割之前,先来个铺垫 高手集训 题目描述: 课程表里有连续的n天可以供你选择,每天都有专题课程。其中第i天的专题趣味程度为h[i]。假设你选择了其中连续的若干天,从第l天到第r天。那么, 训练效果 h[l]*1 h[…

RS2105XN功能和参数介绍及PDF资料

RS2105XN 品牌: RUNIC(润石) 封装: MSOP-10 开关电路: 单刀双掷(SPDT) 通道数: 2 工作电压: 1.8V~5.5V 导通时间(Tonmax): 50ns RS2105XN是一款模拟开关芯片。以下是RS2105XN的功能和参数介绍: 功能: 2通道单刀双掷(SPDT)模拟开关…

抱怨无用,行动破局

故事的开始 这个专栏,以及本文的目的,是为了记录我从创立盘多啦这个平台开始,到后续的发展历程的专栏。同时也是给自己一个坚持的动力和警醒的作用。 首先,我是一名程序员,并且对于自身感兴趣的东西,都有…

使用Git管理github的代码库-上

1、下载安装Git https://download.csdn.net/download/notfindjob/11451730?spm1001.2014.3001.5503 2、注册一个github的账号(已经注册的,可略过这一步) 3、打开git命令行,配置github账号 git config --global user.name &quo…

自动化测试需知的4项测试工具

一般来说学自动化会建议大家先学selenium,因为最早的时候,自动化就代表selenium,进入测试行业就开始做接口测试,而且现在基本每个公司都需要接口测试。今天就和大家聊一下接口测试的工具。 一、Robot Framework 机器人框架。之所…

Bean的生命周期与循环依赖

如有不对的地方,还请大佬指正 Bean生命周期 扫描类 得到 BeanDefinition(包含bean的class等属性值) 后在BeanFactoryPostProcessor对bean实例化之前对Bean的元数据进行操作,修改Bean的属性值、添加自定义的BeanDefinition 实例化非懒加载单例bean1. …

秋招算法题——怪盗基德的滑翔翼

文章目录 题目描述思路分析思维误区 实现代码思路总结 题目描述 思路分析 注意点 只能从高到低方向一旦选择了,就确定了 问题转换 一旦确定了方向和起点后,就变为求以出发点为结尾的最长上升子序列是多少相当于同时确定两遍最长上升子序列&#xff0…