Docker搭建LNMP环境实战(06):Docker及Docker-compose常用命令

news/2024/5/10 19:22:36

Docker搭建LNMP环境实战(06):Docker及Docker-compose常用命令

此处列举了docker及docker-compose的常用命令,一方面可以做个了解,另一方面可以在需要的时候进行查阅。不一定要强行记忆,用多了就熟悉了。

1、docker常用命令

1.1、镜像常用命令

1)列举镜像

docker images

2)删除镜像

docker rmi xxxxxx(image_id)

3)使用repositories:tag进行删除

docker rmi nginx:1.15

1.2、容器常用命令

1)列举所有容器

docker container ls -a

2)列举正在运行的容器

docker container ls(另一种用法:docker ps)

图1  列举正在运行的容器

图1 列举正在运行的容器

3)启动一个容器

docker container start xxxxxxx(container_id)

4)停止一个容器

docker container stop xxxxxxx(container_id)

5)删除一个容器

docker container rm xxxxxxx(container_id)

6)进入容器内部

docker exec -it CONTAINER_NAME /bin/bash

7)查看容器log

docker logs xxxxxxx(container_id)

2、docker-compose常用命令

1)启动部署

  • 指定yml文件的模式:
docker-compose -f ymlfilename.yml up -d #ymlfilename.yml是你编写的配置文件
  • 默认yml文件的模式:
docker-compose up -d  #此命令表示采用默认的配置文件,等同于:docker-compose -f docker-compose.yml up -d

注意:yml后缀和yaml后缀是等同的;-d 表示后台运行

2)停止并删除容器

  • 指定yml文件的模式:
docker-compose -f ymlfilename.yml down #ymlfilename.yml是你编写的配置文件
  • 默认yml文件的模式:
docker-compose down  #此命令表示采用默认的配置文件,等同于:docker-compose -f docker-compose.yml down

3、关于 docker-compose 配置文件的简要说明

此实战中,主要是使用 docker-compse 配置文件的编排来完成 LNMP 环境的部署,由于不是 docker 基础教程,所以只对使用到的最关键的特性进行简要说明,并不系统和全面,在应用中遇到的其他问题,在实战的过程中涉及到的都会讲到,没讲到的问题可搜索相关文档参考。

1)yml 文件的注释
yml 文件的注释符为:#,# 及后面的字符都为注释

2)yml 文件的版本
yml 文件的大版本号目前为:3,最新的版本为:3.7;网上很多的示例还是采用版本2,由于我们在使用脚本来动态创建 yml 文件时,要求网卡的动态命名,但只有在3.5版本开始才支持该功能,所以,我这里选用的是 3.5 版本。
图2  yml文件版本

图2 yml文件版本

4、给一个最简示例,熟悉一下docker及docker-compose操作

示例docker的yml文件内容如下:
图3  docker最简化安装nginx的yml示例文件

图3 docker最简化安装nginx的yml示例文件

1)、利用三个命令检查一下docker环境及安装情况
图4  docker 相关查看命令

图4 docker 相关查看命令

从图中可以看到,docker-compose系统已经安装完毕,并且系统里没有任何已安装的容器和镜像

2)编辑test_nginx.yml文件
内容如下:

version: "3.5"
services:test_nginx:container_name: test_nginximage: nginx:1.13privileged: truerestart: alwaysnetworks:- test_networkports:- 80:80environment:- TZ=Asia/Shanghai
networks:test_network:name: test_network

由于yml文件的格式要求非常严格,如缩行要求、冒号后面是否有空格等都有要求,所以对于新手来说,手工输入十有八九会出很多问题,所以建议直接复制剪贴来生成文件。当然,也可以从github里下载,地址为:https://github.com/tanbushi/DNMP
将test_nginx.yml放到合适的目录下,并在shell里进入到该目录,下面就可以开始体验一下docker-compose的强大威力了。

3)采用docker-compose进行安装
图5  docker-compose命令

图5 docker-compose命令

