首页 > 其他分享 >Docker使用教程及常用命令

Docker使用教程及常用命令

时间:2023-08-08 13:35:23浏览次数:42  
标签:容器 教程 compose yml Compose 常用命令 docker Docker

Docker是一个开源的应用容器引擎,允许开发者将应用以及依赖打包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows上。它非常适用于持续集成与持续交付(CI/CD)。

1. 安装Docker

首先,你需要在你的服务器上安装Docker。根据你的操作系统,可以选择适合的安装方法。

(1)对于Ubuntu:

sudo apt-get update
sudo apt-get install docker.io

启动Docker并设置为开机启动:

sudo systemctl start docker
sudo systemctl enable docker

(2)对于Centos:

  1. 安装所需的包

首先,确保你已经安装了必要的软件包。

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 添加Docker存储库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装Docker CE
sudo yum install docker-ce
  1. 启动Docker并使其开机启动
sudo systemctl start docker
sudo systemctl enable docker
  1. 验证Docker是否正确安装

运行一个简单的Docker Hello World镜像来验证安装是否成功:

docker run hello-world

如果你看到Hello World的消息,那么Docker已经成功安装并正在运行。

注意: 安全最佳实践建议您不要使用root用户来运行Docker容器。您可以通过创建一个docker用户组并将用户添加到该组来避免使用root权限。此外,还建议使用Docker提供的安全增强功能,如AppArmor、SELinux等来提高Docker容器的安全性。

参考教程:Centos7下安装Docker(详细安装教程)通俗易懂-腾讯云开发者社区-腾讯云 (tencent.com)

2. Docker基本命令

  1. 查看Docker版本

    docker --version
    
  2. 运行一个Docker容器

    如果你想要运行一个简单的nginx服务器,你可以执行以下命令:

    docker run -d -p 80:80 nginx
    
  3. 查看正在运行的Docker容器

    docker ps
    

    若要查看所有容器(包括停止的),可以使用:

    docker ps -a
    
  4. 停止容器

    docker stop [容器ID或容器名]
    
  5. 移除容器

    docker rm [容器ID或容器名]
    
  6. 查看本地的Docker镜像

    docker images
    
  7. 移除Docker镜像

    docker rmi [镜像ID或名称]
    
  8. 构建Docker镜像

    在Dockerfile所在的目录中,执行:

    docker build -t [镜像名]:[标签] .
    
  9. Docker日志

    查看容器的输出:

    docker logs [容器ID或容器名]
    

3. Docker Compose

Docker Compose介绍

Docker Compose是一个用于在单一主机上定义和运行多容器应用的工具。通过一个简单的YAML文件,你可以定义应用的服务、网络和卷,然后使用一个命令来启动整个堆栈。

(1)Docker Compose的YAML模板格式

以下是一个简单的Docker Compose模板示例,它定义了一个web服务和一个数据库服务:

version: '3'  # 使用的Compose文件版本

services:  # 定义的服务列表
  web:  # 服务名
    image: nginx:latest  # 使用的Docker镜像
    ports:
      - "5000:80"  # 端口映射,格式为"宿主机端口:容器端口"

  db:
    image: postgres:latest
    environment:  # 设置环境变量
      POSTGRES_PASSWORD: example

networks:  # 可选,定义网络
  default:
    external:
      name: my-network

volumes:  # 可选,定义卷
  db-data:

当你有一个名为docker-compose.yml的文件时,你可以运行docker-compose命令来控制定义的服务。

(2)Docker Compose常用命令

  1. 启动定义在Compose文件中的服务

    docker-compose up
    

    docker-compose up 命令需要在 docker-compose.yml 文件所在的目录下运行,除非你通过 -f--file 参数指定了一个不同的路径和文件名。

    当你在终端或命令行界面中运行 docker-compose 命令,它默认会在当前目录下寻找名为 docker-compose.ymldocker-compose.yaml 的文件。

    例如,如果你的 docker-compose.yml 文件位于 /path/to/your-project,你应该首先更改到那个目录:

    cd /path/to/your-project
    docker-compose up
    

    但是,如果你在另一个目录,并且不想改变当前目录,你可以使用 -f 参数指定 docker-compose.yml 文件的路径:

    docker-compose -f /path/to/your-project/docker-compose.yml up
    

    如果你有多个Compose文件,并希望按顺序应用它们,你可以多次使用 -f 参数。例如:

    docker-compose -f docker-compose.base.yml -f docker-compose.override.yml up
    

    这会首先加载 docker-compose.base.yml 文件,然后将 docker-compose.override.yml 中的任何内容合并或覆盖它。

  2. 在后台模式启动服务

    docker-compose up -d
    
  3. 停止服务

    docker-compose stop
    
  4. 停止并移除容器、网络、卷和镜像

    docker-compose down
    
  5. 查看服务的输出

    docker-compose logs [服务名]
    
  6. 构建或重建服务

    如果你有一个Dockerfile并在docker-compose.yml中指定了build指令,你可以使用以下命令来构建服务的镜像:

    docker-compose build
    
  7. 查看运行中的容器的状态

    docker-compose ps
    
  8. 执行一个命令在特定服务的容器中

    docker-compose exec [服务名] [命令]
    

