Docker入门之docker基本命令

news2025/1/10 23:27:48

Docker入门之docker基本命令

官方网站:https://www.docker.com/

在这里插入图片描述

1. 拉取官方镜像并创建容器(以redis为例)

  • 拉取官方镜像
docker pull redis
# 如果不需要添加到自定义网络使用这个命令,如需要,直接看第二步
docker run --name redis-container -d -p 6379:6379 redis
  • 创建容器,容器名为:--name redis-container
  • -d 后台运行
  • -p 端口映射(宿主机端口:容器端口)
  • redis:镜像名

2.创建自定义网络

  • 创建(网络名:my_network)
docker network create my_network
  • 创建容器并添加自定义网络
docker run -d --name redis_container --network my_network redis:latest
  • 添加redis容器到自定义网络:--network my_network
  • 其它命令参考上文

3.项目镜像和容器构建

1. 创建Dockerfile文件,一般在项目根目录创建

以一个python django项目为例

# 使用 Python 官方的 Python 3 镜像作为基础镜像
FROM python:3.8
# 设置 pip 源为阿里云,如果需要
RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
# 设置工作目录为 /app
WORKDIR /app
# 拷贝项目代码到容器中的 /app 目录
COPY . /app
# 安装项目依赖
RUN pip install -r requirements.txt
# 安装 uwsgi
RUN pip install uwsgi
# 启动 uwsgi,这个CMD内的命令会直接在容器中执行
CMD ["uwsgi", "--ini", "/app/uwsgi.ini"]

2. 项目镜像构建

docker build -t my-image .
  • -t 用于自定义镜像标签,如果不需要,docker会自动生成
  • . 点表示使用当前目录的Dockerfile

3.项目容器构建

docker run -d --name my-container --network my_network -v /www/server/my-django:/app -p 9000:9000 -e REDIS_HOST=redis-container -e REDIS_PORT=6379 my-image
  • -v /www/server/my-django:/app

表示Docker 将主机上的 /www/server/my-django 目录与容器内的 /app 目录进行关联,关联后可直接在主机上对容器内app目录进行管理

  • -e REDIS_HOST=redis-container -e REDIS_PORT=6379

-e 选项用于设置环境变量

这里设置了一个名为 REDIS_HOST 的环境变量,其值为 redis-container
REDIS_PORT=6379这条命令设置了一个名为 REDIS_PORT 的环境变量,其值为 6379

  • 需要添加MySQL或其它自定义网络的情况,同redis容器一样操作
  • 其它命令参考上文

4.打包容器、镜像

打包容器

  • 压缩包名:my-container-image.tar
# 用容器生成镜像
docker commit my-container my-container-image 
# 镜像打包成压缩包
docker save -o my-container-image.tar my-container-image

压缩包创建镜像

docker load -i  /my-container-image.tar

其它常用:

  • 查看所有镜像:
docker images
  • 删除镜像:
    image_tag可以是镜像id或者镜像标签
docker rmi image_tag 
  • 查看所有在运行的容器:
docker ps
  • 查看所有容器:
docker ps -a
  • 删除容器:
    container_name可以是容器id或者容器名
docker rm container_name 
  • 查看容器运行日志
docker logs my-container
  • 进入容器
docker exec -it my-container bash
  • 退出容器(前提是进入容器)
exit

其它更多命令请移步官方:https://www.docker.com/

docker-compose

以上是项目中需要使用docker的一个简单梳理,当然,如果感觉太复杂,也可以使用docker-compose进行一次性创建,docker-compose需要另外安装

1.创建docker-compose.yml

  • 同Dockerfile一样,一般在项目根目录创建
services:
  my-container:
    image: my-image  # 后端镜像
    ports:
      - "9000:9000"  # 映射端口 
    networks:
      - my_network  #自定义网络名

  redis-container:
    image: redis
    networks:
      - my_network

networks:
  my_network:  # 定义自定义网络

