docker命令详解

2023-05-16

镜像下载

  • 搜索镜像
  • docker search +镜像名字
    #docker search centos

从Docker Hub中搜索符合条件的镜像
在这里插入图片描述

  • 下载镜像
    #docker pull +镜像名字
    #docker pull centos
    在这里插入图片描述

  • 查看镜像
    #docker images
    在这里插入图片描述

  • 开启网络转发功能(默认为开启状态)若无开启,可以使用以下命令开启
    #vim /etc/sysctl.conf
    插入一条语句:net.ipv4.ip_forward=1
    #sysctl -p // 使得语句生效
    #cat /proc/sys/net/ipv4/ip_forward
    在这里插入图片描述
    若你的网络转发功能为开启,在连接docker时,会出现以下错误。导致docker容器中的镜像无法上网。
    在这里插入图片描述

  • docker 平台使用命令

  • 例1:运行一个 container并加载镜像centos,运行起来这个实例后,在实例中执行 /bin/bash命令
    docker 的参数:
    run 运行
    -t 以交互模式运行容器,
    -i 为容器重新分配一个伪输入终端
    [root@break du]# docker images //查看当前下载的镜像
    [root@break du]# docker run -it centos:latest /bin/bash //运行起来一个容器
    [root@73fb5e288c8d /]# exit //退出当前容器
    在这里插入图片描述
    在这里插入图片描述

  • 例2:在 container 中启动一个长久运行的进程,不断向stdin输出 hello。模拟一个后台运行的服务
    docker命令参数:
    -d :后台运行容器,并且返回容器ID
    -c :后面跟着待完成的命令
    [root@break du]# docker run -d centos:latest /bin/bash -c “while true;do echo hello ;sleep 1;done”
    在这里插入图片描述
    #docker logs c4765de4fa30
    在这里插入图片描述
    例3:杀死一个容器。 比如:杀死一个正在后台运行的容器
    [root@break du]# docker run -d centos:latest /bin/bash -c “while true;do echo hello ;sleep 1;done” //docker启动,模拟一个后台服务。
    973835e1a37adacedce8850e688b9f2a0c7cf16690e8b3cbd83685086e97d1b1
    [root@break du]# docker ps //列出所有正在运行中的镜像
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    973835e1a37a centos:latest “/bin/bash -c 'while…” 6 seconds ago Up 3 seconds jolly_davinci
    [root@break du]# docker kill 973835e1a37a //杀死一个正在后台运行的容器
    973835e1a37a
    [root@break du]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    在这里插入图片描述
    例4:启动、停止、重启 container容器实例
    [root@break du]# docker run -d centos:latest /bin/bash -c “while true;do echo firends;sleep 3;done” //模拟一个后台运行的服务
    de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462
    [root@break du]# docker logs de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462 //查看日志
    firends
    firends
    [root@break du]# docker ps //列出正在运行的容器
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    de25c2541b2d centos:latest “/bin/bash -c 'while…” 20 seconds ago Up 19 seconds pedantic_colden
    [root@break du]# docker stop de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462 //停止一个容器
    de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462
    [root@break du]# docker ps //列出运行中的容器
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    [root@break du]# docker start de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462 //启动一个容器
    de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462
    [root@break du]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    de25c2541b2d centos:latest “/bin/bash -c 'while…” 55 seconds ago Up 5 seconds pedantic_colden
    [root@break du]# docker logs de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462
    firends
    firends
    firends

[root@break du]# docker rm -f de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462 //删除容器
de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462
[root@break du]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
在这里插入图片描述
在这里插入图片描述

docker 镜像制作

  • 1docker commit +ID/name
    实例5:创建一个有apache的centos镜像
    1使用docker commit +容器ID+新建的镜像名字
    [root@break du]# docker run -it centos:latest /bin/bash
    [root@4b92f408db31 /]# yum -y install httpd

在这里插入图片描述
[root@break du]# docker commit 4b92f408db31 docker-centos:apache
在这里插入图片描述
在这里插入图片描述
2使用Dockerfile来创建一个含有apache的镜像

  1. 创建工作目录
mkdir /docker-build
cd /docker-build
touch Docker-file
注意:make自动化编译时,需要Makefile文件,而自动化创建docker镜像时,需要Docker-file
  1. 编辑Dockerfile
