docker略览

1.Docker 下载安装

# 清空原有 Docker 残留
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce
# 设置 Docker yum 源
sudo yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken
sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 使用 sed 工具将 docker-ce.repo 中的 download.docker.com 替换为 mirrors.aliyun.com/docker-ce
sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
# 生成软件包缓存以加快后续的软件包管理操作。
sudo yum makecache fast
# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 关闭防火墙
sudo systemctl disable firewalld --now
# 启动 Docker
sudo systemctl enable docker --now
# 配置 Docker 镜像源加速下载
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://as08lme3.mirror.aliyuncs.com","https://mirror.ccs.tencentyun.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

2.Docker 简单命令

# 查看所有镜像
docker images
# 搜索镜像
docker search [OPTIONS] TERM
# 拉取镜像
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
# 删除镜像
docker rmi [OPTIONS] IMAGE [IMAGE...]
# 查看运行中的容器
docker ps
# 查看所有容器
docker ps -a
# 创建容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
# 停止容器
docker stop [OPTIONS] CONTAINER [CONTAINER...]
# 启动容器
docker start [OPTIONS] CONTAINER [CONTAINER...]
# 重启容器
docker restart [OPTIONS] CONTAINER [CONTAINER...]
# 查看容器资源使用情况
docker stats [OPTIONS] [CONTAINER...]
# 查看容器日志
docker logs [OPTIONS] CONTAINER
# 删除容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
# 进入容器内部
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
# 提交容器打成一个新镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
# 保存镜像为一个指定文件
docker save [OPTIONS] IMAGE [IMAGE...]
# 加载镜像
docker load [OPTIONS]
# 更改镜像名
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
# 登录 docker hub
docker login [OPTIONS] [SERVER]
# 推送镜像
docker push [OPTIONS] NAME[:TAG]

3.存储

Docker 支持两种存储方式,这都是在创建容器时,所用参数设置

  • 目录挂载:-v 目录名:目录名
  • 卷挂载:-v 卷名:目录名

4.网络

Docker 提供了一种虚拟网络环境,使得容器之间可以相互通信和访问。在 Docker 中,你可以创建自定义网络,或者使用默认的网络。

Docker 网络类型

  • 桥接网络(Bridge Network):这是 Docker 默认使用的网络类型。它会为每个容器分配一个 IP 地址,并创建一个虚拟交换机来连接容器。
  • 主机网络(Host Network):容器与主机共享网络栈,可以直接使用主机的网络接口进行通信。
  • Overlay 网络:用于连接多个 Docker 主机的网络,可实现分布式应用程序的跨主机通信。

相关命令

# 创建自定义网络
docker network create
# 连接容器到网络
# 创建容器时,使用 --network 参数来指定容器连接到的网络
# 查看网络列表
docker network ls
# 查看网络详情
docker network inspect
# 删除网络
docker network rm

补充:

  1. 在创建容器时,docker 会默认为每个容器分配一个唯一 ip,使用 容器 ip + 容器端口可以实现容器间的通信。
  2. 由于各种原因,分配的 ip 可能会发生变化,所以应当尽可能为其分配域名。由于默认的 docker 0 默认不支持主机域名,所以可以创建自定义网络,从而实现分配域名,达到稳定的通信。一般而言, 创建的自定义网络中,容器名就是稳定域名。

5.Docker Compose

Docker Compose 是一个用于定义和运行多个 Docker 容器的工具。它使用一个 YAML 文件来配置应用程序的服务、网络和卷等,并使用一条命令启动、停止和管理整个应用程序的容器。

使用 Docker Compose 可以将多个 Docker 容器组合成一个应用程序,并定义它们之间的关系和依赖。它提供了一种简洁的方式来管理多个容器,使得应用程序的部署和运行变得更加容易和可复制。

Docker Compose 核心就是编写 docker-compose.yaml 文件。

docker-compose.yaml 中顶级元素,有 name、services、network、volumes、configs、secrets等

具体编写规则:https://docs.docker.com/compose/compose-file/

相关命令:

# 上线
docker compose up -d
# 下线
docker compose down
# 启动
docker compose start x1 x2 x3
# 停止
docker compose stop x1 x3

6.Dockerfile

Docker 可以通过读取 Dockerfile 中的指令来自动构建镜像。Dockerfile 是一个文本文档,其中包含用户可以在命令行上调用来组装镜像的所有命令。

使用 Dockerfile,你可以定义所需的基础镜像、安装软件包、复制文件、设置环境变量、运行命令等一系列操作,最终生成一个包含应用程序和其依赖的可运行镜像。

常见指令作用
FROM指定镜像基础环境
RUN运行自定义命令
CMD容器启动命令或参数
LABEL自定义标签
EXPOSE指定暴露端口
ENV环境变量
ADD添加文件到镜像
COPY复制文件到镜像
ENTRYPOINT容器固定启动命令
VOLUME数据卷
USER指定用户和用户组
WORKDIR指定默认工作目录
ARG指定构建参数
  • 13
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值