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

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 用来创建并启动一个新容器的命令。它将启动一个新的容器实例,并且可以通过各种选项配置容器的行为。

2. -d

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

3. --name mysql

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

4. -p 3306:3306

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

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

5. -e TZ=Asia/Shanghai

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

6. -e MYSQL_ROOT_PASSWORD=123

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

7. 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,带领你迈向容器化世界的第一步!


http://www.kler.cn/a/471342.html

相关文章:

  • MATLAB对文件处理
  • 【网络协议】IPv4 地址分配 - 第二部分
  • 【QT】增删改查 XML 文件的类
  • OSI模型的网络层中产生拥塞的主要原因?
  • JVM实战—13.OOM的生产案例
  • 1/7距离放假一周加1
  • thinnkphp5.1和 thinkphp6以及nginx,apache 解决跨域问题
  • Gary Marcus 预测2025年AI发展的25项展望:深刻反思与前瞻
  • 青少年编程与数学 02-006 前端开发框架VUE 09课题、计算属性
  • Django的runserver
  • 书籍推荐:Kubernetes 修炼手册
  • 121 买入股票的最佳时机
  • C4D2025 win版本安装完无法打开,提示请将你的maxon App更新至最新版本,如何解决
  • RabbitMQ如何实现队列持久化
  • Python数据可视化-Pandas绘图
  • ubuntu20.04 在线安装postgresql 扩展postgis
  • UVM:uvm_component methods configure
  • 【HarmonyOS 5.0】从0到1开发购物应用App(二):登录页对接口
  • Elixir语言的计算机基础
  • idea下java的maven项目编译内存溢出GC overhead limit exceeded解决办法
  • javafx 将项目打包为 Windows 的可执行文件exe
  • 【开源免费】基于SpringBoot+Vue.JS多维分类的知识管理系统(JAVA毕业设计)
  • Chrome访问https页面显示ERR_CERT_INVALID,且无法跳过继续访问
  • Python自学 - 封装与私有化
  • BaseCTF scxml 详解
  • 基于COT(Chain-of-Thought Prompt)的教学应用:如何通过思维链提示提升模型推理能力