docker 学习笔记1-基础命令

这篇具有很好参考价值的文章主要介绍了docker 学习笔记1-基础命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

docker 学习笔记

docker官网:docker.com

dockerHub --安装docker镜像的仓库,国外的仓库访问慢,国内可以使用阿里云。

docker的基本组成

  • 镜像 image
  • 容器 container
  • 仓库 repository

docker 常用命令

1、帮助启动类命令

  • 启动docker: systemctl start docker
  • 停止docker: systemctl stop docker
  • 重启docker: systemctl restart docker
  • 查看docker状态: systemctl status docker
  • 开机启动: systemctl enable docker
  • 查看docker概要信息: docker info
  • 查看docker总体帮助文档: docker --help
  • 查看docker命令帮助文档: docker 具体命令 --help

2、镜像命令

docker images list : 列出本地主机上的镜像

docker search 名称: 查找某个镜像

docker search ubuntu --limit 2

docker pull 名称【:TAG】:下载docker镜像

docker pull ubuntu

docker system df: 查看镜像。容器、数据卷 所占用的空间

docker rmi IMAGE_ID :删除镜像

docker commit:提交容器副本使其成为一个新的镜像

docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]

3、容器命令

  • 新建+启动容器
    docker run [OPTIONS] IMAGE COMMAND
    说明:有些参数是一个减号、有些参数是两个减号

    • –name=“容器的新名字” : 为容器指定一个名称
    • -d: 后台运行容器并返回容器的ID,即启动守护式容器(后台运行)
    • -i: 以交互式运行容器,通常结合-t使用
    • -t: 为容器重新分配一个伪输入终端
    • -P: 随机端口映射,大写P
    • -p:指定端口映射,小写p
      参数 说明
      -p ip:hostPort:containerPort 端口映射 -p 10.0.0.100:8080:80
      -p hostPort:containerPort 端口映射 -p 8080:80

    docker run -it --name=my_ubuntiu ubuntu /bin/bash

  • 列出所有当前运行的容器
    docker ps [OPTIONS]
    -a: 列出当前所有正在运行的容器+历史上运行过的
    -l: 显示最近创建的容器
    -n: 显示最近n个创建的容器
    -q: 静默模式,只显示容器编号
    docker ps

  • 退出容器
    方式1
    使用命令:exit
    run 进入容器,exit退出,容器停止
    方式2
    使用快捷键: ctrl+p+q
    run进入容器,ctrl+p+q退出,容器不会停止

  • 启动已经停止的容器
    docker start 容器ID或者容器名称

  • 重启容器
    docker restart 容器ID或者容器名称

  • 停止容器
    docker stop 容器ID或者容器名称

  • 强制停止容器
    docker kill 容器ID或者容器名称

  • 删除已停止的容器
    docker rm 容器ID或者容器名称

  • 查看容器日志
    docker logs 容器ID

  • 查看容器运行的进程
    docker top

  • 查看容器内部细节
    docker inspect 容器ID

  • 进入正在运行的容器并以命令行交互
    docker exec -it 容器ID bashShell
    docker exec -it ID /bin/bash
    docker attach 容器ID
    说明:attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器停止。
    exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器停止。

  • 从容器内部拷贝文件到主机
    docker cp 容器ID:容器内路径 目的主机路径

  • 导入和导出容器
    export导出容器的内容作为一个tar归档文件
    docker export 容器ID > 文件名.tar
    import从tar包中的内容创建一个新的文件系统再生成为镜像
    cat 文件名.tar | docker import - 镜像用户/镜像名:版本号

4、docker镜像

待补充 原理

是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包成一个可交付的运行环境(代码运行时需要的库文件、环境变量和配置文件等),这个打包好的运行时环境就是image镜像文件。

只有通过镜像才能生成docker实例。

引申:

  • UnionFS(联合文件系统):是一种分层,轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交,来一层层的叠加,同时可以将不同的目录挂载到同一个虚拟文件系统下。UnionFS是docker镜像的基础。

  • 需要创建一个本地的私人仓库,供团队使用,基于公司内部项目构建镜像。
    Docker Registry是官方提供的工具,可以构建镜像仓库
    1.下载镜像 docker pull registry
    2.运行私有库Registry,相当于本地有个私有Docker hub

    docker run -d -p 500:500 -v /tda/myregistry:/tmp/registry --privileged=true registry
    
    docker ps
    

    3.案例演示创建一个新镜像:Ubuntu安装ifconfig命令
    apt-get install net-tools
    4.curl验证私服库上有什么镜像
    curl -XGET http://192.168.111.162:500/v2/_catalog

    5.将新镜像 Ubuntu:1.2修改为符合私服规范的Tag
    docker tag ubuntu:1.2 192.168.111.168/ubuntu:1.2
    6.修改配置文件使其支持http
    cat /etc/docker/daemon.json
    在文件内部增加,取消Docker默认不允许http方式推送镜像,重新启动Docker
    “insecure-registries”:[“192.168.111.168:500”]
    7.push推送到私服库
    docker push 192.168.111.168/ubuntu:1.2
    8.curl验证私服库上有哪些镜像
    9.pull到本地运行
    docker pull 192.168.111.168:500/ubuntu:1.2

5、容器数据卷

docker run -d -p 500:500 -v /zz/myhostRegistry:/tmp/registry --privileged=true registry

默认情况下,仓库被创建在容器的/var/lib/registry目录下。

建议自行创建容器映射,方便主机联调。

5.1 坑:容器记得卷加入–privileged=true

docker挂载主机目录访问如果出现cannot open directory .: Permission denied