总结

Docker Compose为开发者提供了一种方便、统一的方式来定义、管理和运行多容器应用。对于复杂的应用,使用Docker Compose可以大大简化部署和管理的过程。

标签:容器,教程,compose,yml,Compose,常用命令,docker,Docker
From: https://www.cnblogs.com/ranxi169/p/17613925.html

相关文章

  • 无涯教程-Perl - exp函数
    描述此函数将e(自然对数底数)返回到EXPR的幂。如果省略EXPR,则给出exp($_)。语法以下是此函数的简单语法-expEXPRexp返回值此函数不返回任何值。参考链接https://www.learnfk.com/perl/perl-exp.html......
  • odoo系统局域网及外网访问?快解析内网穿透方案教程
    首先,带着大家了解一下odoo是什么?前身是OpenERP。Odoo是一个广泛使用的开源ERP(企业资源规划)系统,它的主要特点之一就是高度模块化的设计。此套装可满足中小型企业的一切应用需求,例如,企业基本的进销存、采购、销售、MRP生产制造、产品保质量保障、企业招聘、员工合同、休假、午餐管......
  • odoo系统局域网及外网访问?快解析内网穿透方案教程
    首先,带着大家了解一下odoo是什么?前身是OpenERP。Odoo是一个广泛使用的开源ERP(企业资源规划)系统,它的主要特点之一就是高度模块化的设计。此套装可满足中小型企业的一切应用需求,例如,企业基本的进销存、采购、销售、MRP生产制造、产品保质量保障、企业招聘、员工合同、休假、午餐管......
  • docker容器出现编码错误
    容器运行出现UnicodeEncodeError:'ascii'codeccan'tencodecharactersinposition0-2:ordinalnotinrange(256)问题原因是打印的内容有中文,编码出现问题Dockerfile中,添加一行,设置环境变量,重新构建镜像,启动容器即可解决ENVLC_ALL=C.UTF-8......
  • 免费获取最新WebStorm激活码,永久激活WebStorm教程
    分享的WebStorm2023.2最新激活注册码,可免费永久激活,亲测有效,下面是详细文档哦~申明:本教程WebStorm激活码收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版!PS:本教程最新更新时间:2023年08月08日~前言前端开发工具中,有小伙伴们......
  • 传奇开区教程 开新区为何要清理数据
    最开始在游戏里用GM号在后台里点各种初始化,然后点玩家数据清理,清理完毕后就下线!进行以下操作!1.清除玩家帐号数据库删除:D:\xMirServer\loginsrv\IDDB下的两个文件ID.DB和ID.DB.IDX2.清除玩家物品数据库删除:D:\xMirServer\Dbserver\FDB 下的三个文件Hum.db和Mir.db和Mir.db.idx3......
  • ubuntu安装docker和docker-compose
      ubuntu系统docker和安装,并安装docker-compose安装dockeraptinstalldocker.io设置docker为开机自启systemctlenabledocker安装docker-composeaptinstalldocker-compose修改配置,设置国内镜像仓库和本地镜像仓库vi/etc/docker/daemon.json{"registry-......
  • Django博客开发教程:基础配置
    创建项目之后,我们需要对项目进行最基础的配置。这些配置是我们做项目的时候必须要配置的,所以我们先提前配置好。我们打开myblog目录下的settings.py文件。一、设置域名访问权限myblog/settings.pyALLOWED_HOSTS = []      #修改前ALLOWED_HOSTS = ['*']   #修改......
  • 视频融合平台视频汇聚平台LiteCVR用户反馈接入设备显示离线处理教程
    LiteCVR视频融合平台是一款基于云边端一体化架构的应用程序,旨在提供强大的数据接入、处理和分发功能。该平台支持多种协议接入,包括市场主流标准协议和厂家私有协议及SDK,例如国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、宇视SDK等。我们收到了用户的反馈,他们在长时间使用Li......
  • docker基础
    目录容器运行常见报错以及解决办法容器运行参数解析Netstat命令dhclient命令docker命令补充容器运行常见报错以及解决办法1.出现Errorresponsefromdaemon:Conflict,Thecontainername“***”isalreadyinuse解决方法:(1)给容器换一个名字,比如说dockerrun-it--......