从上图可以看到,利用docker-compose命令启动安装,系统检测到没有对应的镜像,就会从镜像市场拉取镜像,并自动安装。利用docker ps命令可以看到容器已经生成并自动启动,利用docker images命令可以看到nginx镜像已经下载到系统。此安装仅仅作为体验测试,所以不具备实用性,后续会进行正式安装。

4)测试nginx安装效果
打开浏览器,输入CentOS虚拟机的网址:
图6  测试安装成功!

图6 测试安装成功!

5)docker删除操作测试
图7  docker删除容器和镜像

图7 docker删除容器和镜像


上一篇 Docker搭建LNMP环境实战(05):CentOS环境安装Docker-CE



http://www.mrgr.cn/p/17005072

相关文章

Swagger3探索之游龙入海

引言 后端开发中常用的接口调用工具一般使用Postman、ApiPost工具&#xff0c;但后期需要与前端联调&#xff0c;要补充接口文档花费大量时间&#xff0c;此时Swagger3应运而生&#xff0c;大大提高沟通交流的效率。 引用依赖 <!-- Swagger3 调用方式 http://ip:port/swa…

[转帖]Nginx+Keepalived实现简单的服务高可用

https://www.cnblogs.com/xiexun/p/14604650.html 一般情况下,如果我们做小型项目,前端用一个nginx做反向代理即可,大概是这样的 image.png 但是,作为互联网项目,纯2C的话必然需要做高可用,不仅后端的Server有N个,Nginx同样需要有N个,一主N备,当有一个服务器挂掉的时…

【pytest、playwright】allure报告生成视频和图片

目录 1、修改插件pytest_playwright 2、conftest.py配置 3、修改pytest.ini文件 4、运行case 5、注意事项 1、修改插件pytest_playwright pytest_playwright.py内容如下&#xff1a; # Copyright (c) Microsoft Corporation. # # Licensed under the Apache License, Ver…

政安晨:【Keras机器学习实践要点】(六)—— 使用内置方法进行训练和评估

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras实战演绎机器学习 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 本文涵盖使用内置 API 进行训练和验证&#…

libVLC 视频抓图

Windows操作系统提供了多种便捷的截图方式&#xff0c;常见的有以下几种&#xff1a; 全屏截图&#xff1a;通过按下PrtSc键&#xff08;Print Screen&#xff09;&#xff0c;可以截取整个屏幕的内容。截取的图像会保存在剪贴板中&#xff0c;可以通过CtrlV粘贴到图片编辑工具…

python学习14:python中的表达式

python中的表达式 1.表达式是什么呢&#xff1f; 表达式就是一个具有明确结果的代码语句&#xff0c;如11、type(‘字符串’)、3*5等 在定义变量的时候&#xff0c;如age108,等号右侧的就是表达式&#xff0c;也就是有具体的结果&#xff0c;将结果赋值给了等号左侧的变量 2.…

CCF-CSP认证考试 202212-3 JPEG 解码 100分题解

更多 CSP 认证考试题目题解可以前往&#xff1a;CSP-CCF 认证考试真题题解 原题链接&#xff1a; 202212-3 JPEG 解码 时间限制&#xff1a; 1.0s 内存限制&#xff1a; 512.0MB 问题背景 四年一度的世界杯即将画上尾声。在本次的世界杯比赛中&#xff0c;视频助理裁判&…

Jenkins安装配置部署

