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的常用数据类型主要有: ...
随机推荐
- 实践丨SpringBoot整合Mybatis-Plus项目存在Mapper时报错
摘要:在SpringBoot运行测试Mybatis-Plus测试的时候报错的问题分析与修复 本文分享自华为云社区<SpringBoot整合MybatisPlus项目存在Mapper时运行报错的问 ...
- Qt自定义控件之可伸缩组合框(GroupBox)控件
摘要 本文基于QGroupBox扩展了一种可以伸缩的组合框,正常状态下,组合框处于收缩状态,内部的控件是隐藏的:需要的时候,可以将组合框进行伸展,并将内部控件显示出来. 正文 实现的代码比较简单,主要 ...
- JDBC-连接Druid数据池
•导入Druid-jar包 •下载地址 链接:https://pan.baidu.com/s/1A3tSCT9BDXkzB7zbukzyPg?pwd=0000 提取码:0000 下载后具体导入操作和这 ...
- ubuntu16 和ubuntu18安装及设置静态ip
1.准备ubuntu16镜像2.安装:https://zhuanlan.zhihu.com/p/1447048653.安装ubuntu后,sudo passwd root这个命令建立root用户的密码 ...
- Gradle 使用@Value注册编译报错
报错信息:Expected '$(student - name)' to be an inline constant of type java.lang.String in @org.springfr ...
- JVM的小总结(转)
ref:http://www.cnblogs.com/ityouknow/p/6482464.html 注1:看了大神:纯洁的微笑的JVM系列篇,发现好多地方还是似懂非懂,理解的并不透彻,jvm的调优 ...
- Could not find the main class
最近开发了一个短信报警的服务,打成程序包之后,再本地windows启动(start.bat)没有问题,但是发到生产环境,报如下错: Could not find the main class 莫名其妙 ...
- java的API
一.前端 1.jsp展示数据 (1)展示在前端控制台 console.table(参数); (2)弹窗 alert(参数); (3)JSLT的<c:if>标签 <c:if test= ...
- python-使用函数求余弦函数的近似值
本题要求实现一个函数,用下列公式求cos(x)近似值,精确到最后一项的绝对值小于eps(绝对值小于eps的项不要加): cos(x)=0!x0−2!x2+4!x4−6!x6+... 函数接口定 ...
- 彻底理解volatile关键字
1. volatile简介 在上一篇文章中我们深入理解了java关键字,我们知道在java中还有一大神器就是关键volatile,可以说是和synchronized各领风骚,其中奥妙,我们来共同探讨下 ...