docker笔记1-安装与基础命令

docker的用途:

  1. 可以把应用程序代码及运行依赖环境打包成镜像,作为交付介质,在各种环境部署。
  2. 可以将镜像(image)启动成容器(container),并提供多容器的生命周期进行管理(起、停、删)
  3. container容器之间相互隔离,且每个容器都可以设置资源限额
  4. 提供轻量化虚拟功能,容器在宿主机中就是一个个虚拟的空间,彼此相互隔离,完全独立。

docker的安装

确定centos内核版本

        查看centos内核版本   内核版本不能低于3.10

        查看命令:uname -r

基础环境配置

##配置yum源
wget -O /etc/yum.repos.d/CentOs-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo##清除yum缓存
yum clean all##生成yum缓存    
yum makecache##安装一些基础依赖,避免最小安装的虚拟机少一些命令不能使用(可省略)
yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc ntpdate openldap-devel##关闭防火墙
systemctl stop firewalld##关闭防火墙开机自启
systemctl disable firewalld

开启linux内核流量转发

##开启流量转发
cat <<EOF > /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.ip_forward=1
EOF##加载修改内核参数,使配置生效
sysctl -p /etc/sysctl.d/docker.conf

报错:

sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: 没有那个文件或目录
sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: 没有那个文件或目录

使用yum安装docker

配置yum仓库

##配置docker 的阿里云yum仓库
curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repocurl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo##更新yum缓存
yum clean all && yum makecache

安装docker

查看可安装社区版本:yum list docker-ce --showduplicates |sort -r

安装docker 社区版20.10.6 版本

yum install docker-ce-20.10.6 -y

配置docker加速器

        配置国内的镜像加速源,提高镜像下载速度

##创建docker配置文件目录
mkdir -p /etc/docker##创建docker配置文件
touch /etc/docker/daemon.json##编辑配置文件
vim /etc/docker/daemon.json##添加阿里的加速器
{"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
}##加载配置文件
systemctl daemon-reload#设置该配置开机自启
systemctl enable docker##启动docker
systemctl restart docker

 设置开机启动

看下docker启动是否正常

docker 镜像基础命令

搜索镜像

docker search 镜像名称:版本标签(可省略)

拉取镜像

标题

命令

示例

拉取镜像最新版本

docker pull <镜像名称>

拉取最新版的 Ubuntu 镜像:

docker pull ubuntu

拉取特定版本(标签)的镜像

docker pull <image-name>:<tag>

拉取 Ubuntu 18.04 版本的镜像:

docker pull ubuntu:18.0

从非官方仓库拉取镜像

docker pull <repository>/<image-name>:<tag>

从私有仓库 myregistry.com 拉取名为 myapp 的镜像,标签为 v1.0:

docker pull myregistry.com/myapp:v1.0

需要认证的私有仓库拉取镜像,首先需要使用 docker login 命令登录:docker login <repository>

查看本地镜像

#命令1 - 查勘所有镜像
docker image ls
#命令2 命令1的简写
docker images 
# 命令3 -查找某个镜像
docker images 镜像名
#查找单个镜像的单个版本
docker images 镜像名:版本标签#只查看镜像的id
docker images -q

REPOSITORY:仓库名

TAG:标签(版本)

IMAGE ID:镜像id

CREATED:创建时间 

SIZE:占用空间

本地镜像存储目录:/var/lib/docker/image/overlay2/imagedb/content/sha256

里边存放的文件为json格式,

删除本地镜像

#根据镜像名删除
docker rmi 镜像名:版本标签#根据镜像id删除
docker rmi 镜像名id (镜像id可是id的前三位或完整id)#如果报以下错误,证明镜像被启动过,被容器依赖,需要先删除依赖这个镜像的容器,在删除镜像
#Error response from daemon: conflict: unable to remove repository reference "hello-world:latest" (must force) - container a3d5a322e732 is using its referenced image d2c94e258dcb#查看运行过的容器
docker ps -a#删除容器
docker rm 容器id#批量删除镜像

docker  rm 删除容器 docker rmi 删除镜像

查看镜像详细信息

docker image inspect 镜像名称:版本标签/镜像id

启停容器 - 查看容器进程 

#启动镜像命令
docker run 可选参数 镜像名称/镜像id 
示例:docker run -d -p 80:80 nginx
-d:后台启动
-p 80:80 端口映射,宿主机端口映射容器端口,访问宿主机的80映射到容器内的80端口 

查看容器运行进程

docker ps

CONTAINER ID:容器id

停止容器运行

docker stop 容器id

启动容器:

docker start 容器id

利用docker获取不同版本系统镜像

一个完整的系统是由linux内核 + 发行版(例如:centos 、redhat、suse)才组成一个系统,利用docker容器可以获取不同的发行版镜像,然后基于该镜像运行出各种容器去使用.

#获取发型版镜像
docker pull 镜像名称:版本号
#运行容器且进入容器内部 -i 交互式命令操作 -t开启一个终端 bash进入容器
docker run -it 镜像id bash

