docker安装及使用,常用命令总结

2023-05-16

1.安装

参考官方教程:https://docs.docker.com/engine/install/ubuntu/
有三种安装方法:
Install using the repositoryInstall from a packageInstall using the convenience script
(1)推荐使用:Install from a package
到 https://download.docker.com/linux/ubuntu/dists/,选择你想要安装的Ubuntu 版本, 到 pool/stable/目录下, 选择amd64, armhf, arm64, 或者 s390x, 下载符合需要的 .deb 文件。
我是在:
https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/ 下选择的安装包。
(2)然后执行命令:
sudo dpkg -i /path/to/package.deb
其中path/to/package.deb改为你的.deb文件目录
(3)测试安装是否成功
sudo docker run hello-world 尝试运行hello-word镜像
如果可以正常运行不报错,表示安装成功。

*安装好docker顺便安装一下docker-compose(可以不安装,不影响使用)
参考官方文档:https://docs.docker.com/compose/install/
运行命令:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
接着运行:
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
测试:docker-compose –version

2.拉取镜像

docker-hub 官网有很多镜像可以获取,官网地址:
https://hub.docker.com/search?q=&type=image
我们可以在搜索框使用关键词搜索想要的镜像名称,如搜索pcl会出现如下镜像:
请添加图片描述

选择自己需要的镜像,在终端使用命令 docker pull ***(镜像名) 进行拉取。
如果想要拉取一个ubuntu16.04/ubuntu18.04/ubuntu20.04的空镜像,可以直接在终端使用命令:
sudo docker pull ubuntu:16.04
sudo docker pull ubuntu:18.04
sudo docker pull ubuntu:20.04
进行拉取,然后再对空镜像安装我们需要的生产环境。这样的好处是可以针对自己的项目量身定做生产环境。
查看拉取的命令:使用 sudo docker images可以看到本机已有的镜像。

第一列为镜像名称,第二列为镜像标签,第三列为镜像ID,第四列为创建时间,第五列为占用的内存空间。
可以使用镜像名称:标签 获取到一个镜像,也可以使用镜像ID号获取到。

3.根据镜像创建容器

我们的生产环境是在容器中,而容器是根据镜像创建的。
使用sudo docker run -it --name ***(你想命名的容器名称) -v /home/cxy: /work hello-world:latest /bin/bash
其中参数 -it 为:以交互模式运行容器,且为容器重新分配一个伪输入终端;
-name 为命名;
-v 为想要映射的地址,这里将本机上的/home/cxy 目录映射到容器中的/work 目录。为了方便。也可以直接这样做:-v /home/cxy/:/home/cxy 这样在容器中和本机的目录一致,运行代码更方便;
docker run参考教程:https://www.runoob.com/docker/docker-run-command.html
命令运行成功后,你将会直接进入容器中,前面会有个容器号,后面可以通过你的容器名称或者容器号进入此容器。

退出容器可以直接在容器中执行:exit
再次进入已有容器使用命令:docker exec -it **(容器名) env LANG=C.UTF-8 /bin/bash
如果容器没有运行,是进入不了的,在进入容器前确保容器已经在运行的状态中:
使用命令 docker start ***(容器名) //运行容器
使用命令 docker stop ***(容器名) //停止容器

4.在容器内开发

进入容器后就相当于一个独立的环境,容器与容器之间的环境互不影响,根据不同的项目创建不同的容器,可以随意安装你想要的环境。

5.常用命令

