Docker介绍与使用
目录:
一、Docker介绍
一、Docker介绍
1、Docker概述与安装
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的操作系统的机器上,也能实现虚拟化。
2、Docker三要素
镜像(image):镜像就是一个只读的模板
容器(container):容器是代码的隔离环境,可以理解为一台独立的服务器
仓库(repository):仓库用来存储镜像,最大的公开仓库是Docker官方的Docker Hub
镜像和容器就像面向对象里的类和对象,也可以将镜像比作印章,那么容器就是盖下的印
二、Docker常用命令的使用
Linux上为了避免每次使用docker命令都需要加上sudo权限,可以将当前用户加入安装中自动创建的docker用户组(可以参考官方文档)
1 |
|
执行完此操作后,需要退出服务器,再重新登录回来,才可以省去sudo权限。
1、镜像(image)
镜像就是一个只读的模板
镜像的拉取、查看、删除
1
2
3
4docker pull ubuntu:20.04 # 拉取一个镜像,镜像名称ubuntu,版本20.04,不写版本默认为最新版
docker images # 列出本地所有镜像
docker rmi ubuntu:20.04 # 删除镜像ubuntu:20.04
docker search ubuntu # 在Ducker Hub上搜索与ubuntu关键词匹配的镜像移植镜像
1
2docker save -o ubuntu_20_04.tar ubuntu:20.04 #将镜像ubuntu:20.04导出到本地文件ubuntu_20_04.tar中
docker load -i ubuntu_20_04.tar #将镜像ubuntu:20.04从本地文件ubuntu_20_04.tar中加载出来移植到其他服务器记得给tar包加上可读权限
从一个Docker 容器创建一个新的镜像
1
docker commit CONTAINER IMAGE_NAME:TAG
CONTAINER:容器的ID或名称。
IMAGE_NAME:TAG:指定新镜像的名称和标签。如果不指定,Docker 会自动生成一个。
2、容器(container)
容器是代码的隔离环境,可以理解为一台独立的服务器
容器的创建、启动、查看、删除
1
2
3
4
5
6
7
8docker create -it ubuntu:20.04 # 利用镜像ubuntu:20.04创建一个容器。
docker ps -a # 查看本地的所有容器,不加-a是查看正在运行的容器
docker start CONTAINER # 启动容器
docker stop CONTAINER # 停止容器
docker restart CONTAINER # 重启容器
docker run -itd ubuntu:20.04 # 利用镜像ubuntu:20.04创建并启动一个容器
docker rm CONTAINER # 删除容器
docker container prune # 删除所有已停止的容器CONTAINER:容器的ID或名称。
在容器中执行命令,本地和容器间复制文件
1
2
3
4docker attach CONTAINER # 进入容器。先按Ctrl p,再按Ctrl q可以挂起容器
docker exec CONTAINER COMMAND # 在容器中执行命令
docker cp xxx CONTAINER:xxx # 将本地xxx文件复制到容器的xxx目录
docker cp CONTAINER:xxx xxx # 将本地容器的xxx文件复制到本地xxx目录CONTAINER:容器的ID或名称。
COMMAND:要执行的命令例如:ls
容器的导出与导入
1
2docker export -o xxx.tar CONTAINER # 将容器CONTAINER导出到本地文件xxx.tar中
docker import xxx.tar image_name:tag # 将本地文件xxx.tar导入成镜像,并将镜像命名为image_name:tagdocker export/import
与docker save/load
的区别:-
export/import
会丢弃历史记录和元数据信息,仅保存容器当时的快照状态 -
save/load
会保存完整记录,体积更大
-
查看容器使用情况
1
2docker top CONTAINER # 查看某个容器内的所有进程
docker stats # 查看所有容器的统计信息,包括CPU、内存、存储、网络等信息修改容器
1
2docker rename CONTAINER1 CONTAINER2 # 重命名容器
docker update CONTAINER --memory 500MB # 修改容器限制
三、Docker实战之下载mysql、redis、zimg
且听下回分析(0^_^0)
https://leaf-domain.gitee.io/2024/02/21/linux_env_install/docker/docker3/