首页 > 其他分享 >Docker常用命令及参数

Docker常用命令及参数

时间:2022-09-28 14:59:59浏览次数:53  
标签:容器 -- 宿主机 网络 参数 常用命令 镜像 Docker docker

1、

https://baijiahao.baidu.com/s?id=1692361731135557712&wfr=spider&for=pc

Docker是一个被广泛使用的开源容器引擎,是一种操作系统级别的虚拟化技术,它以一种特殊进程的方式运行于宿主机上,它依赖于liunx内核特性:namespace(名字空间进行资源的隔离)和cgroups(限制、记录任务组所使用的物理资源),它也可以对应用程序进行打包。

2:docker安装

看上节

3:docker设计目标

3.1:提供一个简单的应用程序打包工具,可以将应用程序和它相关依赖的包都会打进去

3.2:开发人员和运维人员职责逻辑分离,开发人员只需要关心如何打包容器,运维人员只需要关心怎么去管理这些容器,不需要关心里面具体的配置

3.3:多环境保持一致性,不管测试环境正式环境,只需要部署docker镜像

4:docker基本组成

4.1:docker client 客户端

4.2:docker daemon docker守护进程

4.3:docker images 镜像

4.4:docker container 容器

4.5:docker registry 镜像仓库

5:容器和虚拟机的比较

6:镜像的概念

6.1:什么是镜像

它是一个分层存储的文件,是一个软件环境,一个镜像可以创建多个容器,一种标准化的交付,一个不包含liunx内核的精简的操作系统

6.2:在哪里下载镜像

https://hub.docker.com/explore是由docker公司维护的公共的注册中心,包含大量的容器镜像,docker工具默认从这个地址下载镜像

6.3:配置国内下载镜像地址

由于官方在国外,下载很慢,需要配置一个国内的下载地址

a:执行下面命令:

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

b:执行完会生成/etc/docker/daemon.json文件,里面就是地址

c:配置完成后需要重启docker才会生效,执行命令

systemctl restart docker

7:镜像与容器的关联

一个镜像可包含多个容器,容器是在镜像的最上面加了一层读写层,镜像里面的文件改动时,它不会直接改动镜像,而是将要改动的文件拷贝到读写层,如果容器删除了,最上面的读写层也就删除了,改动也就丢失了,所以无论多少个容器共享一个镜像,所做的写操作都是从镜像的文件系统中复制过来操作的,并不会修改镜像的源文件,这种方式提高了磁盘的利用率。如果想持久化这些改动,可以通过docker commit将容器保存成一个新镜像。

8:管理镜像常用命令

9:容器管理

9.1:创建容器命令的常用选项参数

9.2:创建容器时容器资源限制相关的的选项参数

示例1:

允许容器最多使用500M内存和100M的Swap,并禁用OOM Killer:

docker run -d --name nginx003 --memory ==”500M” --memory-swap=”600M” --oom-kill-disable nginx

示例2:

允许容器最多使用一半的CPU

docker run -d --name nginx003 --cpus=”1.5” nginx

示例3:

允许容器最多使用50%的CPU

docker run -d --name nginx003 --cpus=”0.5” nginx

9.3:容器管理常用命令

10:宿主机上的数据目录挂载到容器中

就是容器中使用宿主机上的目录,即使容器删除了,宿主机上的目录也不会被删除,docker提供了三种方式

方式1:volumes

保存数据的最佳方式,docker管理宿主文件系统的一部分,在/var/lib/docker/volumes中

方式2:bind mounts

将宿主机上的任意位置的文件或者目录挂载到容器中

方式3:tmpfs

挂载存储在主机系统的内存中,而不会写入主机文件系统,如果不希望将数据持久存储在任何位置,可以使用此方式,同时避免写入容器可写层提高性能。

11:docker中的几种网络模式

11.1:bridge

-net=bridge

默认网络,docker启动后创建一个docker0的网桥,默认创建的容器也是添加到这个网桥中。

