Docker 基础与实战指南(2)

米饭6个月前行业资讯310

二、Docker 基础

接下来,我们一起来学习 Docker 使用的一些基础知识,为将来部署项目打下基础。具体用法可以参考 Docker 官方文档:


https://docs.docker.com/


2.1 常见命令:

首先我们来学习 Docker 中的常见命令,可以参考官方文档:


https://docs.docker.com/reference/cli/docker/


2.1.1 命令介绍:

其中,比较常见的命令有:

7FB927CD-C5BB-46A1-8CE4-B125FE6D2C9B.jpeg

用一副图来表示这些命令的关系:

image-20241111105831951

补充:

默认情况下,每次重启虚拟机我们都需要手动启动 Docker 和 Docker 中的容器。通过命令可以实现开机自启:

# Docker开机自启
systemctl enable docker

# Docker容器开机自启
docker update --restart=always [容器名/容器id]


2.1.2 演示:

我们以 Nginx 为例给大家演示上述命令。

# 第1步,去DockerHub查看nginx镜像仓库及相关信息

# 第2步,拉取Nginx镜像
docker pull nginx

# 第3步,查看镜像
docker images
# 结果如下:
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        latest    605c77e624dd   16 months ago   141MB
mysql        latest    3218b38490ce   17 months ago   516MB

# 第4步,创建并允许Nginx容器
docker run -d --name nginx -p 80:80 nginx

# 第5步,查看运行中容器
docker ps
# 也可以加格式化方式访问,格式会更加清爽
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"

# 第6步,访问网页,地址:http://虚拟机地址

# 第7步,停止容器
docker stop nginx

# 第8步,查看所有容器
docker ps -a --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"

# 第9步,再次启动nginx容器
docker start nginx

# 第10步,再次查看容器
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"

# 第11步,查看容器详细信息
docker inspect nginx

# 第12步,进入容器,查看容器内目录
docker exec -it nginx bash
# 或者,可以进入MySQL
docker exec -it mysql mysql -uroot -p

# 第13步,删除容器
docker rm nginx
# 发现无法删除,因为容器运行中,强制删除容器
docker rm -f nginx

2.1.3 命令别名:

由于上面 Docker 命名,有时查看的信息太多了,要筛选时,需要输入 format 格式的代码,还是比较长的,所以下面我们可以通过配置命令别名来增强我们的开发效率。

# 修改/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

先保存并退出/root/.bashrc文件,然后执行下面这条命令使别名生效。

source /root/.bashrc

上面的这些配置,友友们可以根据自己的需要进行配置,我是只配置了 dps。

image-20241111132519984

本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!  

云掣基于多年在运维领域的丰富时间经验,编写了《云运维服务白皮书》,欢迎大家互相交流学习:

《云运维服务白皮书》下载地址:https://fs80.cn/v2kbbq

想了解更多大数据运维托管服务、数据库运维托管服务、应用系统运维托管服务的的客户,欢迎点击云掣官网沟通咨询:https://yunche.pro/?t=shequ


相关文章

MySQL运维之日志与主从复制

MySQL运维之日志与主从复制

一、日志1.错误日志错误日志是MySQL中最重要的日志之一,它记录了当mysql启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此...

Spring AMQP与RabbitMQ深度整合指南:从基础到高级应用(2)

Spring AMQP与RabbitMQ深度整合指南:从基础到高级应用(2)

三、SpringAMQP将来我们开发业务功能的时候,肯定不会在控制台收发消息,而是应该基于编程的方式。由于RabbitMQ采用了 AMQP 协议,因此它具备跨语言的特性。任何语言只要遵循 AMQP 协...

Docker: ubuntu系统下Docker的安装

Docker: ubuntu系统下Docker的安装

安装依赖操作系统版本Ubuntu Kinetic 22.10Ubuntu Jammy 24.04 (LTS)Ubuntu Jammy 22.04 (LTS)Ubuntu Focal 20.04 (LT...

浅谈linux性能调优之六:IO调度算法的选择

浅谈linux性能调优之六:IO调度算法的选择

一) I/O调度程序的总结     1) 当向设备写入数据块或是从设备读出数据块时,请求都被安置在一个队列中等待完成.    2) 每个块设备都有它自...

【Docker】深入理解 Dockerfile:构建高效 Docker 镜像的指南

【Docker】深入理解 Dockerfile:构建高效 Docker 镜像的指南

Dockerfile 是 Docker 的核心组成部分之一,它定义了如何构建 Docker 镜像。Dockerfile 是一份文本文件,其中包含了构建 Docker 镜像所需的所有命令和参数。通过 D...

深度学习之经典网络-AlexNet详解

深度学习之经典网络-AlexNet详解

 AlexNet 是一种经典的卷积神经网络(CNN)架构,在 2012 年的 ImageNet 大规模视觉识别挑战赛(ILSVRC)中表现优异,将 CNN 引入深度学习的新时代。AlexNe...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。