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的常用数据类型主要有: ...
随机推荐
- Mysql的索引及优化
一:四种存储引擎: mysql使用 show engines查询其存储引擎: 功 能 MYISAM Memory InnoDB Archive 存储限制 256TB RAM 64TB None 支持 ...
- Semaphore 有什么作用 ?
Semaphore 就是一个信号量,它的作用是限制某段代码块的并发数.Semaphore 有一个构造函数,可以传入一个 int 型整数 n,表示某段代码最多只有 n 个线程可 以访问,如果超出了 n, ...
- ThreadLocal 是什么?有什么用?
ThreadLocal 是一个本地线程副本变量工具类.主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不通的 ...
- Java 中的 LinkedList 是单向链表还是双向链表?
是双向链表,你可以检查 JDK 的源码.在 Eclipse,你可以使用快捷键 Ctrl + T, 直接在编辑器中打开该类.
- 爬虫-数据解析-xpath
xpath 解析 模块安装 : pip install lxml xpath的解析原理 实例化一个etree类型的对象,且将页面源码数据加载到该对象中 需要调用该对象的xpath方法结合着不同形式的x ...
- 学习Docker(一)
一.docker介绍 docker是半虚拟化,比完全虚拟化性能高,可以使用物理机性能100% Docker 镜像(Images): 用于创建 Docker 容器的模板 Docker 容器(Contai ...
- js身份证精确认证
function checkIdCard(idcard) { // 1 "验证通过!", 0 //身份证号码校验错误 var Errors = new Array( "1 ...
- solr集群搭建,zookeeper集群管理
1. 第一步 把solrhome中的配置文件上传到zookeeper集群.使用zookeeper的客户端上传. 客户端命令位置:/root/solr-4.10.3/example/scripts/cl ...
- Rust 中的数据布局--非正常大小的类型
非正常大小的类型 大多数的时候,我们期望类型在编译时能够有一个静态已知的非零大小,但这并不总是 Rust 的常态. Dynamically Sized Types (DSTs) Rust 支持动态大小 ...
- Altium Designer 设置多层方法及各层介绍
因为PCB板子的层分类有很多,所以通过帮助大家能更好地理解PCB的结构,所以把我所知道的跟大家分享一下 1.PCB各层简介 1. Top Layer顶层布线层(顶层的走线) 2. Bottom Lay ...