Jenkins安装配置部署 一、什么是CI/CD 1.CI(Continuous integration&#xff09; 中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了 新代码之后&#xff0c;立刻进行构建、&#xff08;单元&#xff09;测试。根据测试结果&#xff0c;我们可以确定新代码…

【保姆级教程】使用SeaTunnel同步Kafka的数据到ClickHouse

1.Apache SeaTunnel依赖地址 2.SeaTunnel官网的Source/Sink模板 3.SeaTunnel的GitHub地址 在官网下载安装包之后&#xff0c;&#xff08;注意&#xff1a;别下载apache-seatunnel-incubating-2.1.0-bin.tar.gz版本&#xff0c;依赖和功能都没有。)要使用apache-seatunnel-2.3…

一个基于.NET Core构建的简单、跨平台、模块化的商城系统

商城后台管理端功能 商品&#xff1a;分类、品牌、单位、选项&#xff08;销售属性&#xff09;、属性、属性模板、属性组。 销售&#xff1a;订单、物流。 内容&#xff1a;首页配置、评论、回复。 配置&#xff1a;国家、用户、仓库、运费、高级设置。 系统&#xff1a;系…

标定系列——预备知识-OpenCV中实现Rodrigues变换的函数(二)

标定系列——预备知识-OpenCV中实现Rodrigues变换的函数&#xff08;二&#xff09; 说明记录 说明 简单介绍罗德里格斯变换以及OpenCV中的实现函数 记录

2024年云计算使用报告,89%组织用多云,25%广泛使用生成式AI,45%需要跨云数据集成,节省成本是云首要因素

备注&#xff1a;本文来自Flexera2024年的云现状调研报告的翻译。原报告地址&#xff1a; https://info.flexera.com/CM-REPORT-State-of-the-Cloud Flexera是一家专注于做SaaS的IT解决方案公司&#xff0c;有30年发展历史&#xff0c;5万名客户&#xff0c;1300名员工。Flex…

设计模式之建造者模式精讲

也叫生成器模式。将一个复杂的构建与它的表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 在建造者模式中&#xff0c;有如下4个角色&#xff1a; 抽象建造者&#xff08;Builder&#xff09;&#xff1a;用于规范产品的各个组成部分&#xff0c;并进行抽象&…

【前端学习——css篇】1.css的盒模型

https://github.com/febobo/web-interview 1.css的盒模型 html中的所有元素都是一个盒子&#xff0c;组成包括&#xff1a;内容content、内边距padding、边框border、外边距margin content&#xff0c;即实际内容&#xff0c;显示文本和图像 boreder&#xff0c;即边框&#…

书生浦语大模型实战营第一课笔记

书生浦语大模型全链路开源体系 课程笔记大模型的发展趋势InternLM2的主要亮点模型到应用的典型流程全链路的开源工具 InternLM2技术报告笔记大型语言模型的发展InternEvoModel Structure训练数据 课程笔记 第一节课主要对大模型进行介绍&#xff0c;特别是书生浦语大模型的发展…

每日一题 --- 链表相交[力扣][Go]

链表相交 题目&#xff1a;面试题 02.07. 链表相交 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交**&#xff1a;** 题目数据 保证 整个链式结…

Windows直接运行python程序

Windows直接运行python程序 一、新建bat脚本二、新建vbs脚本 一、新建bat脚本 新建bat批处理脚本&#xff0c;写入以下内容 echo off call conda activate pytorch python app.pyecho off&#xff1a;在此语句后所有运行的命令都不显示命令行本身&#xff0c;但是本身的指令是…

【软考---系统架构设计师】网络规划与设计

目录 一、需求分析 二、通信规范分析 三、逻辑网络设计 四、物理网络设计 五、实施阶段 六、分层设计 网络规划与设计大致分为五步&#xff1a; &#xff08;1&#xff09;需求分析 &#xff08;2&#xff09;通信规范分析 &#xff08;3&#xff09;逻辑网络设计 &#x…

HTTP 请求走私实现以及攻击案例

HTTP 请求走私实现以及攻击案例。 HTTP请求走私(HTTP Request Smuggling)是一种Web安全漏洞,它涉及到HTTP协议的不安全实现,特别是在处理多个HTTP请求时。这种漏洞可以被利用在多种场景中,导致不同的安全问题。以下是一些主要的漏洞和应用场景: 1. 缓存投毒(Cache Pois…

使用patchelf解决vscode远程连接不支持低版本glibc的问题

使用patchelf解决vscode远程连接不支持低版本glibc的问题 目录 使用patchelf解决vscode远程连接不支持低版本glibc的问题1. 动态链接库下载2. 用 patchelf 修改 vscode-server 依赖的 glibc 版本 VScode 1.86 版本的 remote 要求 glibc 2.28 及以上&#xff0c;于是在各种旧版本…