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
posted @   沐九州  阅读(35)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示