想玩Docker吗?那就先来了解一下基本操作吧

Docker镜像及容器基本操作命令 docker 容器、镜像基本操作 阅读详情


前言

本章整理了Docker的基本操作


镜像相关操作

基础操作

docker version                                          # 查看docker版本

docker search 关键字                                    # 查找指定镜像

docker pull 关键字                                      # 下载镜像
(AUFS联合文件系统,分层下载,下载后放在/var/lib/docker)

/var/lib/docker/image/overlay/repositories.json         # 下载文件信息

docker images                                           # 查看镜像信息

docker inspect 镜像ID                                   # 获取镜像信息

docker tag nginx:latest nginx:web                       # 修改镜像信息

docker images | grep nginx                              # 查看nginx镜像信息
nginx  latest  35c43ace9216  3 weeks ago  133MB
nginx  web     35c43ace9216  3 weeks ago  133MB

docker里的两种格式文件:json、yaml

docker rmi nginx:web                                    # 删除标签为web的nginx镜像

docker save -o nginx nginx:latest                       # 存出镜像名为nginx放在当前目录下

载入镜像

方法一:

docker load < nginx
docker load -i nginx

方法二:

docker load --input nginx

上传镜像

镜像的管理方式非常像git,可以使用docker push命令上传自己本地镜像到仓库,默认上传到DockerHub官方仓库(需要登陆)
命令格式为:

docker push NAME [:TAG]

在上传之前一般会先为自己的镜像添加带自己名字(作者信息)的标签

docker tage nginx:lastest abc/nginx:web   #用户名/仓库名:镜像名
docker login                              #登录
Username::docker                         #账户
password:xxxxxx                          #密码
Email:xxx@xxx.com                         #邮箱

镜像创建

基于已有镜像创建:

将容器里面运行的程序及运行环境打包生成新的镜像

docker commit [选项] 容器ID/名称 仓库名称:[标签]

选项:
-m:说明信息
-a:作者信息
-p:生成过程中停止容器的运行

基于本地模板创建

  • 通过导入操作系统模板文件生成新的镜像
  • 使用wget命令导入为本地镜像
wget http://download.openvz.org/template/precreated/debian-7.0-x86-minimal.tar.gz
  • 导入成功后可查看本地镜像信息
docker images | grep new

基于Dockerfile创建

  • Dockerfile是由一组指令组成的文件
  • Dockerfile结构四部分
    基础镜像信息
    维护者信息
    镜像操作指令
    容器启动时执行指令
  • Dockerfile每行支持一条命令,每条命令可携带多个参数,支持以"#"开头的注释

编写Dockerfile文件

创建一个目录进入,再创建一个jdk_dockerfile文件,vim jdk_dockerfile。

FROM centos:7
MAINTAINER  wolf
RUN yum -y update
RUN yum -y install httpd                    #基于centos:7镜像上执行命令,并提交到新镜像,安装apache软件
EXPOSE 80                                   #新镜像加载到Docker时开启80端口
ADD index.html /var/www/html/index.html     #复制网站首页文件,将源文件复制到目标文件,源文件要与Dockerfile在同一个目录或者是一个URL
ADD run.sh /run.sh                          #复制执行脚本到镜像中
RUN chmod 755 /run.sh (新镜像中赋予执行权限)
CMD ["/run.sh"]                             #启动容器时执行脚本 (指令启动容器时要运行的命令或脚本,Dockerfile只能有一条CMD命令,如果指定多条则只能最后一条被执行)

dockerfile指令说明
指令的一般格式为INSTRUNCTION arguments,指令包括FROM、MAINTAINER、RUN等。具体指令及说明如下

指令说明
FROM指定所创建镜像的基础镜像
MAINTAINER指定维护者信息
RUN运行命令
CMD指定容器启动时默认执行的命令
ADD赋值指定的路径下的内容到容器中的路径下,可以为URL;如果为tar文件,会自动解压到路径下
ENV指定环境变量
LABEL指定生成镜像的元数据标签信息
EXPOSE声明镜像内服务所监听的端口
COPY赋值本地主机的路径下的内容到容器中的路径下;一般情况下推荐使用COPY而不是ADD
ENTRYPOINT指定镜像的默认入口
VOLUME创建数据挂载点
USER指定运行容器时的用户名或UID
WORKDIR配置工作目录
ARG指定镜像内使用的参数(例如版本号信息等)
ONBUILD配置当前所创建的镜像作为其他镜像的基础镜像时,所执行的创建操作的命令
STOPSIGNAL容器退出的信号
HEALTHCHECK如何进行健康检查
SHELL指定使用SHELL时的默认SHELL类型

