首页 > 其他分享 >Docker学习总结

Docker学习总结

时间:2022-09-02 09:25:16浏览次数:84  
标签:总结 容器 4.6 学习 2.2 镜像 Docker docker

目录

Docker学习总结


官网:https://www.docker.com/

仓库:https://hub.docker.com/

菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html

遇见狂神说:https://www.bilibili.com/video/BV1og4y1q7M4?p=1&vd_source=bfcdec9ac411cb82ad682cde70af03a7

1 Docker架构(C/S模式)

image-20220822152051070
  • 镜像:一个模板,可以通过它来创建容器服务。 (类)
  • 容器:通过镜像来创建,独立运行或组成集群、启动、停止、删除、暂停等。 (对象)
  • 仓库:代码控制中心,用来存储镜像。

2 CentOS Docker安装与卸载

2.1 一键安装

curl -sSL https://get.daocloud.io/docker | sh

2.2 手动安装

2.2.1 卸载旧版本

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

2.2.2 设置Docker仓库

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

2.2.3 设置仓库镜像为阿里云

sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
yum makecache		#更新配置

2.2.4 安装Docker Engine-Community 最新的 (docker安装完后默认未启动,会创建用户组,但组内没有用户)

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

2.2.5 启动Docker

sudo systemctl start docker

2.2.6 检查Docker Engine-Community 是否正确安装

sudo docker run hello-world
docker version			#查看docker版本信息

2.3 卸载Docker

2.3.1 卸载安装包

yum remove docker-ce

2.3.2 删除镜像、容器、配置文件

rm -rf /var/lib/docker

3 Docker基础

3.1 docker run 流程

3.2 底层原理

4 Docker常用命令

4.1 帮助命令

docker version		#显示docker版本信息
docker info			#显示docker系统信息,镜像、容器数量
docker 命令 --help	#查看docker命令的帮助信息

4.2 镜像命令

docker images		#查看主机上的所有镜像
docker images -a	#all 列出所有镜像
docker images -q	#quiet 只显示镜像id

REPOSITORY:镜像的仓库源

TAG:镜像的标签

IMAGE ID:镜像的id

CREATED:镜像的创建时间

SIZE:镜像的大小

4.3 搜索命令

docker search 镜像名	#搜索镜像
docker search mysql -f=stars=3000		#搜索stars数大于等于3000的MySQL镜像
docker search mysql --filter=stars=3000	 #同上

4.4 下载命令

docker pull	镜像名		#下载镜像
docker pull mysql		# docker pull mysql:5.7 指定下载mysql5.7
Using default tag: latest		#未指定tag,默认latest
latest: Pulling from library/mysql
32c1bf40aba1: Pull complete 		#分层下载 下载某个镜像的新版本时,共同的部分
3ac22f3a638d: Pull complete 
b1e7273ed05e: Pull complete 
20be45a0c6ab: Pull complete 
410a229693ff: Pull complete 
1ce71e3a9b88: Pull complete 
c93c823af05b: Pull complete 
c6752c4d09c7: Pull complete 
d7f2cfe3efcb: Pull complete 
916f32cb0394: Pull complete 
0d62a5f9a14f: Pull complete 
Digest: sha256:ce2ae3bd3e9f001435c4671cf073d1d5ae55d138b16927268474fc54ba09ed79	#签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest	#真实地址 等价于 docker pull docker.io/library/mysql:latest

4.5 删除命令

docker rmi -f 镜像id		#删除指定id的镜像
docker rmi -f id1 id2 id3 	#删除多个镜像
docker rmi -f $(docker images -aq)	#删除全部镜像

4.5.1 删除单个镜像

4.5.2 删除全部镜像

4.6 容器命令

现有镜像才能创建容器,下载一个centos镜像试试

docker pull centos

4.6.1 run命令介绍

docker run [参数] centos

#可选参数
--name="Name"	容器名字
-d				后台运行
-it				交互方式运行
-p				指定容器的端口 -p 8080:8080
	-p ip:主机端口:容器端口
	-p	主机端口:容器端口(常用)
	-p	容器端口

