Docker基础操作,原来这才是正确打开Docker的新方式!
文章目录
- 前言
- 一、Docker操作镜像
- 1、拉取镜像
- 2、查看镜像
- 3、删除镜像
- 4、保存镜像
- 5、读取镜像
- 5、镜像帮助命令
- 二、Docker容器基础操作
- 1、创建并运行容器
- 2、查看容器运行状态
- 3、查看容器启动日志
- 4、停止容器
- 5、启动容器
- 6、暂停容器
- 7、恢复容器
- 8、进入容器
- 9、删除容器
- 三、Docker容器数据卷操作
- 1.数据卷基础命令
- 1.1 创建数据卷
- 1.2 查看数据卷
- 1.3 删除数据卷
- 2.数据卷挂载
- 四、Dockerfile自定义镜像
- 1、编写Dockerfile文件
- 2、构建镜像
- 3、运行镜像
- 4、访问测试
- 总结
前言
一、Docker操作镜像
首先镜像名称一般分为两个部分:[repository]:[tag],前者是镜像名,后者是版本号。在没有指定tag的情况下,默认是latest,代表的是最新版本。
1、拉取镜像
首先怎么获得镜像呢?你可以从本地构建一个镜像,使用docker build命令,下文我们会说到如何构建自己的镜像,我们先从镜像仓库中拉取镜像,使用docker pull命令进行拉取,如下图所示:
docker pull nginx
首先我们得找到docker的镜像仓库,网址:https://hub.docker.com/ ,输入你要拉取的镜像名称,如下图所示,我们拉取一个Nginx进行安装。
检索到之后,我们选择一个我们需要的版本进行下载:
2、查看镜像
当我们拉取镜像成功之后(下载成功),怎么查看我们的镜像呢?使用docker images命令,如查看我们刚刚拉取的镜像,如下图所示:
docker images
3、删除镜像
列表中列出了我们现有的镜像,比如此时我们不需要这个镜像了,如何删除呢?使用docker rmi命令,如下图所示:
docker rmi nginx
docker rmi 镜像名称 / docker rm 镜像ID
4、保存镜像
如果我们的镜像需要分享给别人,怎么操作呢?使用docker push命令,那么首先我们得有一个镜像文件是吧!其实就类似于把文件分享出去,我们需要处理成一个压缩包的形式,使用docker save命令即可打包成一个tar文件,那么当别人收到这个镜像的时候,如何解压呢?使用docker load命令即可解压,如下图操作所示:
镜像打包:
docker save -o nginx.tar nginx:latest
在这之前,我们先删除镜像后,再做导入操作,以免重复。
5、读取镜像
镜像解压:
使用如下命令进行镜像tar包解压:
docker load -i nginx.tar
5、镜像帮助命令
这么多命令记不住怎么办?使用docker help命令帮助我们查看每个命令的使用方式,如下图操作所示:
docker help
继续使用docker 命令 --help 的命令查看具体命令的使用:
docker images --help
二、Docker容器基础操作
1、创建并运行容器
docker run --name mynginx -p 80:80 -d nginx
docker run : 创建并运行一个容器
–name:给容器起一个名字
-p:将宿主机端口与容器端口做一个映射,冒号左边是宿主机端口,右边是容器端口
-d:代表进程以后台方式运行
nginx:镜像全称,没有标签,代表最新版本
2、查看容器运行状态
docker ps -a
3、查看容器启动日志
docker logs 容器名称
如果想查看日志的实时信息,跟踪日志输出:
docker logs -f 容器名称
4、停止容器
docker stop 容器ID
当容器状态为Exited (0):表示退出,Up:表示在线
5、启动容器
docker start 容器ID
6、暂停容器
docker pause 容器ID
7、恢复容器
docker unpause 容器ID
8、进入容器
进入容器,修改Nginx的HTML欢迎页。
docker exec -it mynginx bash
exit // 退出终端
9、删除容器
docker rm 容器ID
在删除容器之前,必须先停止容器,才能执行删除命令:
三、Docker容器数据卷操作
1.数据卷基础命令
数据卷是一个虚拟目录,指向宿主机文件系统中的某个文件目录
1.1 创建数据卷
docker volume create html
1.2 查看数据卷
docker volume inspect
docker volume ls
1.3 删除数据卷
docker volume prune // 删除未使用的数据卷
docker volume rm html // 更具数据卷名称删除
2.数据卷挂载
修改Nginx启动的默认欢迎页,我们使用数据卷挂载的方式来操作:
docker run --name mynginx -p 80:80 -v html:/usr/share/nginx/html -d nginx
-v:将html这个数据卷挂载到/usr/share/nginx/html这个目录上,并且当html数据卷不存在的时候,容器会自动创建该数据卷
此时我们nginx启动成功了,我们去查看html数据卷是否创建成功了。
进入数据卷的硬盘存储地址,修改Nginx的html内容。
我们修改一下Nginx的欢迎页面内容:
修改保存成功之后,我们刷新一下web网页,发现动态刷新了,高级,爽啊!!!!!!!!!!!!。
四、Dockerfile自定义镜像
这里我们以部署一个jar文件为例子,简单说一下Dockerfile的使用方式,首先准备好一个普通SpringBoot的jar包,并且上传至Linux服务器。
1、编写Dockerfile文件
# Docker image for springboot file run
# VERSION 0.0.1
# Author: DT辰白
FROM java:8
MAINTAINER 1973984292@qq.com
LABEL description="描述jar包信息"
ADD dt.jar app.jar
ENTRYPOINT ["java","-jar","app.jar"]
命令解释:
FROM: 表示的是这个dockerfile构建镜像的基础镜像是什么,以哪个镜像作为基础进行制作,比如这里我们要运行java的一个jar包,JDK是整个Java的核心,是java运行的基础环境,所以首先必须有基础镜像java,这里 : 指代版本的意思,如果镜像名称中没有制定TAG,默认为latest。
MAINTAINER: 就是维护者信息了,通常是名字/邮箱格式。
LABEL: 用于为镜像添加元数据,就类似备注信息。
WORKDIR: 工作目录,类似于cd命令
ADD: 顾名思义,就是添加文件的功能了,将jar包添加到容器中并更名为app.jar。
RUN: 就是镜像操作命令,比如特殊的配置,安装等等,RUN命令默认使用/bin/sh,Shell执行,默认为root权限。如果命令过长需要换行,需要在行末尾加\。
ENTRYPOINT: 就是容器启动命令。
2、构建镜像
注意 . 表示 Dockerfile 文件在当前目录下
docker build -t boot-service .
3、运行镜像
docker run -d -p 8080:9093 boot-service
-d 参数是让容器后台运行
-p 是做端口映射,此时将服务器中的8080端口映射到容器中的9093(项目中端口配置的是9093)端口
4、访问测试
浏览器输入web地址,访问测试,这里小编随便使用的本地的一个小demo,SpringBoot集成freemarker的简单使用。
跟踪实时日志:
总结
最后文章到这里就结束了,最近小编的最新版Spring Cloud Alibaba微服务架构-Sentinel高可用防护组件篇马上也要发布了,希望大家尝鲜,并且小编之前打造过一个后台管理系统,正在代码重构当中,集成了Activiti工作流,大家可以期待一下,总之不负小伙伴们的支持,后面会越来越多的干货,并且会给大家整体理一下,作为一个新生代农民工,我们应该如何提高我们的技术,这里小编自己创建了一个交流群,感兴趣的同学可以加入,群号在博客主页能看到,大家一起畅聊,无论前端还是后端,运维,都欢迎,职业不限。
本篇文章结束了,后面我们再继续深入研究微服务其他的组件的使用以及原理剖析,创作不易,喜欢的请关注小编CSDN:https://blog.csdn.net/qq_41107231 以及掘金:https://juejin.cn/user/3940246036699848
Docker基础操作,原来这才是正确打开Docker的新方式!相关推荐
- Docker 之 Docker基础操作
第1章 Docker基础操作 1.1 常用的命令 0) 安装Docker 环境 yum -y install docker 1) 指定 IP,DNS 网络位启动Docker容器 a) docke ...
- 什么才是正确的javascript数组检测方式
什么才是正确的javascript数组检测方式 前面的话 对于确定某个对象是不是数组,一直是数组的一个经典问题.本文专门将该问题择出来,介绍什么才是正确的javascript数组检测方式 typeof ...
- docker基础操作
一.docker安装====== 1.1.官网 https://docs.docker.com/engine/install/ 1.2.如果有旧版本(卸载docker) sudo yum remove ...
- 【保姆级教程】Docker基础操作篇-Dokerfile(含源码)
Docker系列文章: 你好!Docker[概念+源码+保姆式教程] [保姆级教程]Docker进阶操作篇-Compose(含源码) Docker常用命令 [保姆级教程]VMware+CentOS 7 ...
- docker 基础操作
1. 安装docker 系统centos 7.2 yum -y install docker-io service docker start 安装完毕后执行 docker version 或者dock ...
- 听好程序员一句劝!零基础这样学Java才是正确的方式!
有一说一,Java还是现在很多新手入门学习的首选之一,新手学Java入门从哪里开始学?很多入门的小伙伴都会疑惑,今天好程序员给大家分享一下,超适合菜鸟入门的 Java学习路线 第一步,JavaSE,这 ...
- 用wait¬ify实现多线程才是正确打开方式
上一节讲了Synchronized关键词的原理与优化分析,而配合Synchronized使用的另外两个关键词wait¬ify是本章讲解的重点.最简单的东西,往往包含了最复杂的实现,因为需要为上层的存在 ...
- 信息报送不及时整改措施_工商年报如何报送?原来这才是正确打开方式
积累云提醒大家又到了每年的年报季.是不是还搞不懂什么是工商年报?啥时候年报呢?年报怎么报? 一.年报的时间: 每年工商年报的时间是1月1日到6月30日,商事主体要向工商部门报送上一年度的年度报告并向社 ...
- Docker之镜像、容器基础操作
目录 一.docker镜像操作 1.搜索镜像 2.获取镜像(下载镜像) 3.查看镜像 3.1 查看下载到本地的所有镜像 3.2 查看下载的镜像文件信息 3.3 查看具体镜像详细信息 4.为本地的镜像添 ...
最新文章
- 托马斯·弗里德曼:美政府应研究任正非的提议
- python博弈论代码_使用 40 多行的 Python 代码实现一个简单的演化过程
- html怎么用chrome测试,通过chrome调试器测试了解浏览器解析和渲染HTML的过程
- 高手与菜鸟,思想与技术
- 用xshell传输jdk_在JDK 9中将InputStream传输到OutputStream
- JavaScript大杂烩17 - 性能优化
- Python实现中英文分词
- 用GAN炼制长生不老药,这么玄幻的公司竟然能拿到药企投资
- MSBuild 命令参数
- 从forEach到迭代器
- 计算机切换到桌面,电脑桌面切换软件 电脑桌面快速切换
- 有意思的六度分割理论
- 【(类似DP)优化】 分梨子
- 算法导论------递归算法的时间复杂度求解
- Android如何播放h.264格式视频
- Java 面试问题总结(详细) —— MySql 模块(MySQL高级)(建议收藏)
- python调用手机麦克风_如何从麦克风的声音输入在python,并处理它的飞?
- S7-1500+TIA+MCD:西门子仿真与虚拟调试的硬件在环调试流程
- python图形界面化编程GUI(三)事件绑定(鼠标和键盘、OptionMenu、scale、颜色、文件对话框、菜单和工具栏、ttk子模块)
- 硅谷课堂第五课-腾讯云对象存储和课程分类管理
热门文章
- Java静态变量注入配置值,工具类使用@Value将信息注入到静态变量中
- OpenJudge NOI 1.7 14:大小写字母互换
- 信息学奥赛一本通 2028:【例4.14】百钱买百鸡
- 信息学奥赛一本通 2027:【例4.13】三角形
- 36 MM配置-采购-采购订单-采购订单审批-编辑特性
- 16 FI配置-财务会计-为准备激活销售会计核算的成本
- charles浏览器抓包https_charles https抓包
- 一起学习C语言:结构体(一)
- 乱七八糟的编程技巧(随机数、效率)和网站(http://bytew.net/OIer/)
- 如何快速找出找出两个数组中的_看动画学算法之:排序-快速排序