Docker的常用基本命令(基础命令)

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: Docker的常用基本命令(基础命令)

博主介绍:Java领域优质创作者,博客之星城市赛道TOP20、专注于前端流行技术框架、Java后端技术领域、项目实战运维以及GIS地理信息领域。

🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅

👇🏻 精彩专栏推荐订阅👇🏻 欢迎点赞收藏评论拍砖…

【Docker Swarm总结】《容器技术 Docker+K8S专栏》

【uniapp+uinicloud多用户社区博客实战项目】《完整开发文档-从零到完整项目》

【Springcloud Alibaba微服务分布式架构 | Spring Cloud】《系列教程-更新完毕》

【SpringSecurity-从入门到精通】《学习完整笔记-附(完整demo源码)》

【从零开始Vue项目中使用MapboxGL开发三维地图教程】《系列教程-不定时更新》

【Vue.js学习详细课程系列】《共32节专栏收录内容》

感兴趣的可以先收藏起来相关问题都可以给我留言咨询,希望帮助更多的人。


本文主要介绍了Docker的安装、镜像操作、容器操作

1. Docker简介

Docker是一个开源的应用容器引擎,让开发者可以打包应用及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上。使用Docker可以更方便地打包、测试以及部署应用程序。

重要概念:

images = 镜像(镜像相当于类概念)

container = 容器(container相当于实例的概念)

2. Docker环境安装

Linux安装

  • 安装yum-utils
yum install -y yum-utils device-mapper-persistent-data lvm2
  • 为yum源添加docker仓库位置;
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 安装docker服务;
yum install docker-ce
  • 启动docker服务。
systemctl start docker

3. 配置镜像加速

可以使用阿里云的镜像加速,参考:https://www.runoob.com/docker/docker-mirror-acceleration.html

注意:阿里云上有图文操作文档,无论你是Windows还是Mac按文档操作即可,一点不担心。如下是我的配置图:

使用自己的账号有自己专属的阿里云镜像地址

docker的配置是通过json文件来配置的,这里配置镜像也需要通过json文件来配置

{
  "registry-mirrors": ["https://nubcahe0.mirror.aliyuncs.com"]
}

4. Docker镜像常用命令

列出镜像列表

docker images

搜索镜像

docker search redis

下载镜像

docker pull redis

查看镜像版本

docker search命令查找出是否有该镜像,不能找到该镜像支持的版本。

删除镜像

  • 指定名称删除镜像
# 删除latest
docker rmi redis
# 删除指定tag
docker rmi redis:7
  • 指定IMAGE ID删除镜像
docker rmi 5d89766432d0

构建镜像

  • 从Dockerfile构建镜像
# -t 表示指定镜像仓库名称/镜像名称:镜像标签 .表示使用当前目录下的Dockerfile文件
docker build -t fire/fire-admin:1.0-SNAPSHOT .
# 查看刚构建的镜像
docker images
  • 从容器的修改构建镜像
# 从容器b9480afc7572构建镜像
docker commit b9480afc7572 myubuntu:1.0
# 查看刚构建的镜像
docker images

推送镜像

  • 推送到私有仓库
# 打私有标签
docker tag myubuntu:1.0 localhost:5000/myubuntu:1.0
# 推送
docker push localhost:5000/myubuntu:1.0
  • 推送到Docker Hub
# 登录Docker Hub
docker login
# 推送到远程仓库
docker push firefishdocker/fire-admin:1.0-SNAPSHOT
  • 从容器构建新镜像
docker commit b9480afc7572 myubuntu:1.0
  • 给新镜像打上私有仓库标签
docker tag myubuntu:1.0 localhost:5000/myubuntu:1.0
  • 推送之前查看有哪些镜像
curl http://localhost:5000/v2/_catalog
# {"repositories":[]}
  • 推送到私有仓库
# 打私有标签
docker tag myubuntu:1.0 localhost:5000/myubuntu:1.0
# 推送
docker push localhost:5000/myubuntu:1.0
  • 推送成功:

  • 推送之后查询有哪些镜像,以及tag列表
curl http://localhost:5000/v2/_catalog
# {"repositories":["myubuntu"]}
curl http://localhost:5000/v2/myubuntu/tags/list
# {"name":"myubuntu","tags":["1.0
  • 从私库拉取镜像
# 不要写成http://localhost:5000/myubuntu:1.0
docker pull localhost:5000/myubuntu:1.0

5. Docker容器常用命令

新建并启动容器