FROM centos:latest
MAINTAINER <break@du.cn>
RUN yum -y install httpd
ADD start.sh /usr/local/bin/start.sh
ADD index.html /var/www/html/index.html

注释:
FROM centos:latest # FROM 基于哪个镜像
MAINTAINER break@du # MAINTAINER 镜像创建者
RUN yum -y install httpd #RUN 安装软件用
ADD start.sh /usr/local/bin/start.sh
ADD index.html /var/www/html/index.html
ADD 将文件src拷贝到新产生的镜像的文件系统对应的路径dest。所有拷贝到新镜像中的文件和文件夹权限为0755,uid和gid为0

  1. 创建start.sh和index.html
echo "/usr/sbin/httpd-DFOREGROUND"  > start.sh
chmod a+x start.sh
echo "my test images" > index.html
  1. 使用build来创建image
docker build -t docker-centos:apacheruning ./

在这里插入图片描述
在这里插入图片描述

docker发布

方法:Save Image To TarBall
方法1:保存 Image 到 tar 包——将刚才做好的镜像打包。
语法:docker save -o 导出的镜像名.tar 本地镜像名:镜像标签

例如:

docker save -o docker-centos:running.tar docker-centos:apacheruning

在这里插入图片描述

docker load -i docker-centos:apacherunning.tar //导入本地镜像

docker优点

1.一些优势和VM一样,但不是所有都一样。
比VM小,比VM快,Docker容器的尺寸减小相比整个虚拟机大大简化了分布到云和从云分发时间和开销。Docker启动一个容器实例时间很短,一两秒就可以启动一个实例。
2.对于在笔记本电脑,数据中心的虚拟机,以及任何的云上,运行相同的没有变化的应用程序,IT的发布速度更快。
Docker是一个开放的平台,构建,发布和运行分布式应用程序。
Docker使应用程序能够快速从组件组装和避免开发和生产环境之间的摩擦。
3.您可以在部署在公司局域网或云或虚拟机上使用它。
4.开发人员并不关心具体哪个Linux操作系统
使用Docker,开发人员可以根据所有依赖关系构建相应的软件,针对他们所选择的操作系统。
然后,在部署时一切是完全一样的,因为一切都在DockerImage的容器在其上运行。
开发人员负责并且能够确保所有的相关性得到满足。
5.Google,微软,亚马逊,IBM等都支持Docker。
6.Docker支持Unix/Linux操作系统,也支持Windows或Mac

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

docker命令详解 的相关文章

