SpringCloud系列教程:微服务的未来(六)docker教程快速入门、常用命令

对于开发人员和运维工程师而言,掌握 Docker 的基本概念和常用命令是必不可少的。本篇文章将带你快速入门 Docker,并介绍一些最常用的命令,帮助你更高效地进行开发、测试和部署。

目录

前言

快速入门

docker安装

配置镜像加速

部署Mysql

镜像和容器

命令解读

Docker基础

常见命令

命令别名

总结


前言

在现代软件开发中,Docker 已经成为了最受欢迎的容器化技术之一。它让开发者能够轻松地打包、分发和运行应用程序,无论是在本地开发环境,还是在云端的生产环境。Docker 提供了一种轻量级、灵活、可移植的解决方案,有效地减少了应用程序部署的复杂性。

对于开发人员和运维工程师而言,掌握 Docker 的基本概念和常用命令是必不可少的。本篇文章将带你快速入门 Docker,并介绍一些最常用的命令,帮助你更高效地进行开发、测试和部署。


复制代码
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

快速入门

docker安装

首先如果系统中已经存在旧的Docker,则先卸载旧版:

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

配置Docker的yum库

首先安装一个yum工具

复制代码
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

安装成功后,执行命令,配置Docker的yum源(已更新为阿里云源):

复制代码
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

更新yum,建立缓存

复制代码
sudo yum makecache fast

安装Docker

复制代码
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动和校验

复制代码
# 启动Docker
systemctl start docker

# 停止Docker
systemctl stop docker

# 重启
systemctl restart docker

# 设置开机自启
systemctl enable docker

# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps

配置镜像加速

镜像地址可能会变更,如果失效可以百度找最新的docker镜像。

配置镜像步骤如下:

复制代码
# 创建目录
mkdir -p /etc/docker

# 复制内容
tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://mirrors.tuna.tsinghua.edu.cn",
        "http://mirrors.sohu.com",
        "https://ustc-edu-cn.mirror.aliyuncs.com",
        "https://ccr.ccs.tencentyun.com",
        "https://docker.m.daocloud.io",
        "https://docker.awsl9527.cn"
    ]
}
EOF

# 重新加载配置
systemctl daemon-reload

# 重启Docker
systemctl restart docker

ubuntu系统中Docker安装可查看(【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(十四)-租云服务器及配环境、docker基本命令_linux服务器租借 安装docker-CSDN博客文章浏览阅读1.1k次,点赞16次,收藏24次。主要介绍了租云服务器和docker配置、基本命令!!!_linux服务器租借 安装dockerhttps://blog.csdn.net/m0_63267251/article/details/140292798) 这篇博客。

部署Mysql

先停掉虚拟机中的MySOL,确保你的虚拟机已经安装Docker,且网络开通的情况下,执行下面命令即可安装MySOL

复制代码
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql

镜像和容器

当我们利用Docker安装应用时,Docker会自动搜索并下载应用镜像(image)。镜像不仅包含应用本身,还包含应用运行所需要的环境、配置、系统函数库。Docker会在运行镜像时创建一个隔离环境,称为容器(container)。

镜像仓库:存储和管理镜像的平台,Docker官方维护了一个公共仓库:DockerHub。

命令解读

复制代码
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql
  1. docker run

docker run 是 Docker 用来创建并启动一个新容器的命令。它将启动一个新的容器实例,并且可以通过各种选项配置容器的行为。

  1. -d

-d--detach 的缩写,表示以 后台模式 运行容器。这意味着容器会在后台启动,并不会占用当前终端。

  1. --name mysql

--name 用来指定容器的名称。在此例中,容器被命名为 mysql,这样你可以通过这个名称来引用和管理该容器(例如,docker stop mysqldocker logs mysql)。

  1. -p 3306:3306

-p 用于将容器内的端口映射到主机的端口。具体来说:

  • 3306:3306 表示将容器内的 3306端口 (MySQL的默认端口)映射到主机的 3306端口。这样,你可以通过主机的 3306 端口来访问 MySQL 服务。
  1. -e TZ=Asia/Shanghai

-e 用于设置环境变量。在这个例子中,TZ=Asia/Shanghai 用于设置容器内的时区为 上海时区。这样,容器内的系统时间会基于中国的标准时间 (CST),而不会是默认的 UTC 时间。

  1. -e MYSQL_ROOT_PASSWORD=123

-e MYSQL_ROOT_PASSWORD=123 设置了 MySQL 数据库的 root 用户密码 。在这个例子中,root 用户的密码被设置为 123。这个环境变量是 MySQL 容器初始化时的必要配置,它确保 MySQL 数据库能够在第一次启动时创建 root 用户并设置密码。

  1. mysql

这是指定容器所使用的镜像。在这个例子中,mysql 表示从 Docker Hub 下载并使用官方的 MySQL 镜像。Docker 会默认拉取最新版的 MySQL 镜像。

Docker基础

常见命令

Docker最常见的命令就是操作镜像、容器的命令,详见官方文档:https://docs.docker.com/

命令 说明
docker pull 拉取镜像
docker push 推送镜像到DockerRegistry
docker images 查看本地镜像
docker rmi 删除本地镜像
docker run 创建并运行容器(不能重复创建)
docker stop 停止指定容器
docker start 启动指定容器
docker restart 重新启动容器
docker rm 删除指定容器
docker ps 查看容器
docker logs 查看容器运行日志
docker exec 进入容器
docker save 保存镜像到本地压缩文件
docker load 加载本地压缩文件到镜像
docker inspect 查看容器详细信息

命令别名

复制代码
# 修改/root/.bashrc文件
vi /root/.bashrc
内容如下:
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'
alias dis='docker images'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

执行命令使别名生效

复制代码
source /root/.bashrc

总结

Docker 作为一种强大的容器化工具,已经成为现代软件开发中的核心技术。掌握 Docker 的基本命令,可以大大提高开发和运维效率。通过本文的快速入门教程和常用命令介绍,希望你能够熟悉 Docker 的基本操作,为你的开发工作带来更高的效率。

希望这篇博客能帮助你快速上手 Docker,带领你迈向容器化世界的第一步!

相关推荐
2401_840192274 分钟前
k8s的StorageClass存储类和pv、pvc、provisioner、物理存储的链路
docker·容器·kubernetes
小王不会写code4 小时前
Docker安装、配置Redis
redis·docker
SDL大华5 小时前
【备忘】在Docker中安装宝塔面板,实现环境隔离,又能快速迁移服务器环境
服务器·docker·容器
TC13986 小时前
docker 终端打不开rviz2界面,报错qt.qpa.xcb: could not connect to display
docker·容器
牛马小陈同学6 小时前
Kafka+Zookeeper从docker部署到spring boot使用完整教程
linux·spring boot·docker·zookeeper·kafka·prettyzoo·kafka-ui
无名之逆7 小时前
[特殊字符] Hyperlane 框架:高性能、灵活、易用的 Rust 微服务解决方案
运维·服务器·开发语言·数据库·后端·微服务·rust
蒋星熠7 小时前
在VMware下Hadoop分布式集群环境的配置--基于Yarn模式的一个Master节点、两个Slaver(Worker)节点的配置
大数据·linux·hadoop·分布式·ubuntu·docker
勤奋的树懒7 小时前
本地部署DeepSeek-R1(Dify压力测试和性能调优)
docker·junit·压力测试·ollama·deepseek·dify压力测试·dify性能调优
小样vvv8 小时前
【分布式】微服务系统中基于 Hystrix 的熔断实现方案
分布式·hystrix·微服务
Brilliant Nemo10 小时前
Docker 镜像相关的基本操作
运维·docker·容器