当前位置: 首页 > news >正文

docker的安装及docker常用命令

目录

  • 环境介绍
  • docker卸载
  • docker安装
  • docker镜像命令
    • 查看docker可用的镜像
    • 查看docker可安装的镜像
    • 安装镜像
    • 删除镜像
  • docker容器命令
    • 查看容器
    • 启动容器
    • 启动示例
    • 进入容器内部
    • 停止容器
    • 删除容器
    • 容器和主机之间的文件复制
  • docker网络命令
    • 创建docker网络
    • 查看docker网络
    • 删除docker网络
  • docker其他命令
    • 启动docker
    • 开机docker自启动
    • 重启docker
    • 查看docker版本信息
    • 查看docker系统信息
    • 查看docker容器日志
  • docker compose安装
  • docker compose更新
  • docker compose卸载
  • docker compose启动
  • docker compose查看容器
  • docker compose停止容器
  • docker compose启动容器
  • docker compose重启容器
  • docker compose删除容器
  • docker compose yaml配置示例

环境介绍

  • 虚拟机环境:Oracle VM VirtualBox 7.0
  • 终端连接:FinalShell 4.3
  • Linux操作系统:ubuntu-22.04.4-live-server-amd64
  • docker:docker 26.1.2

docker卸载

# 卸载docker
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
#卸载docker
sudo apt-get purge 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

docker安装

# 更新opt
sudo apt-get update
# 安装ca认证和curl传输工具
sudo apt-get install ca-certificates curl
# 创建一个目录/etc/apt/keyrings
sudo install -m 0755 -d /etc/apt/keyrings
# 下载 Docker 在 Ubuntu 系统上使用的 GPG 密钥
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
# 将秘钥设置为只读
sudo chmod a+r /etc/apt/keyrings/docker.asc
# 将 Docker 的软件源添加到 APT 软件包管理器的源列表中,并将其保存到 /etc/apt/sources.list.d/docker.list 文件中
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新opt
sudo apt-get update# 安装最新版本docker引擎
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 安装指定版本docker引擎
#查看版本信息
apt-cache madison docker-ce | awk '{ print $3 }'
#安装指定版本的docker引擎
VERSION_STRING=5:26.1.0-1~ubuntu.24.04~noble
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
# 验证docker安装成功
sudo docker run hello-world

docker镜像命令

docker仓库地址:https://registry.hub.docker.com/,大概率需要科学上网。

查看docker可用的镜像

docker images

查看docker可安装的镜像

docker search {需要安装的镜像名称}

安装镜像

docker pull {需要安装的镜像名称}:{版本}

删除镜像

docker rmi {镜像名称或镜像ID}

docker容器命令

-i: 交互式操作
-t: 终端
-d: 后台运行
-P:将容器内部使用的网络端口随机映射到我们使用的主机上。
-p:将容器内部使用的网络端口指定映射到我们使用主机上
-v:将主机数据卷挂载至容器内的某目录
-e:增加临时配置
–name: 给容器指定一个名称
–restart=always:容器自动重启

查看容器

## 查看启动的容器
docker ps
# 查看所有容器
docker ps -a

启动容器

# 启动容器
docker run {镜像名称或镜像ID}
# 创建一个交互式的容器并启动一个shell会话
docker run -it {镜像名称或镜像ID} /bin/bash
# 后台运行容器
docker run -itd {镜像名称或镜像ID} /bin/bash
#后台运行一个容器并将容器端口映射到主机指定端口
docker run -d -p 5000:5000 {镜像名称或镜像ID}
# 指定运行的容器使用主机网络
docker run -d --network=host --name={容器名称} {镜像名称或镜像ID}# 启动一个已停止的容器
docker start {容器名称或容器ID}
# 重启一个已停止的容器
docker restart {容器名称或容器ID}

启动示例

#myslq
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
--network=host \
--restart=always \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7

进入容器内部

docker exec -it {容器名称或容器ID} /bin/bash

停止容器

docker stop {容器名称或容器ID}

删除容器

docker rm -f {容器名称或容器ID}

容器和主机之间的文件复制

#将主机文件复制进容器
docker cp 主机文件路径 {容器名称或容器ID}:容器内路径
#将容器文件复制进主机
docker cp{容器名称或容器ID}:容器内路径 主机文件路径 

