Title: docker学习记录
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。简单说,就是让项目更少的依赖服务器环境进行部署。
1、安装命令
见docker官网:
依次执行以下指令
1.sudo apt-get update
ca-certificates \ curl \ gnupg \ lsb-release
curl -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
:修改容器限制
网友评论