docker学习笔记
Title: docker学习记录
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。简单说,就是让项目更少的依赖服务器环境进行部署。
1、安装命令
见docker官网:
依次执行以下指令
1.sudo apt-get update
ca-certificates \ curl \ gnupg \ lsb-releasecurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
6.sudo apt-get install docker-ce docker-ce-cli containerd.io
执行命令时一路选择yes,最后输入docker --version查看版本,如果版本正确显示,就表示docker安装成功了。
查看版本信息
2、使用
docker有镜像和容器的概念,简单理解呢,就是镜像包含了我们所需的各种配置文件,把镜像运行起来,就成了容器,从而让我们的项目可以运行在容器中。比如ubuntu20.04镜像的大小为28.57MB,我们把镜像拉过来,运行,就成了ubuntu的容器(这个容器实际上就是一个微ubuntu20.04系统),就可以不用为了部署一个项目再去装一个ubuntu系统。还可以基于一个镜像创建好几个容器。
镜像
-
docker pull ubuntu:20.04:拉取镜像ubuntu:20.04 -
docker images:列出本地所有镜像 -
docker image rm ubuntu:20.04或docker rmi ubuntu:20.04:删除镜像ubuntu:20.04 -
docker [container] commit CONTAINER IMAGE_NAME:TAG:创建某个container的镜像(将某个容器刻成模版) -
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中加载出来
容器
-
docker [container] create -it ubuntu:20.04:利用镜像ubuntu:20.04创建一个容器。 -
docker ps -a:查看本地的所有容器docker ps:查看所有正在运行的容器 -
docker [container] start CONTAINER:启动容器 -
docker [container] stop CONTAINER:停止容器 -
docker [container] restart CONTAINER:重启容器 -
docker [contaienr] run -itd ubuntu:20.04:创建并启动一个容器 -
docker [contaienr] run -it ubuntu:20.04:创建并启动并进入一个容器 -
docker [container] attach CONTAINER:进入容器 (先按Ctrl-p,再按Ctrl-q可以挂起容器) -
docker [container] exec CONTAINER COMMAND:在容器中执行命令 -
docker [container] rm CONTAINER:删除容器 (rmi 删除镜像) -
docker container prune:删除所有已停止的容器 -
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 cp xxx CONTAINER:xxx或docker cp CONTAINER:xxx xxx:在本地和容器间复制文件 -
docker rename CONTAINER1 CONTAINER2:重命名容器 -
docker update CONTAINER --memory 500MB:修改容器限制