Docker学习笔记
什么是Docker?
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
安装Docker
安装
yum-utils
,其提供了yum-config-manager
工具,用于配置管理yum install -y yum-utils
添加Docker下载仓库
#官网仓库,此地址为官方的仓库地址,在国内建议不要用 yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo #国内阿里云仓库 yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Docker启动
systemctl start docker
启动成功测试
docker version
Client: Docker Engine - Community Version: 24.0.6 ...... Server: Docker Engine - Community Engine: Version: 24.0.6 ......
重启Docker
systemctl restart docker
查看Docker状态
systemctl status docker
开机自启动
systemctl enable docker
Docker停止
systemctl stop docker
关闭开机自启动
systemctl disable docker
Docker镜像相关命令
docker pull
可以将指定镜像从docker hub 拉取到本地
用法 :
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
OPTIONS:-q
:简化日志输出docker images
可以查看本地所有镜像资源信息,按创建时间排序
用法:
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS:-q
:仅显示镜像的Image IDOPTIONS:-f
:过滤指定条件的镜像REPOSITORY TAG IMAGE ID CREATED SIZE 仓库名称 版本号 唯一标识 创建时间 镜像大小 docker search
从docker hub上查看指定名称的镜像
用法:
docker search [OPTIONS] TERM
OPTIONS:--limit
:指定显示结果的数量docker rmi
删除指定的本地镜像,可以指定多个一次性删除
用法:
docker rmi [OPTIONS] IMAGE [IMAGE...]
OPTIONS:-f
:强制删除,包括已经运行的镜像通过
<repository>:<tag>
指定,没有tag
,则默认是latest
版本docker save
将一个或多个镜像导出为tar文件
用法:
docker save [OPTIONS] IMAGE [IMAGE...]
docker load
将一个tar文件导入并加载为一个或多个镜像
用法:
docker load [OPTIONS]
Docker容器
docker run
创建容器并启动
用法:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Options:
--name string
指定当前容器名称-it
以交互模式运行容器,且为容器分配一个伪终端/bin/bash
指定容器启动后需要运行的命令是/bin/bash-d
以分离模式运行容器-p
设置容器端口docekr create
仅创建容器但不启动
用法:
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
与
docker run
类似,但没有-d
选项exit
退出并停止容器(交互模式)
Ctrl + P + Q
退出不停止容器(交互模式)
docker ps
查看所有正在运行的容器
用法:
docker ps [OPTIONS]
Options:
-a
查看所有容器,无论运行状态-q
查看容器ID-l
查看最后创建的容器-n
查看最后创建的n个容器docker exec
进入正在运行的容器内部
用法:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]