随机推荐

  • 视觉SLAM⑤--相机与图像

    目录 5 0 本章简介 5 1 相机模型 5 1 1针孔相机模型 5 1 2 畸变模型 5 1 3 双目相机模型 5 1 4 RGB D相机模型 5 2 图像 5 3 实践 xff1a 计算机中的图像 5 3 1 OpenCV的基本使用方法
  • 视觉SLAM⑩后端Ⅱ(滑动窗口滤波和优化与位姿图)

    目录 10 0 本章概述 10 1 滑动窗口滤波和优化 10 1 1 实际环境下的BA结构 10 1 2 滑动窗口法 10 2 位姿图 10 2 1 位姿图的意义 10 2 2位姿图的优化 10 3 非线性优化整体总结 xff1a 前端 后
  • 学习C++:C++进阶(五)CMake应用篇---集成第三方库和依赖管理

    目录 第二部分 xff1a 实用 CMake xff08 Practical CMake Getting Your Hands Dirty with CMake xff09 3 0 集成第三方库和依赖管理 xff08 Integrating
  • 2.ORB-SLAM2改进版本--稠密建图版本解析

    目录 1 修改思路 2 基本概念 nbsp 2 1 统计滤波 2 2 体素滤波
  • FreeRTOS 的命名规则

    初学 FreeRTOS 的用户对其变量和函数的命名比较迷惑 xff0c 下面专门做一下介绍 xff1a 变量 uint32 t 定义的变量都加上前缀 ul u 代表 unsigned 无符号 xff0c l 代表 long 长整型 uint
  • 【单目测距和双目测距比较】

    单目测距和双目测距比较 单 双目方案的优势与难点单目测距双目测距 双目测距实现步骤实现过程 单 双目方案的优势与难点 单目测距 优点 xff1a 单目的优势在于成本较低 xff0c 对计算资源的要求不高 xff0c 系统结构相对简单 缺点
  • ROS学习笔记(3):添加第三方依赖库

    最近在工控机上加入CAN卡 xff0c 想利用CAN卡来做为数据收发 现在在工程中加入CAN卡的头文件和自己做的cpp文档 已经申明了 函数 xff0c 但是还是会出现上图所示的错误 xff0c 经过一晚上的战斗算是搞清楚了 感谢 64 头
  • Java面试题及答案2019版(上)

    1 面向对象的特征有哪些方面 xff1f 答 xff1a 面向对象的特征主要有以下几个方面 xff1a 抽象 xff1a 抽象是将一类对象的共同特征总结出来构造类的过程 xff0c 包括数据抽象和行为抽象两方面 抽象只关注对象有哪些属性和行
  • git到远程出现的一些问题以及解决方法

    我们首先回顾一下 git reset命令 xff1a 1 git reset mixed xff1a 此为默认方式 xff0c 等同于不带任何参数的git reset 2 git reset soft 回退到某个版本 xff0c 只回退了c
  • CMakeLists.txt 和 package.xml 重要内容详解

    边学边看 xff0c 学到什么分享什么 CMakeLists txt 构建配置文件package xml 功能包配置文件 上面的意思个人理解就是功能包本身如果要在别处运行 xff0c 需要什么样的条件在xml文件中看 功能包自身 xff0c
  • Docker运行Prometheus(普罗米修斯)

    1 编辑yaml格式 xff0c 进行自我监控 mkdir etc prometheus cd etc prometheus vi etc prometheus prometheus yml global scrape interval 1
  • Kubernetes(k8s)安装Dashboard(控制面板)

    参考文章 xff1a https www jianshu com p f7ebd54ed0d1 1 默认情况下不会部署 Dashboard xff0c 可以通过以下命令部署 xff1a kubectl apply f https raw g
  • 航模无刷电机常见参数

    1 xff0c KV值 xff1a 表示电机运行速度的指标 xff0c 电机转速 61 KV值 x 工作电压 2 xff0c 空载电流 xff1a 指电机不带负载 xff08 螺旋桨等 xff09 时的额定工作电流 3 xff0c 电阻 x
  • RealSense D435i深度相机介绍

    文章目录 D435i硬件结构及各个组件原理详解前言一 硬件参数信息二 视觉处理器D4三 深度模块四 红外投影仪 Infrared Projector 五 彩色图像信号处理机 ISP 六 IMU D435i硬件结构及各个组件原理详解 前言 R
  • Ubuntu20.04下安装intel Realsense SDK

    1 安装安装依赖项 sudo apt span class token operator span get install libudev span class token operator span dev pkg span class
  • MiniFly的学习经历

    MiniFly的学习经历 基于MiniFly的无人机编队系统一台遥控器同步控制多台无人机无线通讯方面遥控代码部分无人机通信代码部分 一台遥控器分布控制多台无人机无人机控制部分 使用电脑的串口上位机控制无人机遥控串口通信接收指令指令设计 基于
  • 【NOJ1044】【算法实验三】【BFS_分支限界】独轮车

    1044 独轮车 时限 xff1a 1000ms 内存限制 xff1a 10000K 总时限 xff1a 3000ms 描述 独轮车的轮子上有红 黄 蓝 白 绿 xff08 依顺时针序 xff09 5种颜色 在一个如下图所示的20 20的迷
  • 【杭电100题】2073 无限的路

    题目链接 xff1a http acm hdu edu cn showproblem php pid 61 2073 xff08 c语言的double类型printf lf 显示0 00000问题 xff09 xff1a https blo
  • 【杭电100题】2094 产生冠军

    原题 xff1a http acm hdu edu cn showproblem php pid 61 2094 最近很喜欢用map 把成功者 失败者都存起来 然后在成功者里把曾经失败的划掉 最后成功者里如果只剩一个人 xff0c 冠军产生
  • docker命令详解

    镜像下载 搜索镜像docker search 43 镜像名字 docker search centos 从Docker Hub中搜索符合条件的镜像 下载镜像 docker pull 43 镜像名字 docker pull centos 查看