2.安装docker-compose

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  • 需要为其添加执行权限如果没有
sudo chmod +x /usr/local/bin/docker-compose

3.创建

docker-compose up -d

4.删除

docker-compose down

最后

最后是附上本人使用docker部署的一个线上服务供大家消遣,欢迎访问:http://www.chensc.com.cn/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2274593.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL Server中可以通过扩展事件来自动抓取阻塞

在SQL Server中可以通过扩展事件来自动抓取阻塞,以下是详细流程: 开启阻塞跟踪配置: • 执行以下SQL语句来启用相关配置: EXEC sp_configureshow advanced options, 1; RECONFIGURE; EXEC sp_configure blocked process thresh…

【VBA】【EXCEL】将某列内容横向粘贴到指定行

Sub CopyRowToColumn()On Error GoTo ErrorHandler 添加错误处理Application.ScreenUpdating FalseApplication.Calculation xlCalculationManualApplication.EnableEvents False 禁用事件处理Dim lastCol As LongDim lastRow As LongDim i As Long, colCount As LongDim …

基于机器学习的故障诊断(入门向)

一、原始信号的特征提取 1.EMD经验模态分解的作用 信号分析:EMD可以将信号分解为多个IMFs,每个IMF代表信号中的一个特定频率和幅度调制的成分。这使得EMD能够提供对信号的时频特征进行分析的能力(特征提取用到的)。信号去噪&…

多台PC共用同一套鼠标键盘

当环境中有多个桌面 pc 需要操作的时候,在 多台 pc 之间切换会造成很多的不方便 可以通过远程进行连接,但是有一个更好的方案是让多台机器之间共用同一套键盘鼠标 常用的解决方案 synergy 和 sharemouse,通过移动光标在不同的 pc 间切换 s…