(1)查看已有镜像:
sudo docker images
(2)查看已有容器:
sudo docker ps //查看所有容器
sudo docker ps -a //查看所有在运行的容器
sudo docker ps |grep *** //查看有关键字 ***的容器
(3)进入容器:
sudo docker exec -it ***(容器名) env LANG=C.UTF-8 /bin/bash
(4)删除容器:
sudo docker rm ***(容器名) ,删除前要先stop掉 (docker stop ***
(5)删除镜像:
sudo docker rmi ***(镜像名),删除前要停掉所有以此镜像创建的容器
(6)将容器导出为镜像:
使用基础镜像创建了容器后,安装了需要的环境,想要将容器导出为镜像,使用命令:
sudo docker commit ***(容器名) 镜像名:标签
参考:https://www.runoob.com/docker/docker-commit-command.html
慎用docker commit:使用 docker commit 意味着所有对镜像的操作都是黑箱操作,生成的镜像也被称为 黑箱镜像,换句话说,就是除了制作镜像的人知道执行过什么命令、怎么生成的镜像,别人根本无从得知。而且,即使是这个制作镜像的人,过一段时间后也无法记清具体的操作。这种黑箱镜像的维护工作是非常痛苦的。
参考:https://yeasy.gitbook.io/docker_practice/image/commit)
建议使用docker file 制作镜像:https://yeasy.gitbook.io/docker_practice/image/build

更多常用命令参考:https://www.runoob.com/docker/docker-command-manual.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker安装及使用,常用命令总结 的相关文章

  • 最简单-P1591 阶乘数码-洛谷

    知道的越多 xff0c 不知道的越多 xff08 微信 xff1a Y17744650906 xff09 点赞再看 xff0c 养成习惯 P1591 阶乘数码 题目描述 求 n n 中某个数码出现的次数 输入格式 第一行为 t t leq
  • 虚拟机里的ubuntu突然不能上网解决方案

    最近vw里面的ubuntu突然不能上网了 我去查了下许多人的方法 xff0c 大多都是叫你改文件配置然后重启网络之类的 xff0c 我弄了半天 xff0c 结果本来是半身瘫痪的网络直接成了植物人 这是我直接向重装了 xff0c 但文件 xf
  • Markdown转LaTeX的Python程序大全(持续更新)

    文章目录 xff11 xff0e 双 96 96 符号转 96 begin 96 96 end 96 型公式2 xff0e 将 96 matrix 96 域替换为 96 begin 96 96 end 96 域3 xff0e 删除 LaTe
  • LNMP 搭建 wordpress 站点 安装及配置过程

    0x00 环境 阿里云ECS云服务器 CPU xff1a 1核 内存 xff1a 4G 操作系统 xff1a Centos 系统盘 xff1a 100G 0x01 安装及配置 主要使用 nginx php 和 mysql 注意 xff1a
  • 【FineReport企业日常问题 2.0】FineReport(帆软设计器)如何连接远程的服务器?

    问题描述 FineReport 报表正式工程一般都部署在远程服务器上 xff0c 这里部署的是linux系统上的 xff0c 一般开发都是直连服务器进行报表设计的 然后开发完后集成到其他的系统上面 一般都会有测试报表 xff0c 和正式报表
  • 【钰言又止】

    钰言又止 看到在名古屋买的风铃 发出悦耳的声音 如同你温柔的唤醒 我慵懒的回应 天正好放晴 适合去看海边的风景浪花里你身姿娉婷 我们依偎成一道林荫 而现在和回忆平行 我已经分不清 在梦中的幻影 触碰再轻 也像是划破夜空的流星 转瞬即逝的光明
  • mysql:In aggregated query without GROUP BY, expression #1 of SELECT list contains...........

    文章目录 问题描述问题溯源解决方式一解决方法二附录 xff1a 问题描述 下面是报错截图 xff1a span class token number 1140 span In aggregated query without GROUP B
  • 【FineReport企业日常问题 3.0】帆软Finereport跨大版本打开设计文件(包括cpt,frm等)

    文章目录 场景分析探索实现方法在这里插入图片描述总结 场景 一般我们做报表开发的时候 xff0c 帆软服务器上的版本 包括小版本 最好和本地设计器的版本一致 xff0c 但是随着帆软版本升级换代 xff0c 目前已经是v11版了 之前的有v
  • 【node.js】关于node.js,如何解决npm should be run outside of the Node.js REPL, in your normal shell报错?

    问题描述 前言 xff0c 安装node方式采用的是安装包解压的 报如下错误 npm should be run outside of the Node js REPL in your normal shell 在windows环境下安装完
  • 【Mysql第一期 数据库概述】

    文章目录 1 为什么要使用数据库2 数据库与数据库管理系统2 1 数据库的相关概念2 2 数据库特点2 3SQL优点 3 常见的数据库介绍1 Oracle2 SQL Server3 MySQL4 Access5 DB26 PostgreSQ
  • 【Mysql第二期 MySQL环境搭建】

    文章目录 01 为什么要安装新版本 xff1f 02 官网下载mysql03 安装配置初始化mysql 04 查看 MySQL服务05 验证是否安装成功06 修改root密码07 如果有navicat工具可以在测试一下 xff1a 01 为
  • 【Mysql第三期 基本查询语句结构】

    文章目录 1 SQL概述1 1 SQL背景知识1 2SQL 分类 2 SQL语言的规则与规范2 1 基本规则2 2 SQL大小写规范 xff08 建议遵守 xff09 2 3 注 释2 4 命名规则 xff08 暂时了解 xff09 3 基
  • 【Mysql第四期 运算符规则计算】

    文章目录 写在前面1 算数运算符2 比较运算符3 逻辑运算符4 位运算符5 运算符的优先级拓展 xff1a 使用正则表达式查询 写在前面 基本的运算符号在计算机编程领域都是相通的 xff0c 会有自己的一些特定符号语言 xff0c 就像是各
  • 【Mysql第五期 排序与分页】

    文章目录 案例使用的数据脚本1 排序数据1 1 排序规则1 2 单列排序1 3 多列排序 2 分页2 1 需求2 2 实现规则 3 课后习题扩展分析原因问题解决总结 案例使用的数据脚本 1 mysql脚本下载链接https download
  • jeston TX1_TX2 ubuntu18.04安装(国内安装源gitee)ROS Melodic

    查看ubunut系统信息 cat proc version uname a lsb release a 我自己的系统信息是 xff1a 由于我自己已经迁移了系统至SD卡 xff0c 所以存储比较富裕 xff1a 通过对应的ubuntu版本安
  • 【Mysql第六期 多表连接查询】

    文章目录 1 了解什么是笛卡尔积 xff08 或交叉连接 xff09 2 多表连接分类3 非等值连接4 UNION的使用7 MySQL的七种join图解8 课后习题 1 了解什么是笛卡尔积 xff08 或交叉连接 xff09 笛卡尔乘积是一
  • 【Mysql第七期 函数】

    文章目录 1 函数的理解1 1 什么是函数1 2 不同DBMS函数的差异 2 数值函数2 3 三角函数2 5 进制间的转换 3 字符串函数常用函数 4 日期和时间函数4 1 获取日期 时间4 2 日期与时间戳的转换4 3 获取月份 xff0
  • 【Mysql第八期 子查询】

    文章目录 前言1 需求分析与问题解决1 2 子查询的基本使用1 3 子查询的分类 2 单行子查询2 1 单行比较操作符2 2 代码示例2 5 子查询中的空值问题 3 多行子查询3 1 多行比较操作符3 2 代码示例3 3 空值问题 4 相关
  • 【Mysql第九期 建表语句和管理表】

    文章目录 1 基础知识1 1 一条数据存储的过程1 2 标识符命名规则1 3 MySQL中的数据类型 2 创建和管理数据库2 2 使用数据库2 3 修改数据库2 4 删除数据库 3 创建表3 2 创建方式23 3 查看数据表结构 4 修改表
  • 【Mysql第十期 数据类型】

    文章目录 1 MySQL中的数据类型2 类型介绍2 2 可选属性2 2 2 UNSIGNED2 2 3 ZEROFILL2 3 适用场景2 4 如何选择 xff1f 3 浮点类型3 2 数据精度说明3 3 精度误差说明 4 定点数类型4 1

随机推荐

  • 【Mysql第十一期 约束】

    文章目录 1 约束 constraint 概述1 1 为什么需要约束1 2 什么是约束1 3 约束的分类 2 非空约束2 1 作用2 2 关键字2 3 特点2 4 添加非空约束2 5 删除非空约束 3 唯一性约束3 1 作用3 2 关键字3
  • 【Mysql第十二期 视图】

    文章目录 1 常见的数据库对象2 视图概述2 1 为什么使用视图 xff1f 2 2 视图的理解 3 大白话理解3 1 创建单表视图3 2 创建多表联合视图 4 查看视图5 更新视图的数据5 1 一般情况 6 修改 删除视图6 1 修改视图
  • 【presto sql】presto sql 如何通过 计算当前日期(年月日,时分秒) 来计算当前是星期几?

    文章目录 原因解析常见的日期处理方式拓展 原因 presto没有直接的日期转星期几的方式 xff0c 但是可以通过函数mod xff0c date diff多种函数进行求模转换成我们想要的星期几 span class token keywo
  • 【presto】presto如何对字段换行处理?chr(10)

    文章目录 问题描述问题分析什么是ASCII码presto sql逻辑 问题描述 需要对当前日期格式如 xff1a 2023 02 23 当遇到 的时候进行换行处理 其他的文本描述字段同理 问题分析 通过查找presto的函数 xff0c 换
  • Qt扫盲-QMenu理论总结

    QMenu理论总结 一 概述二 常用操作1 添加Action2 信号槽3 可撕下菜单4 展示菜单 一 概述 QMenu其实就是菜单控件 xff0c 菜单控件本质上就是一个选择项目 它可以是菜单栏中的下拉菜单 xff0c 也可以是独立的上下文
  • c++: internal compiler error: Segmentation fault (program cc1plus) 解决

    在ubuntu中编译很多库 xff0c 尤其是很大的一些中间件 xff0c 常常会c 43 43 internal compiler error Segmentation fault program cc1plus 这个错误 xff0c 看
  • Windows 远程桌面连接 Jetson Nx (Linux)Ubuntu 18.04

    一 Windows打开远程桌面工具 采取Windows自带远程桌面工具 xff0c 使用win 43 r输入打开mstsc 输入目标ip xff0c 以及用户名 xff08 在显示选项中打开输入用户名 xff09 二 Linux配置 安装x
  • Android studio更换阿里源

    对特定项目生效 xff0c 在项目中的build gradle修改内容 buildscript span class token punctuation span repositories span class token punctuat
  • docker 服务与调用

    docker file ROM tensorflow1 span class token punctuation span 14 python3 span class token punctuation span 5 20210111 sp
  • CTC loss原理详解大全

    ctc本质是损失函数 xff0c 在我的学习过程中浏览了一些博客 xff0c 下面整理了一些写的较好 较详细的 xff1a 1 过程详细 xff0c 全英文 2 博主参照原文讲解的 3 有伪代码 xff0c 帮助理解 4 中文解释 xff0
  • Python 对象、类、实例的联系与区别

    Python 中的对象 类 实例 本文讲述Python 中对象 类 实例的联系与区别 来源 xff1a 笨办法学 Python xff08 Learn Python The Hard Way xff09 作者 xff1a Zed Shaw
  • linux安装tailf 命令

    1 复制如下代码到一个新建的tailf c文件里 span class token comment tailf c tail a log file and then follow it Created Tue Jan 9 15 49 21
  • DBNet学习笔记

    1 网络结构 xff1a 1 网络流程 输入一张图片 xff0c 经过卷积操作 gt 1 2 gt 1 4 gt 1 8 gt 1 16 gt 1 32进行特征的提取 xff0c 然后进行上采样操作 xff0c 上采样的过程是把1 32的特
  • ubuntu18.04 安装PCL1.8.1

    ubuntu18 04 安装PCL1 8 1 注意版本匹配 xff1a PCL1 8 1 43 VTK7 1 1 43 QT5 14 2 1 PCL github 地址 xff1a https github com PointCloudLi
  • ubuntu 18.04 docker 安装

    docker 官网 xff1a https docs docker com engine install ubuntu xff08 1 xff09 按照官网安装教程 xff1a 我选择的是Install from a package安装方法
  • C++函数返回多个值:结构体、tuple

    C 43 43 函数一般可以返回一个值 xff0c 但是在使用中常常需要一个函数返回多个值 xff0c 因此可以使用结构体或tuple来进行实现 注意看代码里的注释 xff01 xff01 xff01 1 使用结构体返回多个值 实现步骤 x
  • 【GStreamer 】1-扫盲介绍

    从历史的角度来看 xff0c Linux 在多媒体方面已经远远落后于其它的操作系统 微软的Windows和苹果的MacOS它们对多媒体设备 多媒体创作 播放和实时处理等方面已经有了很好的支持 另一方面 xff0c Linux对多媒体应用的综
  • C++判断文件是否存在

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • PCL编译完成后找不到库

    使用执行命令L g 43 43 std 61 c 43 43 14 I usr local include pcl 1 8 I usr local include eigen3 main cpp o test111 其中 std 61 c
  • docker安装及使用,常用命令总结

    1 安装 参考官方教程 xff1a https docs docker com engine install ubuntu 有三种安装方法 xff1a Install using the repository Install from a