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

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
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
目录
相关文章
|
2月前
|
安全 Docker 容器
|
1天前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
77 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
2月前
|
网络安全 数据安全/隐私保护 Docker
|
8天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
131 77
|
5天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
57 24
|
1月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
476 11
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
7天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
70 6
|
3月前
|
Linux Docker 容器
Docker操作 :容器命令
Docker操作 (四)
205 56
|
2月前
|
存储 监控 安全
|
2月前
|
存储 关系型数据库 MySQL