创建运行脚本:

vim run.sh

#!/bin/bash
rm -rf /run/httpd/*
exec /usr/sbin/apachectl -D FOREGROUND

写一个主页:
echo “this is web test” > index.html

生成镜像:
docker build -t httpd:centos . (末尾有".",且与centos之间有空格)

新镜像运行容器:
docker run -d -p 1216:80 httpd:centos
在这里做了端口映射:-p指定端口1216

测试访问:
httpd://20.0.0.31:1216

容器相关操作

docker容器三步骤

  1. 下载镜像
  2. 创建容器
  3. 启动容器

基础操作

docker create -it nginx:latest /bin/bash    #创建容器,例如创建一个nginx容器,标签是latest
-i:让容器的标准输入保持打开
-t:让Docker分配一个为终端

docker rm nginx:web                         # 删除标签为web的nginx容器

docker ps -a                                #查看容器信息
-a:列出所有的容器,包括未运行的容器

docker start 容器ID                          #启动容器
docker stop 容器ID                           #停止容器

容器的状态:

up:运行
created:已创建但未启动
exited:停止或执行完指令被释放(其中有个返回值,为0的时候表示执行完后自动结束,非0表示执行异常或在执行过程中让其stop)

启动执行命令查看系统根目录

docker pull paigeeworld/centos7                     #下载镜像
docker create -it paigeeworld/centos7 /bin/bash     #创建容器
docker start 容器ID                                  #启动容器

将上面的三步骤用一条命令完成:
docker run paigeeworld/centos7 /usr/bin/bash -c ls
一条命令将三步骤全部完成,如果没有镜像则会先下载,结束后会释放资源。执行完毕直接关闭,状态为Exited

容器持续在后台运行:

docker run -d paigeeworld/centos7 /bin/bash -c “while true;do echo hello;done”
-d:在后台运行

容器导出:

docker export 4613c886e5f9 > nginx_c docker export 
容器的ID/名称 > 文件名

容器导入(会生成镜像,但不会创建容器):

cat nginx_c | docker import -nginx:web 
cat 文件名 | docker import -生成的镜像名称:标签

批量删除容器(删除非运行状态的容器):

docker ps -a | awk ‘{print "docker rm "$1}’ | bash

进入容器

docker exec 容器的ID/名称 /bin/bash 

在容器运行状态下才可以进入

退出容器

exit 

玩客云通过openwrt作为旁路由 前置条件- 玩客云安装 docker安装 OpenWrt这边又两套方案可供选择,下面是具体教程的链接镜像一: https://www.right.com.cn/forum/thread-8024126-1-1.html镜像二: https://hub.docker.com/r/xuanaimai/onecloud此处我们以镜像一来演示打开网卡混杂模式ip link set eth0 promisc... 阅读详情

相关推荐

2.玩客云armbian5.9安装docker

2.玩客云armbian5.9安装docker

YeMu11的博客 3068

玩客云刷Armbian带docker详细教程(附所有软件)

本次的主角是玩客云,在海鲜市场搜索wky 网心云 老母鸡等关键词可以搜到,价格在30元左右,笔者买的这款是已绝育(已解绑)的玩客云。在此介绍一下玩客云玩客云是迅雷旗下网心科技面向个人用户推出的共享计算智能硬件,它本身是个私人云盘:提供畅快下载、随存随取、文件管理、远程操控、多媒体娱乐等功能,安全可靠、无限扩容。除此之外,借助玩客云,无数个人用户还可以将家中闲置带宽、计算、存储等资源分享出来,并最终被转化共享计算服务,可以大大降低互联网企业的运营成本。—摘自百度玩客云主体。

懷淰メ的博客 3万+

Docker基本操作

文章目录一、Docker概述1.1、Docker简介2.Docker与虚拟机的区别1.3、Docker的优势1.4 (image(镜像) repository(仓库) container(容器)2.部署docker2.1安装依赖包2.2镜像加速器个人阿里镜像加速器,可以在阿里镜像服务中的镜像加速器中获得地址 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors3.docker基本操作3.1查看下载好的镜像3.2更改镜像的标签3.3删除镜像

Rikkatang的博客 551

2023最新玩客云刷机armbian,部署docker并配置各种常用容器镜像

原网提供的教程需要先刷系统到U盘,再把U盘的系统转移到emmc,但是我下面提供的镜像不需要此操作,注意区分。双头USB线一根(买或者自己做,网上有教程);电脑一台;镊子或者别针(或者其他导电的东西,用来短接主板);螺丝刀,电吹风(加热背胶更好撕);U盘一个(刷机和扩展玩客云硬盘容量都用得上);下面这些链接里面的资源下载备用。#镜像地址:https://www.aliyundrive.com/s/NXjbaKC3Hyq提取码: 5i7a。

qq1172851433的博客 3万+

《广告核心指标驱动的AI投放系统:从数据洞察到智能决策的全链路优化》

本方案通过构建广告核心指标驱动的AI投放系统,实现从数据采集到智能决策的全链路自动化。

专注Java领域与微服务架构,热爱人工智能与深度学习 1069

微信小程序云开发订单微信支付与小票和标签打印的完整高效流程

本片文章全文12000字,细致讲述从申请账户到小程序注册到打印机的选型最后到实现微信小程序云开发订单支付更新与小票,标签打印完整的高效流程。客户A在我们的点餐平台上点了一杯咖啡,所以客户要在选好后付款,在付款完成后商家的小票打印机和标签打印机打印出本订单的相关信息。

weixin_52312427的博客 3650

玩客云5.9千兆固件、docker、青龙面板

玩客云5.9千兆固件玩法:docker、青龙面板

farkuai的博客 8408

React 源码解析 | Reconcile协调过程

上篇讲了React的工作流程,这篇详细的讲一下render过程中的beginWork函数,也就是深度优先创建Fiber树中"递"的过程。beginWork函数传入当前已经创建好的Fiber节点,返回创建/复用的第一个子FIber节点,也就是wip.child在renderRoot中,在开始创建整棵FIber树之前,会先调用prepareRefreshStack创建/复用一个新的HostRootFiber。

weixin_40710412的博客 1220

玩客云刷docker+home assistant详细教程

1.玩客云、电源适配器、网线、USB公对公的线、Windows电脑、螺丝刀。双公透USB线连接电脑,玩客云要插靠近homi接口的USB口。输入下面的命令(把 CONTAINER_ID 换成你自己的)然后会询问是否创建新的用户,直接按ctrl+c跳出。找到了 docker 的 container ID。进入 custom_components 目录。创建custom_components文件夹。通过玩客云http://IP:123进行登陆。如果时区及时间不对。登陆路由器后台找到玩客云的IP。

Cici的博客 6617

FC7300 SPI MCAL配置引导

Example - QMI8A01z外设:Example - QMI8A01z外设:

舊梦的博客 260

【升级U8+】不能将值 NULL 插入列 ‘VT_ID‘,表 ‘VoucherItems‘;列不允许有 Null 值。

不能将值 NULL 插入列 ‘VT_ID’,表 ‘UFDATA_006_2012.dbo.VoucherItems’;列不允许有 Null 值。INSERT 失败。

努力不懈的为广大客户提供优质的产品与真诚、贴心、专业的服务! 517

玩客云刷armbian 5.9 装docker 宝塔 青龙 openwrt

一、使用Aml Burn Tool软件烧录首选底包至固件。烧录完成后断开玩客云电源备用。(短路什么的其它教程很多我就不写了) 靠近hdmi的那个口子 二、使用USBWriter软件将emmc底包或者5.88刷机包固件写入U盘。写入成功后,先将U盘插入玩客云靠近网线接口端的USB口,再接入电源。 玩客云通电后指示灯会先亮绿灯,再亮蓝灯,红蓝闪烁,最后蓝灯常亮。等到确定蓝灯常亮后,再拔掉U盘、电源。重要步骤!!!!!!最好蓝灯常亮后,启动一次玩客云,看看ssh是否正常 三、使用USBWriter写入armb

m0_62381475的博客 1万+

北斗导航 | 从北一到北二再到北三,你应该知道的北斗导航系统

博主github:https://github.com/MichaelBeechan 博主优快云:https://blog.youkuaiyun.com/u011344545 一、引言 我国高度重视北斗系统的建设和发展。自20世纪80年代开始探索适合我们国家国情的卫星导航系统发展道路,形成了“三步走”的发展战略:2000年底,建成北斗一号导航系统,向我国广大用户提供服务;2012年底,建成北斗二号导航系统,...

尘世冰封的专栏 3082

玩客云OneCloud安装Docker教程来袭!附:改Docker镜像源教程

有很多小伙伴都已经入手玩客云很久了,但好像……不知道玩些啥比较好。在玩客云上,如果不安装Docker,能玩的东西也不少,如果安装了Docker,能玩的东西就更多了。今天就来看看如何在玩客云上安装Docker,安装Docker之后,后续的教程基本上就是围绕玩客云上的Docker进行了!配置的方法比较简单,就是单纯的复制粘贴,跟着教程一步步来就能成功!(有很多小伙伴反映看不懂我写的教程,到底是什么原因,小白也实在想不通,有看不懂的小伙伴记得反馈一下,让小白知道怎么改教程会更简单一些)

小白电脑技术的博客 2796

【C语言】一文搞懂C语言文件操作

读写文件、文件相关库函数详解、文件缓冲区介绍

StackFrame 5662

GD32F4xx 移植agile_modbus软件包与电能表通信

GD32F4XX 移植agile modbus软件包实现与DTSU电能表通信调试记录

madao1234的博客 1306

Docker入门指南:快速学习Docker的基本操作

了解docker,使用docker,熟悉原理

Javaxaiobai的博客 1561

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

2023年玩客云刷机装armbian+docker装青龙面板和openwet详细教程

2023年玩客云刷机装armbian+docker装青龙面板和openwet详细教程

qq_39997540的博客 2万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

了解docker及其基本操作

docker操作

qq_47300079的博客 635

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

SpringCloud-Docker篇快速了解Docker和Docker的基本操作

*1.**与拉取镜像时的操作一样,在DockerHub上搜索nginx镜像,找到该位置,复制粘贴命令。:镜像中的的应用程序运行后形成的进程就是容器,只是docker会给容器做隔离,对外不可见。:Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。**4.**将nginx镜像删除,后续采用加载压缩包的方式拉取镜像(**4.**使用docker ps 查看容器是否创建成功。**5.**通过load命令加载压缩包中的镜像。**6.**查看nginx产生的日志(

weixin_64133130的博客 439

如何在玩客云使用docker部署memos笔记并实现多设备同步笔记

本文主要介绍如何在CasaOS玩客云使用Docker本地部署开源云笔记服务memos,并结合cpolar内网穿透工具打造可公网访问的私有云笔记服务。对很多学生党来说,往往都有把自己偶然迸发的想法,上课记的笔记,喜欢的图片,有用的链接保存到一个地方,然后使用自己所有的设备都可以访问的需求。memos就能轻松的做到这一点,无论你在手机、平板、不同的系统的电脑上,都可以轻松访问你保存在上边的内容。支持实时修改并同步,而且所有的数据都保存在你的本地,相对来说更可控也更安全一些。

等风来 3272

docker的基本操作

简化部署过程:可以将应用及其依赖打包成一个镜像,确保在不同环境中能够一致地部署。无论目标环境是开发服务器、测试环境还是生产环境,应用都能以相同的方式运行,减少了因环境差异导致的部署问题。

m0_53291740的博客 1583

玩客云刷机 5.9

玩客云刷机5.9

小熊熊的博客 6741

Docker 101:关于Docker的所有您想了解的信息

翻译自: https://towardsdatascience.com/docker-101-all-you-wanted-to-know-about-docker-2dd0cb476f03

weixin_26752759的博客 307

耘想Docker版Linux NAS的安装说明

启动Docker时,需要映射一个本地路径(目录)给Docker,作为未来LinNAS的“数据盘”。LinNAS将会把该目录的现有内容展示给LinNAS的管理员。请注意:以上指令中你唯一可以替换的只有/mnt/sda1。如果你想把整个Linux系统的多个硬盘都交给LinNAS使用,你甚至可以把整个/mnt映射给Docker使用。用耘想存储APP扫描LinNAS的二维码就可以绑定LinNAS并对其进行后续的目录与用户访问权限的设置了。比如,你的Docker主机的局域网IP是192.168.1.105。

weixin_44489985的博客 1143

Docker的基本操作

本文将介绍CentOS 7下Docker的基本操作,关于Docker的安装请参见CentOS 7安装Docker。 Docker的基本概念 镜像(Images) 容器(Containers) 仓库(Repositories) 镜像 容器 仓库 Docker基本操作 Docker的命令使用 注意:Docker的操作需要用户获得root权限。 Docker命令的基本格式: docker [选...

llfjfz的专栏 2631
上一篇: 手把手教你如何找到属于你自己的阿里云镜像加速器
Alterego_
博客等级 码龄6年 14粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值