[免费]微信小程序(高校就业)招聘系统(Springboot后端+Vue管理端)【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的微信小程序(高校就业)招聘系统(Springboot后端Vue管理端),分享下哈。 项目视频演示 【免费】微信小程序(高校就业)招聘系统(Springboot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项目介绍…

Midjourney 应用:框架总结

Midjourney 应用:框架总结 官方的模板很简单,分成四个部分: 主体细节 & 背景风格、媒介、艺术家参数 我的总结 其实按照官方模板写,你已经能超过 90% 的初学者,但根据我的实验,我细化了他们的模板的…

【Maui】导航栏样式调整

前言 .NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。 使用 .NET MAUI,可从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。 .NET MAUI 是一款开放源代码应用,是 X…

uniapp 微信小程序内嵌h5实时通信

描述: 小程序webview内嵌的h5需要向小程序实时发送消息,有人说postMessage可以实现,所以试验一下,结果是实现不了实时,只能在特定时机后退、组件销毁、分享时小程序才能接收到信息(小程序为了安全等考虑做了…

腾讯云AI代码助手编程挑战赛-厨房助手之AI大厨

腾讯云AI代码助手编程挑战赛-厨房助手之AI大厨 作品简介 身处当今如火箭般迅猛发展的互联网时代,智能聊天助手已然化身成为提升用户体验的关键利器,全方位渗透至人们的数字生活。 紧紧跟随着这股汹涌澎湃的时代浪潮,我毅然投身于极具挑战性…

网易云音乐登录两部手机:IP属地归属何方?

在数字化生活日益普及的今天,音乐平台成为了我们日常娱乐不可或缺的一部分。网易云音乐,作为众多音乐爱好者的首选,其丰富的音乐资源和个性化的推荐算法深受用户喜爱。然而,随着多设备登录成为常态,一个问题也随之浮现…

[工具]git克隆远程仓库到本地快速操作流程

一、新建空目录 二、初始化本地仓库 git init 初始化成功后&#xff0c;会在当前目录生成一个.git的目录。 三、关联远程仓库 git remote add origin <URL>这一步让本地仓库与远程仓库进行关联&#xff0c;origin是远程仓库的别名&#xff0c;可以自定义。 四、克隆…

如何在 Ubuntu 22.04 上集成 Collabora Online 教程

简介 在本教程中&#xff0c;我们将详细讲解如何在 Ubuntu 22.04 操作系统上安装 Collabora Online。 Collabora Online 是一个基于 LibreOffice 技术的开源办公套件。它提供了许多功能&#xff0c;其中最有用的一个功能是 Collabora 提供了 Word 文档、电子表格、演示文稿等…

Linux的内核空间中的日志打印函数printk的详解;如果设置`printk` 函数的默认日志级别和是否输出到终端控制台

引言 首先&#xff0c;要知道&#xff0c;内核空间是没有printf函数的&#xff0c;printf函数是是用户空间的标准 I/O 函数&#xff0c;而不是内核空间中的。 所以在运行于内核空间的程序中(比如驱动程序)&#xff0c;是不能使用printf函数的&#xff0c;但有时候我们又需要打…

Python编程实例-特征向量与特征值编程实现

特征向量与特征值编程实现 文章目录 特征向量与特征值编程实现1、什么是特征向量2、特征向量背后的直觉3、为什么特征向量很重要?4、如何计算特征向量?4、特征向量Python实现5、可视化特征向量6、总结线性代数是许多高级数学概念的基石,广泛应用于数据科学、机器学习、计算机…

202-01-06 Unity 使用 Tip1 —— UnityHub 模块卸载重装

文章目录 1 卸载模块2 更新配置文件3 重启 UnityHub 起因&#xff1a; ​ WebGL 平台打包程序报错&#xff0c;懒得修复了&#xff0c;因此粗暴地删了重装。但是 UnityHub 不支持卸载模块&#xff0c;因此手动配置。 1 卸载模块 ​ 以 Unity 6000.0.26f1c1 为例&#xff0c;其…

Git的简单介绍与如何安装Git

文章目录 前言一、初始git1.git是什么2.为什么要使用git(出现的问题)3.git是如何解决问题的 二、git的安装与卸载1.centos系统2.ubuntu系统3.windows 三、搭建git本地环境1.创建git本地仓库2.配置用户信息 总结 前言 本文简单引入git的相关内容。 一、初始git 1.git是什么 g…

Linux 进程入门:带你走进操作系统的核心地带(1)

&#x1f31f; 快来参与讨论&#x1f4ac;&#xff0c;点赞&#x1f44d;、收藏⭐、分享&#x1f4e4;&#xff0c;共创活力社区。&#x1f31f; &#x1f6a9;用通俗易懂且不失专业性的文字&#xff0c;讲解计算机领域那些看似枯燥的知识点&#x1f6a9; 在 Linux 操作系…

C#版OpenCv常用函数大全

OpenCvSharp 是 OpenCV 的NET封装&#xff0c;提供了丰富的图像处理和计算机视觉功能。以下是一些常用函数及其详细说明。 1. 图像读取与显示 Cv2.ImRead 功能&#xff1a;读取图像文件并返回一个 Mat 对象。用法&#xff1a;Mat image Cv2.ImRead("path/to/image.jpg&…

【初阶数据结构】线性表之单链表

文章目录 前言 一、单链表的概念与结构 1.概念 2.结点 3.性质 二、实现单链表 1.结构的定义 2.链表的打印和结点的申请 3.单链表的尾插和头插 4.单链表的尾删和头删 5.单链表的查找 6.指定位置之前插入数据和指定位置之后插入数据 7.删除pos结点和删除pos之后的结…

DB-Engines Ranking 2025年1月数据库排行

DB-Engines Ranking 2025年1月数据库排行 DB-Engines排名根据数据库管理系统的受欢迎程度进行排名。排名每月更新一次。 2025年1月&#xff0c;共有423个数据库进入排行。 排行榜 Oracle Oracle 连续三月稳居榜首&#xff0c;排名稳定。2025 年 1 月分数较上月增 5.03&#x…