Docker V24 及 Docker Compose V2 的安装及使用
前言
- Docker 是一款流行的开源容器化平台,使用 Docker 可以有效地隔离应用程序和系统环境,使得应用程序在不同的环境中具有相同的行为
- Docker Compose 是一个用于定义和管理多个 Docker 容器的工具
- Docker 官方文档:文档地址
- Docker Hub: 容器镜像库和社区
- 作者:易墨
- 发布时间:2023.10.02
软件包源配置
跟着文档第一句就报错了,需要配置包源下
[root@devops01 ~]# sudo yum install -y yum-utils
CentOS Linux 8 - AppStream 77 B/s | 38 B 00:00
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
- 配置包源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
rm /etc/yum.repos.d/CentOS-Linux-AppStream.repo -f
rm /etc/yum.repos.d/CentOS-Linux-BaseOS.repo -f
dnf clean all
Docker 安装
安装时的版本
- 查看版本列表:
yum list docker-ce --showduplicates | sort -r - 当前 docker-ce 版本:3:24.0.0-1.el8
- 当前 docker-ce-cli:1:24.0.6-1.el8
- 查看版本列表:
卸载旧版本,新机器跳过即可
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
安装
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce-3:24.0.0-1.el8 docker-ce-cli-1:24.0.6-1.el8 containerd.io docker-buildx-plugin docker-compose-plugin
启动
- docker未启动将会报错:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? sudo systemctl start docker
- docker未启动将会报错:
安装完毕
Docker 镜像加速器配置
docker镜像默认是从hub.docker.com拉取镜像,国内访问太慢了,可以配置国内的镜像源
- 阿里云私有加速器 登录后获取 配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://dist7hw1.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
百度及网易公共加速器
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
EOF
其他可以通过 docker-registry-cn-mirror-test 项目查看是否可以使用
Docker 常用命令一览
镜像相关命令:
docker images:列出本地的镜像列表。docker pull <image_name>:从 Docker Hub 下载指定名称的镜像。docker push <image_name>:将本地的镜像推送到 Docker Hub 或私有镜像仓库中。docker rmi <image_name>:删除指定的镜像。
容器相关命令:
docker ps:列出运行中的容器列表。docker ps -a:列出所有的容器列表,包括已停止的容器。docker run <image_name>:创建并启动一个新的容器。docker start <container_id>:启动已停止的容器。docker stop <container_id>:停止运行中的容器。docker restart <container_id>:重启容器。docker rm <container_id>:删除指定的容器。docker exec -it <container_id> <command>:在运行中的容器中执行命令。docker logs <container_id>:查看容器的日志输出。
网络相关命令:
docker network ls:列出 Docker 网络列表。docker network create <network_name>:创建一个新的网络。docker network connect <network_name> <container_id>:将容器连接到指定的网络。docker network disconnect <network_name> <container_id>:断开容器与指定网络的连接。
其他常用命令:
docker version:查看 Docker 版本信息。docker info:查看 Docker 系统信息。docker search <term>:在 Docker Hub 上搜索镜像。docker pull <image_name>:<tag>:下载指定标签的镜像。docker tag <source_image_name> <target_image_name>:给镜像打标签。docker login:登录到 Docker Hub 或私有镜像仓库。docker logout:退出当前登录的 Docker Hub 或私有镜像仓库。
Docker Compose V2 安装
当前版本:v2.21.0
使用的语法变了,用 docker compose 来运行命令,去掉了 - ,详情可以看迁移指南
安装
sudo yum update
sudo yum install docker-compose-plugin -y
使用
docker compose xxxx同之前的docker-composedocker-compose scale需要修改docker compose up --scaledocker-compose config命令用于验证和查看 Docker Compose 文件的配置
使用示例:官方示例
旧版本1.x 的安装,安装后使用 docker-compose
# 下载docker-compose,服务器下不下来可以本地下然后传到服务器
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 输出版本
docker-compose --version
# 输出:docker-compose version 1.27.4, build xxx
使用实践
- 创建容器网络:
docker network create devopsnetwork
一般来讲一个项目的服务都应该在一个网络中,所以在创建容器前都需要先创建容器网络
指定容器网络:
- 运行 docker 时
docker run --network=devopsnetwork xxxximages - 创建 compose.yml 中指定网络, 运行:
docker compose up - 查看容器网络信息:
docker inspect e54c | grep Networks -A 20 services:
web:
image: nginx
ports:
- "8080:80"
networks:
- devopsnetwork
networks:
devopsnetwork:
- 运行 docker 时
后语
- 安装&记录耗时:6小时
- 参考:linux中使用docker-compose部署软件配置分享
Docker V24 及 Docker Compose V2 的安装及使用的更多相关文章
- Docker Compose + Traefik v2 快速安装, 自动申请SSL证书 http转https 初次尝试
前言 昨晚闲得无聊睡不着觉,拿起服务器尝试部署了一下Docker + Traefik v2.1.6 ,以下是一些配置的总结,初次接触,大佬勿喷. 我的系统环境是 Ubuntu 18.04.3 LTS ...
- Docker三剑客之Docker Compose
一.什么是Docker Compose Compose 项目是Docker官方的开源项目,负责实现Docker容器集群的快速编排,开源代码在https://github.com/docker/comp ...
- AspNetCore容器化(Docker)部署(三) —— Docker Compose容器编排
一.前言 上一篇部署了一个最基础的helloworld应用,创建了两个容器和一个network,还算应付得过来. 如果该应用继续引入mysql.redis.job等若干服务,到时候发布一次得工作量之大 ...
- Docker决战到底(三) Rancher2.x的安装与使用 - 简书
原文:Docker决战到底(三) Rancher2.x的安装与使用 - 简书 image.png 当越来越多的容器化应用被部署,一个可以管理编排这些容器的工具此时就显得尤为重要了.目前容器编排领域 ...
- DOCKER学习_016:Docker镜像仓库和HARBOR的简单安装和管理
一 镜像仓库介绍 1.1 简介 镜像仓库用于存放 Docker镜像 Docker registry提供镜像仓库服务 一个 Docker registry可以包含多个镜像仓库 仓库分为公共镜像仓库与私有 ...
- Docker(四):Docker 三剑客之 Docker Compose
前两篇文章我们介绍了 Dockerfile 的使用Docker(二):Dockerfile 使用介绍,我们知道使用一个 Dockerfile 模板文件可以定义一个单独的应用容器,如果需要定义多个容器就 ...
- Docker 核心技术之Docker Compose
Docker Compose 简介 Docker Compose是什么? Docker Compose是一个能一次性定义和管理多个Docker容器的工具. 详细地说: Compose中定义和启动的每一 ...
- Docker入门 - 006 Docker 多种数据库的安装
Docker 安装 MySQL 查找Docker Hub上的mysql镜像 root@VM_16_14_centos ~# docker search mysql INDEX NAME DESCRIP ...
- Ubuntu下安装Docker,及Docker的一些常用命令操作
1.什么是 Docker Docker 是一个开源项目,Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案. Docker 的基础是 Linux 容器(LXC ...
- Docker深入浅出系列 | Docker Compose多容器实战
目录 前期准备 Docker Compose是什么 为什么要用Docker Compose Docker Compose使用场景 Docker Compose安装 Compose Yaml文件结构 C ...
随机推荐
- oracle常用函数(持续更新)
1.table() 把返回结果集合的函数返回的结果,以表的形式返回 例:table(p_split('1,2,3'),',') 2.to_char() 按照指定格式输出字符串 to_char(sysd ...
- Instruments中常用Template的使用
Instruments是苹果提供的Xcode套件,可用于分析iOS,MacOS程序的性能数据,进行性能提升.Instruments提供了很多类型的Template,用于特定场景的分析.这里选了3种常 ...
- 逍遥自在学C语言 | 多级指针探秘
前言 多级指针在C语言中是一种特殊的指针类型,它可以指向其他指针的指针. 通过多级指针,我们可以间接地访问或修改存储在内存中的数据. 在本文中,我们将讨论多级指针的概念.使用方法.使用场景以及常见错误 ...
- G1垃圾回收参数调优及MySQL虚引用造成GC时间过长分析
1. 背景 我方有一应用,偶尔会出现GC时间过长(间隔约4小时),导致性能波动的问题(接口最长需要耗时3秒以上).经排查为G1垃圾回收器参数配置不当 叠加 MySQL 链接超过闲置时间回收,产生大量的 ...
- 这样看C函数才对
什么是函数?从定义来看,函数就是一段可以重复使用的代码块,比如下面这样 void hanshu() { int a = 0; int b = 3; } 这时候就应该有人要跳出来了,这是什么**!确实, ...
- VuePress@next 使用数学公式插件
VuePress@next 使用数学公式插件 搞了一个VuePress1.0的 现在升级了一下,但是使用数学公式的插件老报错啊!经过不懈努力,终于搞定了.现在记录一下. VuePress 介绍 Vue ...
- 从零玩转系列之微信支付实战PC端支付微信回调接口搭建
一.前言 halo各位大佬很久没更新了最近在搞微信支付,因商户号审核了我半个月和小程序认证也找了资料并且将商户号和小程序进行关联,至此微信支付Native支付完成.此篇文章过长我将分几个阶段的文章发布 ...
- start_HTTPServer
alias alias wser='sh /Users/enzhao/suanec/libs/envs/start_HTTPServer.sh' /Users/enzhao/suanec/libs/e ...
- (转)[Android测试] Android Studio+Appium+Java+Windows 自动化测试之二:Appium环境安装搭建
一.需要下载安装的东西 1. 文件下载 网上也有挺多安装教程的,这里我提供我的安装方法.Win10 64位.一些文件我在后面打包. 2016.9.12号本人安装记录. SDK: 由于我是搞Androi ...
- AcWing 4798. 打怪兽题解
可以从 \(1\) 枚举到 \(n\) 表示要打多少个怪兽. 因为你要打 \(t\) 个怪兽,并不管顺序,所以我们可以对 \([1, t]\) 这一段进行排序,然后计算 \(a[t], a[t - 2 ...
