当前位置: 首页 > news >正文

1、docker入门

文章目录

  • 1、tocker简介
  • 2、tocker的安装&环境配置
  • 2、配置阿里云镜像
  • 3、基本命令
    • 1、镜像命令
    • 2、docker基本命令
    • 3、镜像基本命令
    • 4、Docker 容器常用命令

1、tocker简介

新一代的虚拟化技术

2、tocker的安装&环境配置

在这里插入图片描述

uname -r

1、首先查看liunx的内核

在这里插入图片描述

yum update -y

2、更新yum源为最新,过程可能有点久耐心等待

在这里插入图片描述

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

3、安装Docker所需要的工具包
在这里插入图片描述

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

4、将docker的源换成国内的,两个都要执行

在这里插入图片描述

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

5、这个时候我们就可以正式下载我们的docker了,两个-y的意思是等下要进行确定

在这里插入图片描述

systemctl start docker
systemctl enable docker

6、启动我们的docker并且设置docker的开机自启动

在这里插入图片描述

docker version

7、查看我们的docker的版本,查看我们docker是否安装成功

2、配置阿里云镜像

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
1、首先我们去注册一个阿里云账号,为什么要进行一个阿里云的配置,因为我们再后面要自定义镜像它就要一个地方进行存放
在这里插入图片描述

{"registry-mirrors": ["https://d66whsnz.mirror.aliyuncs.com"]
}

2、我们用cd 进入到docker下面创建一个文件夹叫daemon.json,然后进入用i进行一个编辑,放入我们自己阿里云的一个仓库,然后保存并退出

在这里插入图片描述

systemctl daemon-reload
systemctl restart docker

3、然后用该命令进行刷新一下

在这里插入图片描述

docker run hello-world

4、我们可以测试一下,如果安装时间比较快的话那就是已经安装成功了,以为用的国内的源所以下载的比较快

3、基本命令

1、镜像命令

#查询
docker images ...
docker search ...
#新增
docker pull ...
docker push ...
#删除
docker rmi ...
docker rmi -f ...

2、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

3、镜像基本命令

1.docker images 列出本机所有镜像
docker images
名称介绍
REPOSITORY镜像的仓库源
TAG镜像的标签(版本)同一个仓库有多个TAG的镜像,多个版本;我们用REPOSITORY:TAG来定义不同的镜像;
IMAGE ID镜像ID,镜像的唯一标识
CREATE镜像创建时间
SIZE镜像大小
OPTIONS可选参数:
-a显示所有镜像(包括中间层)
-q只显示镜像ID
-qa可以组合
–digests显示镜像的摘要信息
–no-trunc显示完整的镜像信息
2.docker search 搜索镜像
OPTIONS可选参数:
–no-trunc显示完整的镜像描述
-s列出收藏数不小于指定值的镜像
–automated只列出Docker Hub自动构建类型的镜像
3.docker pull 下载镜像

docker pull 镜像名称:[TAG]
注意:不加TAG,默认下载最新版本latest

4.docker rmi 删除镜像

1,删除单个:docker rmi 镜像名称:[TAG]
如果不写TAG,默认删除最新版本latest
有镜像生成的容器再运行时候,会报错,删除失败;
我们需要加 -f 强制删
2,删除多个:docker rmi -f 镜像名称1:[TAG] 镜像名称2:[TAG]
中间空格隔开
3,删除全部:docker rmi -f $(docker images -qa)

4、Docker 容器常用命令

1、Docker创建并启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

–name=“容器新名字”:为容器指定一个名称;
-i:以交互模式运行容器,通常与-t或者-d同时使用;
-t:为容器重新分配一个伪输入终端,通常与-i同时使用;
-d: 后台运行容器,并返回容器ID;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

启动普通容器: docker run --name 别名 镜像ID
启动交互式容器: docker run -it --name 别名 镜像ID 来运行一个容器,取别名,交互模式运行,以及分配一个伪终端,并且进入伪终端;

2、Docker列出容器

docker ps [OPTIONS]

OPTIONS说明:
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
–format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
–no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。

docker ps 查看正在运行的容器
docker ps -a 查看所有容器
docker ps -n 2 显示最近创建的2个容器
docker ps -f status=exited 查看停止的容器

3、Docker退出容器

exit 容器停止退出
ctrl+P+Q 容器不停止退出

4、Docker进入容器

a、docker attach 容器ID or 容器名 
实例:
docker attach ce6343ee288f
不能进入停止的状态的容器
You cannot attach to a stopped container, start it firstb、Docker进入容器执行命令
docker exec -it 容器名称 或者 容器ID 执行命令
实例:docker exec -it tomcat02 ls -l /root/webapp02

5、Docker启动容器

docker start 容器ID or 容器名实例:docker start mycentos00

6、Docker重启容器

docker restart 容器ID or 容器名实例:docker restart f9cadea1a5e7

7、Docker停止容器

docker stop 容器ID or 容器名

8、Docker删除容器

docker rm 容器ID  如果删除正在运行的容器,会报错,我们假如需要删除的话,需要强制删除;
强制删除docker rm -f 容器ID删除多个容器 
docker rm -f 容器ID1  容器ID2 中间空格隔开
实例:
docker rm 865b755cd0b2 ce6343ee288f删除所有容器
docker rm -f $(docker ps -qa)

9、Docker容器日志

$ docker logs [OPTIONS] CONTAINEROptions:--details        显示更多的信息-f, --follow         跟踪实时日志--since string   显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)--tail string    从日志末尾显示多少行日志, 默认是all-t, --timestamps     显示时间戳--until string   显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
http://www.lryc.cn/news/308785.html

相关文章:

  • Qt应用软件【测试篇】cppchecker静态代码检查
  • [递推与递归]数的计算
  • Cocos Creator 3.8.x 后效处理(前向渲染)
  • 【前端素材】推荐优质后台管理系统 Adminity平台模板(附源码)
  • 身份证号与姓名实名认证接口-二要素实名认证-C++接口代码
  • 笑营宝高校选修课报名考勤系统源码开发方案
  • 类型字段定义影响WebApi传值及SqlSugar调用Select创建新对象
  • golang 函数式编程库samber/mo使用: IO
  • 在OceanBase使用中,如何优化因Join估算不准导致执行计划选错的问题
  • potplayer安装
  • PostgreSQL 与MySQL 对比使用
  • 配置nginx代理访问openai接口
  • 使用Python语言实现一个基于动态数组的序列队列
  • 面试数据库篇(mysql)- 07索引创建原则与失效及优化
  • 《互联网的世界》第三讲-tcp
  • JOSEF约瑟 JZS-7G-42 AC220V静态可调延时中间继电器 端子式导轨安装15ms-10s
  • Hudi配置参数优化
  • 适用Java SpringBoot项目的分布式锁
  • 面试笔记系列二之java基础+集合知识点整理及常见面试题
  • 搭建LNMP环境并搭建论坛和博客
  • 蓝桥杯刷题2
  • 低代码与国产化部署:软件开发的未来趋势与应用实践
  • 【Python笔记-设计模式】迭代器模式
  • Linux基本指令(上)
  • 浅谈XSS简单漏洞xss-labs-master(初级)
  • WordPress分类目录ID怎么看?如何查找WordPress标签ID?
  • 达梦数据库基础操作(一):用户操作
  • Java进阶(锁)——锁的升级,synchronized与lock锁区别
  • Flask+Gunicorn中文乱码解决方案
  • vue3的开发小技巧