Docker

目录

一、Docker简介

二、安装Docker

[2.1 卸载旧版本](#2.1 卸载旧版本)

[2.2 配置docker yum源](#2.2 配置docker yum源)

[2.3 安装docker](#2.3 安装docker)

[2.4 启动 docker](#2.4 启动 docker)

[2.5 验证安装](#2.5 验证安装)

[三、Docker 常用命令](#三、Docker 常用命令)

[3.1 管理docker](#3.1 管理docker)

[3.2 管理容器](#3.2 管理容器)

[四、Docker Compose](#四、Docker Compose)

[4.1 安装 Docker Compose](#4.1 安装 Docker Compose)

[4.2 Docker Compose 常用命令](#4.2 Docker Compose 常用命令)


一、Docker简介

Docker 是一个开源的容器化平台,它允许开发者将应用及其依赖环境打包成轻量级、可移植的容器。这些容器能够在几乎任何系统的平台上一致地运行,从开发者的笔记本电脑到云服务器,无需担心环境差异造成的问题利用 Docker 的代码交付、测试和部署方法论,可以显著减少从编写代码到在生产环境中运行的延迟。

二、安装Docker

2.1 卸载旧版本

bash 复制代码
yum remove docker \
 docker-client \
 docker-client-latest \
 docker-common \
 docker-latest \
 docker-latest-logrotate \
 docker-logrotate \
 docker-engine

2.2 配置docker yum源

bash 复制代码
yum install -y yum-utils
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.3 安装docker

bash 复制代码
# 2.3.1安装最新 docker
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

#2.3.2 安装指定版本
#查看版本
yum list docker-ce --showduplicates | sort -r

#安装指定版本
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin

2.4 启动 docker

bash 复制代码
systemctl start docker

2.5 验证安装

bash 复制代码
# 通过运行 hello-world 镜像来验证 Docker Engine 是否安装成功
docker run hello-world

三、Docker 常用命令

3.1 管理docker

bash 复制代码
# 启动docker
sudo systemctl start docker

#设置开机启动
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
#关闭开机启动
sudo systemctl disable docker.service
sudo systemctl disable containerd.service

#关闭docker服务
# 关闭 docker.socket 服务
systemctl stop docker.socket
# 关闭 docker.service 服务
systemctl stop docker.service

3.2 管理容器

bash 复制代码
#查看运⾏中的容器
docker ps

#查看所有容器
docker ps -a

#搜索镜像
docker search nginx

#下载镜像
docker pull nginx

#下载指定版本镜像
docker pull nginx:1.26.0

#查看所有镜像
docker images

#删除指定id的镜像
docker rmi d2c94e258dcb

#运⾏⼀个新容器
#只在第一次运行时使用,将镜像放到容器中,以后再次启动这个容器时,只需要使用命令docker start 即可
docker run nginx

# 后台启动容器
docker run -d --name mynginx nginx

# 后台启动并暴露端⼝
docker run -d --name mynginx -p 80:80 nginx

#停⽌容器
docker stop 2eeb4397f1e7

#启动容器
docker start 2eeb4397f1e7

#重启容器
docker restart 2eeb4397f1e7

#查看容器资源占⽤情况
docker stats 2eeb4397f1e7

#查看容器⽇志
docker logs 2eeb4397f1e7

#删除指定容器
docker rm 2eeb4397f1e7

#强制删除指定容器
docker rm -f 2eeb4397f1e7

# 进⼊容器内部
docker exec -it mynginx /bin/bash

# 退出容器内部
exit

四、Docker Compose

Docker Compose 是一个开源工具,它是 Docker 官方提供的一种服务编排工具,设计用于定义和运行多容器 Docker 应用程序。Compose 使得用户能够在一个单独的 YAML 文件(默认为 docker-compose.yml)中定义整个应用服务的配置,包括每个服务使用的 Docker 镜像、网络、卷、环境变量以及容器间的依赖关系等。

4.1 安装 Docker Compose

4.2 Docker Compose 常用命令

bash 复制代码
#启动并运行服务。默认情况下在前台运行服务,附加控制台输出
#使用 `-d` 参数可以在后台运行服务
#`-f, --file FILE`: 指定使用的 Compose 配置文件,默认为 `docker-compose.yml`。
#`-p, --project-name NAME`: 指定项目名称,默认使用目录名。
docker-compose up [-d]


#启动已经创建的服务容器,但不重新创建容器
docker-compose start

#停止正在运行的服务容器
docker-compose stop

#重启服务容器
docker-compose restart

#暂停服务容器。
docker-compose pause

#取消暂停服务容器
docker-compose unpause

#构建或重新构建服务容器。如果不指定服务名,则默认构建所有服务
docker-compose build [SERVICE]

#创建服务容器,但不启动它们
docker-compose create

#列出所有服务容器的状态
docker-compose ps

#查看服务容器的日志
docker-compose logs [SERVICE]

#检查 Compose 文件的语法,并打印解析后的配置,但不执行任何其他操作
docker-compose config

#停止并删除服务容器、网络、卷和镜像(默认只删除挂载的匿名卷)。使用 `-v` 参数可以删除所有相关卷,包括命名卷。
docker-compose down
    
#删除已停止的服务容器。
docker-compose rm
    
#强制停止服务容器
docker-compose kill

#在指定服务的容器中执行命令
docker-compose exec SERVICE COMMAND
    
#显示服务容器的进程
docker-compose top
相关推荐
wusam1 小时前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习03(网络及IP规划)
运维·服务器·网络·docker·容器
一直在进步的派大星1 小时前
Docker 从安装到实战
java·运维·docker·微服务·容器
Zl1597531597535 小时前
k8s基础环境部署
云原生·容器·kubernetes
陌殇殇殇7 小时前
使用GitLab CI构建持续集成案例
运维·ci/cd·云原生·容器·kubernetes·gitlab
技术钱7 小时前
docker简介
运维·docker·容器
roman_日积跬步-终至千里7 小时前
【docker】docker常见命令
运维·docker·容器
tangdou36909865511 小时前
Docker系列-超级详细教你Linux安装并使用docker compose,如何使用docker-compose安装sqlserver
docker·容器·sql server
tangdou36909865511 小时前
手把手非常详细图文并茂教你 Docker 部署 SQL Server
docker·容器·sql server
福大大架构师每日一题1 天前
20.1 分析pull模型在k8s中的应用,对比push模型
云原生·容器·kubernetes
飘逸高铁侠1 天前
docker export/import 和 docker save/load 的区别
docker·容器·eureka