首页 > 其他分享 >Docker 基础操作

Docker 基础操作

时间:2022-11-28 16:02:16浏览次数:36  
标签:容器 name accentos 基础 id 镜像 操作 Docker docker

Docker 基础操作

目录

1 docker 操作镜像

1.1 docker 基础操作镜像

# 查找镜像
docker search [keywords]

# 查看镜像
docker images

# 显示镜像 ID
docker images -q

# 列出指定镜像
docker images 

# 删除镜像
docker rmi [img-name|id]

# 删除全部镜像
docker rmi `docker images -q`

1.2 从容器创建一个新的镜像

docker commit -m "accentos" -a "ac" 32f4b11be651 accentos:v1
  • -a 提交的镜像作者;
  • -c 使用Dockerfile指令来创建镜像;
  • -m 提交时的说明文字;
  • -p 在commit时,将容器暂停。

1.3 导出/入镜像

# 导出
docker save -o accentos.tar.gz accentos
docker save accentos > accentos.tar.gz

# 导入
docker load -i accentos.tar.gz
docker load < accentos.tar.gz 

1.4 推送App镜像

# 登录
docker login -u YOUR-USER-NAME
# 使用 docker tag命令给 accentos 镜像打tag,记得前缀换成你自己的Docker ID。
docker tag accentos fcarey/accentos
# 上传,如果不想配置镜像的tagname,默认为: latest
docker push fcarey/accentos

1.5 本地仓库

docker run -p 5000:5000 -d -v /opt/data/registry:/var/lib/registry registry
docker tag accentos:v1.0 127.0.0.1:5000/accentos
docker push 127.0.0.1:5000/accentos

## 检查
curl 127.0.0.1:5000/v2/_catalog
{"repositories":["accentos"]}

2 docker 操作容器

2.1 启动容器

# 先查找本地是否存在镜像,不存在则下载镜像后再启动
docker run -d -p 80:80 docker/getting-started

# 也可以执行以下命令
docker run -dp 80:80 docker/getting-started

# 启动并进入容器
docker run -ti centos /bin/bash
  • -d - 后台运行容器
  • -p 80:80 - 映射主机80端口
  • -P - 将容器的端口暴露在宿主机的随机端口上
  • docker/getting-started - 要使用的镜像
  • --name - 指定名字
  • -t - 创建一个虚拟终端
  • -i - 将容器的标准输入保持打开
  • 退出 - exitCtrl + D

2.2 查看容器

docker ps
# 默认查询是运行中的容器
  • -a 查看所有的
  • -q 只查看容器的id

2.3 容器执行命令

docker run centos /bin/echo "Hello World"

# 进入容器
docker exec -ti [container-name|id] /bin/bash

3 删除窗口

docker rm
  • 默认只能删除未运行的容器
  • -f - 强制删除

4 docker 状态查询

# 查看端口映射关系
docker port [container-name|id]

# 启动docker容器
docker start [container-name|id]

# 获取容器的运行状态
docker stats [container-name|id]

# 查看日志
docker logs [container-name|id]
# -f 实时输出

# 关闭docker容器
docker stop [container-name|id]

# 移除所有停止状态的容器
docker container prune

5 dockerFile

FROM accentos # 指定基础镜像
COPY epel.repo /etc/yum.repos.d/ # 复制文件
RUN yum install -y nginx # 运行命令
RUN mdkir /data/html
RUN echo 'acnginx' > /data/html/index.html
COPY nginx.conf /etc/nginx/nginx.conf #只复制
ADD # 复制并解压压缩包
ENV env1=envalue01  # 设置环境变量
ENV env2=envalue02
WORKDIR /data/html # 设置工作目录,exec进入之后直接进入的目录
EXPOSE 80 # 设置端口
VOLUME # 指定容器的目录
CMD /bin/bash -c systemctl start nginx # 运行命令

# RUN和CMD的区别
RUN可以有多个,CMD只能有一个,如果有多个到话,按最后一个算

标签:容器,name,accentos,基础,id,镜像,操作,Docker,docker
From: https://www.cnblogs.com/f-carey/p/16932422.html

相关文章

  • day43MySQL基础(5)
    多表查询的两种方式方式1:连表操作innerjoin内连接 select*fromempinnerjoindeponemp.dep_id=dep.id;只连接两张表中公有的数据部分leftjoin......
  • Docker容器内部端口映射到外部宿主机端口的方法总结
    好记性不如烂笔头,将docker容器端口映射到宿主机的方法做一个总结,方便后边忘记了能快速的查询。 首先需要注意:宿主机的一个端口只能映射到容器内部的某一个端口上,比如:80......
  • 【JS】121-重温基础:流程控制和错误处理
    本文是 重温基础 系列文章的第二篇,需要让自己静下心来,学习,养成好习惯。本章节复习的是JS中的控制流语句,让我们能实现更多的交互功能。注意一点:在ES6之前,JS是没有块作用域......
  • 【JS】120-重温基础:语法和数据类型
    最近开始把精力放在重新复习JavaScript的基础知识上面,不再太追求各种花枝招展的前端框架,框架再多,适合实际项目才是最重要。上星期在掘金发布了几篇文章,其中最大块算是 【复......
  • 【JS】126-重温基础:时间对象
    本文是 重温基础 系列文章的第七篇。今日感受:做好自律。本章节复习的是JS中的时间对象,一些处理的方法。前置知识:JavaScript中的时间是以1970年1月1日00:00:00以来的毫秒......
  • 【JS】123-重温基础:函数
    本文是 重温基础 系列文章的第四篇。今日感受:常怀感恩之心,对人对己。本章节复习的是JS中的基础组件之一,函数,用来复用特定执行逻辑。1.定义函数定义函数有两种方法:函数声......
  • .Net Excel操作之NPOI(一)简介
    一、NPOI简介 NPOI是一个开源项目,可以读/写xls,doc,ppt文件,有着广泛的应用。 使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Office97-2003的文件,支持的文件......
  • .Net Excel操作之NPOI(二)常用操作封装
    一、Excel数据导出常用操作1.指定表头和描述2.指定数据库中读出的数据集合二、ExcelExport封装///<summary>///Excel常用的表格导出逻辑封装///单表写入///</s......
  • 吴军《浪潮之巅(下)》阅读笔记---信息时代的科学基础
    吴军《浪潮之巅(下)》阅读笔记---信息时代的科学基础工业革命和颠覆式创新的范式:现有产业+新技术=新产业。从工业革命之前一个世纪开始一直到二战之前,科学基础......
  • 高效率编写Dockerfile
    前言在日常的开发和运维中,我们时长会使用Dockerfile脚本制作镜像。其实编写一个Dockerfile文件用到的标签并不会太多,但是不同的Dockerfile在制作后产生的镜像大小是不尽相......