docker网络命令

创建docker网络

# 创建一个桥接网络
docker network create -d bridge {网络名称}
# 创建一个主机网络
docker network create -d host {网络名称}

查看docker网络

docker network ls

删除docker网络

docker network rm {网络名称或网络ID}

docker其他命令

启动docker

systemctl start docker

开机docker自启动

systemctl enable docker

重启docker

systemctl restart docker

查看docker版本信息

docker -version

查看docker系统信息

docker info

查看docker容器日志

# 实时跟踪容器日志
docker logs -f {容器名称或容器id}
# 显示最近100行容器日志
docker logs --tail 100 {容器名称或容器id}

docker compose安装

# 更新apt
sudo apt-get update
# 安装compose插件
sudo apt-get install docker-compose-plugin
# 验证安装及查看版本
docker compose version

docker compose更新

# 更新apt
sudo apt-get update
# 安装compose插件
sudo apt-get install docker-compose-plugin
# 验证安装及查看版本
docker compose version

docker compose卸载

# 卸载docker compose
sudo apt-get remove docker-compose-plugin
# 删除docker compose相关配置
rm /usr/local/lib/docker/cli-plugins/docker-compose

docker compose启动

# 启动所有容器
docker-compose up
# 后台启动所有容器
docker-compose up -d

docker compose查看容器

docker-compose ps

docker compose停止容器

# 停止所有容器
docker-compose stop
#停止并删除所有容器
docker-compose down

docker compose启动容器

docker-compose start

docker compose重启容器

docker-compose restart

docker compose删除容器

docker-compose rm 

docker compose yaml配置示例

挂载时要将主机的文件权限放开

chmod 777 {fileName}

compose配置文件

services:redis:container_name: redis_envimage: redis:6.0command: redis-server /etc/redis.confports:- "6379:6379"networks:- bridgevolumes:- /home/docker/environment/redis/conf/redis.conf:/etc/redis.conf- /home/docker/environment/redis/data:/data- /home/docker/environment/redis/log/redis.log:/var/redis.logrestart: alwaysnetworks:bridge:driver: bridge

参考文章:
docker官网
https://geek-docs.com/redis/redis-ask-answer/645_redis_run_redis_with_persistent_storage_using_dockercompose.html
https://blog.csdn.net/Fly_wd/article/details/133870918

http://www.lryc.cn/news/370706.html

相关文章:

  • Dell服务器根据GPU温度调整风扇转速
  • 快捷键专栏 IDEA、Navicat、电脑、Excle、Word等
  • 卸载MySQL5.0,安装MySQL8.0
  • 苹果WWDC重磅发布的IOS 18、Apple Intelligence背后的技术分析!
  • Linux基础IO【II】
  • DevExpress学习系列文章
  • 在大数据时代:为何硬盘仍是数据中心存储的核心
  • 安装TrinityCore NPCBot(尝试中)
  • Java SE LTS版本商用收费,有那些开源的替代方案?
  • Win系统 锁屏自动暂停音乐
  • ffmpeg实现视频播放 ----------- Javacv
  • 解决更新Android Studio后下载Gradle超时
  • 智能合约漏洞类型
  • 6.7.31 使用端到端训练的基于 EfficientNet 的卷积网络在双视图乳房 X 线摄影中进行乳腺癌诊断
  • 访问方法(反射)
  • 探索Excel的隐藏功能:如何求和以zzz开头的列
  • git:切换到指定的commit
  • js之事件监听以及相关案例
  • pip 安装出现 ERROR: Command errored out with exit status 1: 问题解决
  • 图的遍历介绍
  • 实验二、网络属性设置《计算机网络》
  • 【Python数据魔术】:揭秘类型奥秘,赋能代码创造
  • Android Glide loading Bitmap from RESOURCE_DISK_CACHE slow,cost time≈2 seconds+
  • 微调技术:人工智能领域的神奇钥匙
  • MyBatis 参数上的处理的细节内容
  • 水帘降温水温
  • kafka如何保证消息不丢失
  • 流媒体学习之路(WebRTC)——音频NackTracker优化思路(8)
  • Java基础面试重点-2
  • 【活动文章】通用大模型VS垂直大模型,你更青睐哪一方