docker run -p 6379:6379 --name redis \
    -e TZ="Asia/Shanghai" \
    -v /mydata/redis/data:/data \
    -d redis:7 redis-server --appendonly yes
  • -p:将宿主机和容器端口进行映射,格式为:宿主机端口:容器端口;(建议设置

宿主机端口用户可指定,容器端口是预定义的;

宿主机端口不能重复,容器端口可以重复;

设置后宿主机才能与容器连接

  • --name:指定容器名称,之后可以通过容器名称来操作容器;(强烈建议设置

设置名称便于后续的操作

  • -e:设置容器的环境变量,这里设置的是时区;
  • -v:将宿主机上的文件挂载到宿主机上,格式为:宿主机文件目录:容器文件目录;

这类需求通常是挂载配置文件目录挂载数据存储目录

  • -d:表示容器以后台方式运行。(建议设置

列出容器

  • 列出运行中的容器:
docker ps
  • 列出所有容器:
docker ps -a

停止容器

可以用容器名称或容器ID

注:体现了docker run时指定–name的重要性

# NAMES
docker stop redis
# CONTAINER ID
docker stop c5f5d5125587

启动容器

启动之前创建过的容器

docker start redis

进入容器

进入容器的命令格式是:docker exec -it 容器 命令

# 进入redis容器的命令行操作中
docker exec -it 9e38ce427c61 redis-cli
# 或者
docker exec -it redis /bin/bash
# 或者
docker exec -it redis sh

删除容器(慎用)

删除容器会删除容器的所有数据,不可恢复,慎重使用

docker rm redis

查看日志状态

docker logs -f redis

文件复制

一般用来修改容器中的文件

# 格式是:docker cp 源文件 目标文件
# 容器 ---> 宿主机
docker cp redis:/data/dump.rdb dump.rdb
# 宿主机 ---> 容器
docker cp test.log redis:/data
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
18天前
|
Linux 持续交付 Go
Docker常用命令总结
这篇文章总结了Docker的基本操作,包括Docker的简介、镜像、容器和仓库的概念。介绍了如何在CentOS上安装和卸载Docker,以及常用Docker命令,如查看和删除镜像、运行和管理容器、文件拷贝和日志查看。还提供了一个curl命令示例来测试本地容器服务。完整内容请参考原文链接:[Docker命令总结](https://blog.csdn.net/javayoungcoolboy/article/details/134975314)。
|
3天前
|
Linux Docker 容器
蓝易云 - 【Linux】如何在linux系统重启或启动时执行命令或脚本(也支持docker容器内部)
以上就是在Linux系统和Docker容器中设置启动时运行命令或脚本的方法。希望对你有所帮助。
16 0
|
4天前
|
流计算 Docker 容器
在docker中玩flink时候记录一些组合命令
在docker中玩flink时候记录一些组合命令
9 0
|
18天前
|
运维 Linux Shell
Docker详解(七)——Docker辅助命令
Docker详解(七)——Docker辅助命令
30 4
|
18天前
|
存储 Shell Docker
docker 部署单节点的etcd以及 常用使用命令
在 Docker 中部署单节点的 etcd 以及一些常用命令的操作,可以按照以下步骤进行: ## 一、部署单节点 etcd 1. **拉取 etcd Docker 镜像**:您可以从 Docker Hub 拉取 etcd 的官方镜像。 ```shell docker pull quay.io/coreos/etcd:latest ``` 2. **启动 etcd 容器**:使用 `docker run` 命令来启动 etcd 容器。以下是一个示例命令,其中将容器的 2379 端口映射到主机的 2379 端口: ```shell docker run -d \
|
18天前
|
NoSQL Linux Shell
2.Docker常用命令(linux)
2.Docker常用命令(linux)
|
18天前
|
存储 运维 Linux
Docker详解(六)——Docker高级控制命令
Docker详解(六)——Docker高级控制命令
24 2
|
18天前
|
运维 监控 Linux
【专栏】Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用
【4月更文挑战第28天】本文介绍了Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用。通过基础和高级用法示例,如列出所有容器、搜索特定镜像、监控资源使用等,帮助读者理解和提升容器管理效率。对于Linux运维工程师,掌握`docker ps`是必备技能。
|
18天前
|
Ubuntu Linux Shell
Docker 镜像及其命令
Docker 镜像及其命令
64 0
|
18天前
|
存储 Ubuntu 安全
Docker容器常用命令
Docker容器常用命令
55 1