解决版办法:在挂载目录后多加一个privileged参数即可

扩大容器的权限解决挂载目录没有权限的问题,使用该参数,container内的root拥有了真正的root权限,否则,container内的root只是外部的一个普通用户权限。

5.2 数据卷的目的

用容器数据卷的方式,完成数据的持久化,重要数据做备份。

容器内的数据备份,并持久化本地。

5.3 什么是数据卷

卷就是目录或文件,存在一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System(不属于容器),用于一些持久化存储或数据共享。

数据卷完全独立于容器的生存周期,因此docker删除容器后,数据卷仍能保持。

将docker容器内的数据保存进宿主机的磁盘中。

5.4 如何运行带有容器卷存储功能的容器实例

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名 /bin/bash

docker 会自建没有的目录

1)查看容器是否挂载成功

docker inspect 容器id

2)容器映射读写规则

默认创建时,容器内部:可读可写

但docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro 镜像名 /bin/bash

创建实现容器内部:只读不可写

ro -->read only

3)卷的继承与共享

要求:

容器1完成和宿主机的映射,容器2继承容器1的卷规则

关键点:

docker run -it --privileged=true --volumes-from 父类 --name container2(名称或ID) ubuntu

实现:文章来源地址https://www.toymoban.com/news/detail-540535.html

docker run -it --privileged=true -v /myhost/share:/tmp/share --name container1 ubuntu
docker run -it --pricileged=true --volumes-from container1 --name container2 ubuntu

到了这里,关于docker 学习笔记1-基础命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux命令基础,黑马程序员学习笔记

    command [-options] [parameter] command:命令本身 -options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节 parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等 示例: ls -l /home/itheima ls是命令本身,-l是选项, /home/itheima是参数意思是以列表的形式,显示/home

    2024年02月19日
    浏览(40)
  • 软件测试学习笔记丨docker 搭建常用服务器与平台命令

    本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/29881 映射端口 : docker run -d -p 5003:80 --name mynginx nginx (5003是宿主机,80是容器端口) 映射文件 : docker run -d -p 5003:80 -v \\\"$PWD/html\\\":/usr/share/nginx/html --name mynginx nginx -v : 文件映射 docker run --name some-mysql -v /home/gaofei/test/mysq

    2024年03月13日
    浏览(51)
  • 【Docker】Docker相关基础命令

    目录 一、Docker服务相关命令 1、启动docker服务 2、停止docker服务 3、重启docker服务 4、查看docker服务状态 5、开机自启动docker服务 二、Images镜像相关命令 1、查看镜像 2、拉取镜像 3、搜索镜像 4、删除镜像 三、Container容器相关命令 1、创建容器 2、查看容器 3、启动容器 4、删除

    2024年02月15日
    浏览(28)
  • Docker笔记 Docker架构与常用命令

    大家好 我是积极向上的湘锅锅💪💪💪 首先Docker由三大部分组成 Clients:客户端 通过docker的客户端操作命令,然后命令发送到daemon(守护进程)里面去执行操作 Hosts:主机 主机包括俩个部分,分别是 local host 和 remote host ,意思是本机和远程的机器。 而在local host这个部分里面

    2024年02月13日
    浏览(32)
  • Docker容器常用命令笔记分享

    Docker是一个开源的应用容器引擎,可以让开发者将应用程序及其依赖打包成一个可移植的容器,然后发布到任何支持Docker的机器上,实现应用程序在不同环境中的一致性运行。相比传统的虚拟化技术,Docker具有更轻量级、更快速、更高效的特点。使用Docker可以方便地创建、部

    2024年03月17日
    浏览(42)
  • Docker 常用【基础|镜像】命令

    Centos7 下载|安装|配置|卸载 Docker:https://liush.blog.csdn.net/article/details/129664121 一、基础命令 docker version # 查看docker版本信息 docker info # 查看docker及环境信息 docker help # 查看帮助文档 docker images  # 列出本地主机上的镜像 docker search [options] 某个XXX镜像名字   # 搜索镜像  一般在d

    2024年02月06日
    浏览(28)
  • docker基础命令

    启动: 守护进程重启: 重启docker服务: 关闭: 一键启动所有docker容器: 一键关闭所有docker 容器: 一键删除所有docker 容器: 一键删除所有docker 镜像:

    2024年02月09日
    浏览(16)
  • 尚硅谷Docker实战教程-笔记03【Docker常用命令】

    尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】 视频地址:尚硅谷Docker实战教程(docker教程天花板)_哔哩哔哩_bilibili 尚硅谷Docker实战教程-笔记01【理念简介、官网介绍、平台入门图解、平台架构图解】 尚硅谷Docker实战教程-笔记02【安装docker、镜像加速器配置

    2024年02月11日
    浏览(34)
  • Docker容器------镜像,容器基础命令

    目录  一,docker镜像  1,查看docker版本  2,获取镜像 2.1查看下载到本地的所有镜像   2.2 获取镜像信息 2.3 添加镜像标签(上传镜像到仓库)   2.4 镜像导出  2.5 镜像导入  2.6 ,删除镜像  2.7 上传镜像 ​编辑 二,docker 容器操作 1,查看容器 2,容器创建----docker create  

    2024年02月05日
    浏览(40)
  • Docker的基础概念及命令

    这篇主要介绍一下Docker比较重要的两个概念,镜像和容器,以及操作它们的一些常用命令。 一、基础命令 docker -v :查看 Docker 的版本 systemctl start docker :启动docker systemctl status docker :查看docker服务状态 二、镜像 镜像(Image) :Docker将应用程序及其所需的依赖、函数库、环

    2024年01月17日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包