Docker使用基础

编程入门 行业动态 更新时间:2024-10-26 16:25:00

Docker使用<a href=https://www.elefans.com/category/jswz/34/1770030.html style=基础"/>

Docker使用基础

文章目录

    • docker 学习方法
      • 学习docker需要掌握以下内容
      • 学习docker的命令
    • 认识docker
      • 镜像
      • 容器
      • 容器和镜像的关系
    • 常用操作
      • Docker容器使用
        • 导出和导入容器
        • docker文件传输
        • 网络端口
        • 日志信息
        • 容器进程
      • Docker镜像使用
        • set up image tag
    • 配置网络
      • 网络驱动程序
      • 网桥网络

docker docs

docker 学习方法

学习docker需要掌握以下内容

  • 什么是docker?
  • 什么是docker的镜像和容器?它们有什么关系?
  • docker的基本操作
  • docker的命令

学习docker的命令

两种途径:

  1. 查看docker docs里面有详细说明 Reference-CommondLines
  2. 使用docker --help 以及 docker COMMOND --help

认识docker

Docker是一个用于开发、交付和运行应用程序的开放平台.Docker平台提供了“容器”,容器可以提供一个类似沙箱的隔离环境,主机可以运行多个容器,容器间是独立的互不干扰.

图 Docker Engine

镜像

Image类似于虚拟机的镜像,是一个包含有文件系统的面向Docker引擎的只读模版.任何应用程序运行都需要环境,Image就是用来提供这种环境的.

容器

  • 容器在Linux上本地运行,并与其他容器共享主机内核.
  • 类似于一个轻量级的沙盒,可以将其看作一个极简的Linux的系统环境.Docker engine利用containers运行、隔离各个应用.
  • 容器是镜像创建的应用实例,可以创建、启动、停止、删除容器.
  • 各个容器相互隔离
  • 镜像本身是只读的,容器从镜像启动时,Docker会在image的上层创建一个可写层,镜像不可变!!

也就是说,如果我使用docker使用linux,对其的所有操作并不会改变)
不过可以将容器保存为一个新的镜像文件

容器和镜像的关系

通过iamge来创建一个相应的containers

常用操作

Docker容器使用

docker system info  (docker info)
docker                                        查看Docker Client所有命令选项
docker command --help                         深入了解指定Docker命令
docker pull ubuntu                            获取ubuntu image ubuntu可以替换为其他image
docker run -it ubuntu /bin/bash               启动image, -it参数 i指定交互操作 t终端方式启动 ubuntu name of image
docker ps -a                                  查看所有容器(启动的容器)
docker start [id or name]                     启动已停止运行的容器
docker stop [container id]                    停止一个容器
docker reset [container id]                   重启一个容器
docker attach [container id]                  使用-d参数时,容器启动进入后台,可通过该命令进入容器,之后使用exit,则会导致容器停止,故不推荐使用
docker exec [container id]                  和attach一样,但是exit后不会导致容器停止,仍会继续运行
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 可以详细学习run命令(-p 参数可以设置端口,映射到docker主机的指定端口  -p 5000:80)
导出和导入容器
docker export [container id] > xxxx.tar   导出某个容器导本地  docker export 命令docker rm -f [container id]               删除容器
docker container prune                    清理掉所有处于终止状态的容器
docker ps                                 查看正在运行的容器 可以使用参数-a
docker文件传输
step1:
docker ps -a                                         得到容器的短ID
setp2: 
docker inspect -f ‘{{}.Id}’ [container id or name]   得到容器的完整ID(可以使用短id)
step3:
docker cp 本地文件路径 ID全称:容器路径ps:
也可以从容器向外传输文件
docker cp ID全称:容器路径 本地文件路径 
网络端口
docker port [container id or name]        查看指定container端口映射情况 
日志信息
docker logs -f [container id]             查看日志信息 
容器进程
docker top [container id]                 docker top 查看容器内部运行的进程

Docker镜像使用

运行容器时,镜像不存在则会从docker hub中下载

docker iamges                            列出本地主机上的镜像
docker pull                              下载指定镜像
docker search [name]                     搜索镜像
docker rmi [name]                        删除指定image

如果现有镜像不满足使用,可以自己创建镜像:

docker commit -m=‘描述信息’ -a=‘author’ [container id] [new name]   更新images 会创建一个新的进行 new name 为镜像名称 格式为 仓库名称:TAG

也可以通过后docker build 命令创建一个新的镜像,但需要创建一个Dockerfile文件 来告诉Docker如何构建image
docker build 可以自行查阅使用方法

set up image tag
docker tag [image id] [repository name:tag]

配置网络

网络驱动程序

名称简介适用范围
bridge默认的网络驱动程序 Bridge networks are usually used when your applications run in standalone containers that need to communicate.当多个容器在同一docker主机上运行并需要通信时
hosthost直接使用主机网络网络堆栈不应与Docker主机隔离时,但您希望容器的其他方面隔离时
overlayoverlay network将多个docker守护程序连接在一起,并使群集服务能够相互通信当您需要在不同Docker主机上运行的容器进行通信时,或者当多个应用程序使用集群服务一起工作时
macvlanMacvlan网络允许您将MAC地址分配给容器,使其在网络上显示为物理设备。Docker守护程序通过其MAC地址将流量路由到容器当需要容器看起来像网络上的物理主机时

网桥网络

可以学到如何使用和管理bridge网络
网桥网络

更多推荐

Docker使用基础

本文发布于:2024-02-12 23:08:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1689749.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:基础   Docker

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!