Docker介绍与使用
目录:
一、Docker介绍
1、Docker概述与安装
2、Docker三要素
二、Docker常用命令的使用
1、镜像相关命令
2、容器相关命令
三、Docker实战之下载mysql、redis、zimg
一、Docker介绍
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的操作系统的机器上,也能实现虚拟化。
1、Docker概述与安装
Docker 概述 |Docker 文档
Windows和Linux安装Docker-CSDN博客
2、Docker三要素
- 镜像(image):镜像就是一个只读的模板
- 容器(container):容器是代码的隔离环境,可以理解为一台独立的服务器
- 仓库(repository):仓库用来存储镜像,最大的公开仓库是Docker官方的Docker Hub
镜像和容器就像面向对象里的类和对象,也可以将镜像比作印章,那么容器就是盖下的印
二、Docker常用命令的使用
Linux上为了避免每次使用docker命令都需要加上sudo权限,可以将当前用户加入安装中自动创建的docker用户组(可以参考官方文档)
sudo usermod -aG docker $USER
执行完此操作后,需要退出服务器,再重新登录回来,才可以省去sudo权限。
1、镜像(image)
镜像就是一个只读的模板
-
镜像的搜索、拉取、查看、删除
docker search ubuntu # 在Ducker Hub上搜索与ubuntu关键词匹配的镜像 docker pull ubuntu:20.04 # 拉取一个镜像,镜像名称ubuntu,版本20.04,不写版本默认为最新版 docker images # 列出本地所有镜像 docker rmi ubuntu:20.04 # 删除镜像ubuntu:20.04
-
移植镜像
docker 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 容器创建一个新的镜像
docker commit CONTAINER IMAGE_NAME:TAG
CONTAINER:容器的ID或名称。
IMAGE_NAME:TAG:指定新镜像的名称和标签。如果不指定,Docker 会自动生成一个。
2、容器(container)
容器是代码的隔离环境,可以理解为一台独立的服务器
-
容器的创建、启动、查看、删除
docker 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或名称。
-
在容器中执行命令,本地和容器间复制文件
docker 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
-
容器的导出与导入
docker export -o xxx.tar CONTAINER # 将容器CONTAINER导出到本地文件xxx.tar中 docker import xxx.tar image_name:tag # 将本地文件xxx.tar导入成镜像,并将镜像命名为image_name:tag
docker export/import
与docker save/load
的区别:-
export/import
会丢弃历史记录和元数据信息,仅保存容器当时的快照状态 -
save/load
会保存完整记录,体积更大
-
-
查看容器使用情况
docker top CONTAINER # 查看某个容器内的所有进程 docker stats # 查看所有容器的统计信息,包括CPU、内存、存储、网络等信息
-
修改容器
docker rename CONTAINER1 CONTAINER2 # 重命名容器 docker update CONTAINER --memory 500MB # 修改容器限制