0基础学习docker
进入docker容器命令
docker exec -it 容器id bash
获取镜像
# 1.获取镜像,镜像托管仓库
docker search centos # 查询centos镜像
docker images # 查看本地的镜像
docker pull centos # 下载镜像 默认是centos:latest
docker pull centos:7.8.2003 # 后面也可以跟版本
docker info | grep Root # 查看docker文件保存路径
ls /var/lib/docker/image/overlay2/imagedb/content/sha256/ #保存着docker镜像的文件
# 该文件的作用是
记录 镜像 和容器的配置关系
# 使用不同的镜像 生成容器
# -it 开启一个交互式的终端 --rm 容器退出时删除该容器
docker run -it --rm centos bash
查看镜像
docker images # 查看镜像
# 只列出id参数
-q
# 格式显示镜像
# 这是docker的模版语言
docker images --format "{{.ID}}--{{.Repository}}"
删除镜像
# 根据镜像的id,名字,摘要等
docker rmi hello-world
# 删除容器
docker rm 容器id
管理镜像
docker images -aq # 查看镜像的id
docker rmi `docker images -aq` # 批量删除镜像
# 导出镜像
docker images save centos:7.8.2003 > /opt/centos7.8.2003.tgz
# 导入镜像
docker image load -i /opt/centos7.8.2003.tgz
Docker 容器管理
docker run
等于创建+启动
docker run 镜像名,如果镜像不存在,则会在线去下载该镜像
注意:容器内的进程必须处于前台运行,否则容器就会直接退出,如果容器内什么事也没做,容器也会挂掉
-d 后台运行
--rm 容器挂掉后自动被删除
--name 给容器起名字
docker run centos
这个写法,会产生多条独立的容器记录,容器内没有程序在跑,因此挂掉了
# 运行容器,且进入容器内,且在容器内执行某条命令
docker run -it centos bash
# 让容器后台运行,会返回一个容器id
docker run -d centos ping baidu.com
# 查看容器日志
docker logs -f
docker logs 容器id | tail -5
# 查看容器的详细信息
docker container inspect 容器id
# 容器的端口映射
docker run -d --name my_nginx -p 80:80 nginx
# 查看容器的端口映射
docker port 容器id
# 容器的随机端口映射
docker run -d --name my_nginx_random -P nginx
# 容器的提交
docker commit 容器id 新的镜像名
Docker file
FROM 指定基础镜像
MAINTAINER 指定维护者信息,可以没有
RUN 在命令前面加上RUN指令即可
ADD 添加一个宿主机的文件到容器内,有自动解压的功能
COPY 作用和ADD是一样的,COPY就仅仅是拷贝
WORKDIR 设置当前工作目录
VOLUME 设置卷,挂载主机目录
EXPOSE 在容器内暴露一个端口
CMD 指定容器启动时做什么事
dockerfile实践
# 1.创建Dockerfile,注意文件名,必须是这个
FROM nginx
RUN echo '<meth charset=utf8>超哥带你用docker运行nginx服务' > /user/share/nginx/html/index.html
# 2.构建Dockerfile
docker build .
# 3.修改镜像名字
docker tag 镜像id 名字
# 4.运行该镜像
docker run -d -p 80:80 my_nginx
dockerfile指令的用法
# COPY
COPY chaoge.py /home/
# 支持多个文件,以及通配符形式复制
COPY chaoge* /tmp/cc?.txt /home/
# ADD
ADD chaoge.tgz /home/
0基础学习docker的更多相关文章
- 0基础学习web技术
说实话0基础学习前端挺难的,当然也没有是技术是容易学习的 我只是想分享一下我的学习经历: 分为以下几点: 1:学习html和css ,学习完成之后可以模仿各大网站的静态网页 2:学习原生js基础,jq ...
- Swift3.0 基础学习梳理笔记(一)
本篇是我在学完一遍基础语法知识的时候,第一遍复习,我一遍梳理一遍记录的笔记.同时分享给像我一样在学习swift 的猿友们. 本篇可能过于冗长.所以所有的参考资料都分模块的写在palyground 里, ...
- Linux基础学习-Docker学习笔记
Docker安装 1 官方网站访问速度很慢,帮助文档 2 国内中文网站,帮助文档 [root@qdlinux ~]# yum remove docker \ docker-client \ docke ...
- 0基础入门 docker 部署 各种 Prometheus 案例 - 程序员学点xx 总集篇
目录 大家好, 学点xx 系列也推出一段时间了.虽然 yann 能力有限,但还是收到了很多鼓励与赞赏.对这个系列 yann 还是很喜欢的,特别是 Prometheus 篇,在期间经历公众号 100 篇 ...
- Vue1.0基础学习笔记整理
最近一直在使用Vue.js开发项目,现将在学习过程中遇到的一些学习小细节总结如下: 1.只处理单次插值,今后的数据变化就不会再引起插值更新了 <span>This will never c ...
- 如何0基础学习C/C++?
谈及C/C++,功能强大.应用广泛,一旦掌握了后,若是再自学其他语言就显得轻而易举了.那为什么学C/C++的人少呢?很多人认为C/C++虽然博大精深,但也难学.其实就本人认为C/C++并非是“diff ...
- 0基础学习ios开发笔记第一天
Ios操作 界面操作 快捷键 command + c 复制 command+v 粘贴 command +a 全选 command +s 保存 command +z 撤销 command +x 剪切 ...
- 0基础学习ios开发笔记第二天
C语言的基本结构 c语言的入口函数是main函数. main函数的返回值行业标准是int return 数字:返回值 每条语句最后以分号结尾 注释:行注释.块注释 int main(void) { / ...
- 0基础学习MySQL 之常用数据类型
原文地址 =========================================== 数据类型是定义列中可以存储什么数据以及该数据实际怎么存储的基本规则. Mysql的常用数据类型主要有: ...
随机推荐
- HTTP发展史,HTTP1.1与HTTP2.0的区别
前言 我们知道HTTP是浏览器中最重要且使用最多的协议,它不仅是浏览器与服务端的通信语言,更是互联网的基石.随着浏览器的不断更新迭代,HTTP为了适应技术的更新也在不断进化,学习HTTP的最佳途径就是 ...
- 网络编程-Python的socket库
一.网络连接经常用到的函数 sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM,0)参数一:地址簇 socket.AF_INET IPv4(默认) ...
- 麒麟系统开发笔记(二):国产麒麟系统搭建Qt开发环境安装Qt5.12
前言 开发国产应用,使用到银河麒麟V4,V10,本篇以V10记录,参照上一篇可安装V4.V7.V10三个版本,麒麟V4系自带了Qt,麒麟V10没有自带Qt,需要自己编译搭建环境. 银河麒麟V1 ...
- List和 Map区别?
一个是存储单列数据的集合,另一个是存储键和值这样的双列数据的集合,List中存储的数据是有顺序,并且允许重复:Map中存储的数据是没有顺序的,其键是不能重复的,它的值是可以有重复的.
- 什么是 Spring MVC 框架的控制器?
控制器提供一个访问应用程序的行为,此行为通常通过服务接口实现.控制器解 析用户输入并将其转换为一个由视图呈现给用户的模型.Spring 用一个非常抽象 的方式实现了一个控制层,允许用户创建多种用途的控 ...
- 学习Squid(二)
第6章 squid代理模式案例 6.1 squid传统正向代理生产使用案例 6.1.1 squid传统正向代理两种方案 (1)普通代理服务器 作为代理服务器,这是SQUID的最基本功能:通过在squi ...
- springboot项目如何添加热部署
环境jdk1.8.maven3.6.使用工具为idea 1.在pom.xml文件中添加依赖 <dependency> <groupId>org.springframework. ...
- Linux文件管理 | Liunx 常用命令
文件与目录基本操作 目录: 一.显示文件内容 cat 命令 more 命令 less 命令 head 命令 tail 命令 二.文件内容查询(grep) 三.文件查找命令 find 命令 locate ...
- C++ | 简单工厂模式 | 复数计算器
简单工厂模式最直观的一个应用便是实现一个计算器的程序. 比如,公司让你给计算器添加一个幂运算的功能,你只需要设计一个幂运算的类,并实现幂运算的逻辑,然后让该类继承自运算类即可. 简单工厂模式: 简单工 ...
- 分享一个自己写的基于canvas的原生js图片爆炸插件
DEMO访问地址: https://bupt-hjm.github.io/BoomGo/博客地址: http://bupt-hjm.github.io/2016/07/10/boom/插件及使用方法地 ...