示例:

#示例:
#获取centos镜像
# docker pull centos (默认最新版本)
#查看镜像id
#docker images
#运行镜像
#docker run -it e6a0117ec169 bash
#退出 exit

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

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

相关文章

多线程的基本使用与多线程中条件变量的使用——消费者生产者问题实例

多线程的基本使用与多线程中条件变量的使用——消费者生产者问题实例 本文主要涉及多线程的使用方法&#xff0c;通过两个实例来对多线程的使用进行理解&#xff0c; 案例包括&#xff1a; 1.一个线程负责计数&#xff0c;另一个线程负责打印计数值 2.消费者生产者问题 文章目录…

flutter 实战 之 dio小实践

我们要对dio进行封装 class HttpRequest {static Future request(String url,{String method "get",Map<String,dynamic>? params})async{// 创建dio实例BaseOptions baseOptions BaseOptions(baseUrl: base_url,connectTimeout: Duration(seconds: 1));fi…

Pinely Round 3 (Div. 1 + Div. 2)(A~D)(有意思的题)

A - Distinct Buttons 题意&#xff1a; 思路&#xff1a;模拟从&#xff08;0,0&#xff09;到每个位置需要哪些操作&#xff0c;如果总共需要4种操作就输出NO。 // Problem: A. Distinct Buttons // Contest: Codeforces - Pinely Round 3 (Div. 1 Div. 2) // URL: https…

射频芯片CMT2310-DEMO 通信覆盖测试体验

CMT2310是一款超低功耗,高性能的射频收发器,申请一套原厂CMT2310演示demo来验证下Sub-868设备在国内城市环境通信覆盖效果。 城市道路实测情况 测试小结&#xff1a;设备已基于外置天线&#xff0c;且以最佳方位做验证&#xff0c;但测试结果数据不是很理想。

【12.23】转行小白历险记-算法02

不会算法的小白不是好小白&#xff0c;可恶还有什么可以难倒我这个美女的&#xff0c;不做花瓶第二天&#xff01; 一、螺旋矩阵 59. 螺旋矩阵 II - 力扣&#xff08;LeetCode&#xff09; 1.核心思路&#xff1a;确定循环的路线&#xff0c;左闭右开循环&#xff0c;思路简…

【JAVA】分布式链路追踪技术概论

目录 1.概述 2.基于日志的实现 2.1.实现思想 2.2.sleuth 2.2.可视化 3.基于agent的实现 4.联系作者 1.概述 当采用分布式架构后&#xff0c;一次请求会在多个服务之间流转&#xff0c;组成单次调用链的服务往往都分散在不同的服务器上。这就会带来一个问题&#xff1a;…

R语言基础 | 安徽某高校《统计建模与R软件》期末复习

第一节 数字、字符与向量 1.1 向量的赋值 c<-(1,2,3,4,5) 1.2 向量的运算 对于向量&#xff0c;我们可以直接对其作加&#xff08;&#xff09;&#xff0c;减&#xff08;-&#xff09;&#xff0c;乘&#xff08;*&#xff09;&#xff0c;除&#xff08;/&#xff09…

模型评估系列:回归模型的评估指标介绍和代码实践

文章目录 1. 简介2. 回归评估指标2.1 平均绝对误差&#xff08;MAE&#xff09;2.2 均方误差&#xff08;MSE&#xff09;2.3 均方根误差&#xff08;RMSE&#xff09;2.4 R平方&#xff08;决定系数&#xff09;2.5 调整后的R平方2.6 交叉验证的R22.7 回归评估指标 - 结论 3 设…

【经典LeetCode算法题目专栏分类】【第10期】排序问题、股票问题与TOP K问题:翻转对、买卖股票最佳时机、数组中第K个最大/最小元素

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推荐--…

气压计LPS28DFW开发(2)----水压检测

气压计LPS28DFW开发.2--水压检测 概述视频教学样品申请完整代码下载水压计算设置速率和分辨率轮询读取数据测试结果 概述 本文将介绍如何使用 LPS28DFW 传感器来读取的压强数据&#xff0c;来估算水下深度&#xff0c;可以利用液体静压的原理。 最近在弄ST和瑞萨RA的课程&…

mac m1芯片 pytorch安装及gpu性能测试

pytorch 使用mac的m1芯片进行模型训练。 #小结&#xff1a;在数据量小和模型参数少&#xff0c;batch_size小时&#xff0c;cpu训练更快&#xff08;原因&#xff1a;每次训练时数据需要放入GPU中&#xff0c;由于batch_size小。数据放入gpu比模型计算时间还长&#xff09; 在…

方法论系列:数据科学框架入门

目录 第一章 - 数据科学家如何战胜困难第二章 - 数据科学框架第三章 - 步骤1&#xff1a;定义问题和步骤2&#xff1a;收集数据第四章 - 步骤3&#xff1a;准备数据第五章 - 数据清洗的4个C&#xff1a;纠正、补全、创建和转换第六章 - 步骤4&#xff1a;使用统计学进行探索性…