4.6.2 启动容器

[lighthouse@VM-4-2-centos ~]$ docker run -it centos /bin/bash		#交互方式启动容器 指定控制台 /bin/bash
[root@fab1bcee3fce /]# ls		#查看容器内的centos,只有基本命令  与宿主机(我的是云服务器)隔离
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

4.6.3 查看正在运行的容器

docker ps		#列出当前正在运行的容器
docker ps -a	#列出运行过和正在运行的容器
docker ps -a -n=4	#列出最近创建的4个容器 -n 表示个数 -an=4 也可以
docker ps -a -q 	#只显示容器id  -aq也可以

4.6.4 退出容器

exit		#退出容器并停止
CTRL+P+Q	#退出容器不停止

4.6.5 删除容器

docker rm 容器id		#删除单个容器
docker rm id1 id2 id3 #删除多个容器
docker rm -f $(docker ps -aq)	#删除全部容器 -f 强制

4.6.6 启动和停止容器操作

docker start 容器id	#启动容器
docker restart 容器id	#重启容器
docker stop 容器id	#停止容器
docker kill 容器id	#xiao

标签:总结,容器,4.6,学习,2.2,镜像,Docker,docker
From: https://www.cnblogs.com/polarday/p/16648619.html

相关文章

  • Docker安装RabbitMQ详细步骤
    Docker安装RabbitMQ详细步骤前提:1、在服务器的安全组和防火墙中放通相对应的端口,操作系统:centos7.6,需要放通5672和15672端口2、登录自己的Linux系统服务器3、关闭服务......
  • 机器学习:规则学习
    1.基本概念机器学习中的“规则”(rule)通常是指语义明确、能描述数据分布所隐含的客观规律或领域概念、可写成“若……,则……”形式的逻辑规则.“规则学习”(rulelea......
  • Java开发学习(二十九)----Maven依赖传递、可选依赖、排除依赖解析
    现在的项目一般是拆分成一个个独立的模块,当在其他项目中想要使用独立出来的这些模块,只需要在其pom.xml使用<dependency>标签来进行jar包的引入即可。<dependency>其实就是......
  • 【数据结构】并查集(1) 萌新的并查集学习之路
    最基本的并查集:维护n个元素间的相关关系并查集的初始化为将n个元素各自看成一个集合,并通过不断的合并命令(将两个集合的根节点指向同一处)和查找命令(查找两个集合的根节点是......
  • 开始一个关于出于自私原因学习编码的博客
    开始一个关于出于自私原因学习编码的博客Photoby阿尔图代码on不飞溅也许“让自己更有责任感”是一个更好的标题,但无论措辞如何,写一篇关于学习之旅的博客都是跟踪......
  • [Java]零基础入门学习Day(1)
    Java环境的搭建Java开发工具Eclipse的下载与安装Java的第一个程序("HelloWorld") 一.Java环境的搭建1.下载JDK 首先我们需要下载java的开发工具包JDK,下载地址:......
  • python学习Day58
    Day58今日内容概要昨日作业讲解django请求生命周期流程图路由层系统路由匹配(不同版本的django有一点的区别)反向解析无名有名反向解析路由分发名称空间今......
  • 【django学习-07】视图之HttpResponse
    前言:视图函数通过return方式返回响应数据,然后生成响应的网页内容呈现在浏览器上。视图函数主要有两种返回数据的方法HttpResponse:直接返回数据到浏览器上,不能使用模......
  • 学习python-Day52
    今日学习内容作业讲解用户管理系统(单表)配置文件settings中关于template的文件路径修改和添加。将新建的应用注册接口前缀模型类在models文件中创建各个类对......
  • 小明刚开始学习程序设计,打算试试自己的水平,看计算机会不会听自己的吩咐。她想做的第一
    #include<stdio.h>main(){intn,m;scanf("%d%d",&n,&m);printf("%d%d\n",n,m);}......