11.2:host

-net=host

容器不会获得一个独立的network namespace,而是与宿主机共用一个,这就意味着容器不会有自已的网卡信息,而是使用宿主机的,容器除了网络,其它都是隔离的。

11.3:none

-net=none

获取独立的network namespace,但不为容器进行任何网络配置,需要我们手动配置

11.4:container

-net=container:name/Id

与指定的容器使用用一个network namespace,具有同样的网络配置信息,两个容器除了网络,其它还是隔离的。

11.5:自定义网络

与默认的bridge原理一样,但自定义网络具备内部DNS发现,可以通过容器名或者主机名容器之间网络通信。

12:dockerfile使用

dockerfile就是一个文件,里面包含了很多的指令,可以通过指令构建出我们想要的镜像来。

12.1:dockerfile格式

12.2:Build镜像

docker build [OPTIONS] PATH | URL | [flags]

OPTION主要二个

-t,--tag list #镜像名称

-f,--file string #指定dockerfile文件位置

13:镜像仓库HarBor简介

harbor是vmware公司开源的容器镜像仓库,他提供了用户图形界面,角色权限管理等,在我们镜像相当多的时候,可以放到一个中心进行管理,可以理解为我们maven的本地私服

可参考官方文档:https://vmware.github.io

14:容器监控相关

Prometheus

kubernetes

标签:容器,--,宿主机,网络,参数,常用命令,镜像,Docker,docker
From: https://www.cnblogs.com/yaok430/p/16738002.html

相关文章

  • docker 安装 redis
    1、启动镜像dockerrun--restart=always--log-optmax-size=100m--log-optmax-file=2-p6379:6379--namemyredis-v/opt/myredis/redis.conf:/etc/redis/redis.co......
  • 什么是docker swarm configs?及其在service中的使用?
    今天,来说一个在service中非常高级的知识点,configs. 然后,通过一些示例,来一步一步的演示,如何在service中使用,有什么关键的注意事项。什么是configs? configs的准确说......
  • docker 安装
    #!/bin/bash#删除已安装的Dockersudoyum-yremovedocker\docker-client\docker-client-latest\doc......
  • docker部署、运行tomcat问题
    1.dockertomcat拉取进入dockerHub选取自己需要的tomcat版本。docker拉取命令dockerpulltomcat:tagtag为选择的版本号2.tomcat启动dockerrun-d--nametomcat01......
  • docker出现Error response from daemon: driver failed programming external connect
    1.出现了如下问题点击查看代码docker:Errorresponsefromdaemon:driverfailedprogrammingexternalconnectivityonendpointtomcat01(00028237b8dd7b21dbce7......
  • vsphere HA配置参数
    报错信息:解决办法:HA该主机的vSphereHA检测信号数据存储数目为1,少于要求数目:2das.heartbeatdsperhost1HA此主机当前没有管理网络冗余das.ignoreRedundantNetWarnin......
  • Python万能参数(*args, **kwargs)
    博主讲的非常详细:https://blog.csdn.net/m0_57787326/article/details/122906958Python内置一颗这样的语法糖,它允许函数声明时以(*args,**kwargs)声明它的参数,而(*args,......
  • java -jar 运行参数
    nohupjava-jar-Dserver.port=9091-Dfile.encoding=utf-8-Xms1024m-Xmx1024m -Xmn380m-Xss256k-XX:SurvivorRatio=6 -XX:MaxPermSize=256m-XX:ParallelGCThrea......
  • docker集成分词器时报Caused by: java.nio.file.FileSystemException: /usr/share/ela
    官网https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.8.6下载好的zip包cp到/usr/share/elasticsearch/plugins/下后解压它会带有一个config包,或者......
  • study the docker network of macvlan
    Introduce:在Macvlan出现之前,我们只能为一块以太网卡添加多个IP地址,却不能添加多个MAC地址,因为MAC地址正是通过其全球唯一性来标识一块以太网卡的,即便你使用了创......