docker入门基础(四)

目录

  • 六、杂项

六、杂项

Docker组件:

docker程序环境:

环境配置文件:

/etc/sysconfig/docker-network

/etc/sysconfig/docker-storage

/etc/sysconfig/docker

Unit File:

/usr/lib/systemd/system/docker.service

Docker Registry配置文件:

/etc/containers/registries.conf

docker-ce:

配置文件:/etc/docker/daemon.json

Docker镜像加速

docker cn

阿里云加速器

中国科技大学

{

"registry-mirrors": ["https://registry.docker-cn.com"]

}

注册阿里云账号,专用加速器地址获得路径:

https://cr.console.aliyun.com/#/accelerator

Client <--> Daemon <--> Registry Server

逻辑:

Containers:容器

Images:镜像、映像

Registry:Image Repositories

容器的状态:

created:

runing:

paused:

stopped:

deleted:

docker

images

pull

run

ps

查看docker相关的信息:

version

info

镜像:

images

rmi

pull

容器:

run:创建并运行一个容器;

create:创建一个容器;

start:启动一个处于停止状态容器;

创建:

create

run

启动:

start

停止:

kill

stop

重启:

restart

暂停和继续:

pause

unpause

删除容器:

rm

run --rm

创建容器:

基于“镜像文件”,

镜像文件有默认要运行的程序;

注意:

运行的容器内部必须有一个工作前台的运行的进程;

docker的容器的通常也是仅为运行一个程序;

要想在容器内运行多个程序,一般需要提供一个管控程序,例如supervised。

run, create

--name CT_NAME

--rm:容器运行终止即自行删除

--network BRIDGE:让容器加入的网络;

默认为docker0;

交互式启动一个容器:

-i:--interactive,交互式;2018/8/23 Docker.txt

file:///C:/Users/Administrator/Desktop/Docker.txt 3/14

-t:Allocate a pseudo-TTY

从终端拆除:ctrl+p, ctrl+q

attach:附加至某运行状态的容器的终端设备;

exec:让运行中的容器运行一个额外的程序;

查看:

logs:Fetch the logs of a container,容器内部程序运行时输出到终端的信息;

ps:List containers

-a, --all:列出所有容器;

--filter, -f:过滤器条件显示

name=

status={stopped|running|paused}

stats:动态方式显示容器的资源占用状态:

top:Display the running processes of a container

Docker Hub:

docker login

docker logout

docker push

docker pull

镜像制作:

基于容器制作

在容器中完成操作后制作;

基于镜像制作

编辑一个Dockerfile,而后根据此文件制作;

基于容器制作:

docker commit

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

--author, -a

--pause, -p

--message, -m

--change, -c

将镜像文件导出为tar文件:

docker save

Save one or more images to a tar archive (streamed to STDOUT by default)

docker save [OPTIONS] IMAGE [IMAGE...]

从tar文件导入镜像 :

docker load

Load an image from a tar archive or STDIN

docker load [OPTIONS]

--input, -i Read from tar archive file, instead of STDIN

--quiet, -q false Suppress the load output

Docker参考手册:

https://docs.docker.com/engine/reference/commandline/dockerd/

配置docker守护进程的属性信息的方法:/etc/docker/daemon.json

每一个可设置的键是dockerd的可用的选项,其值为选项的参数;但有些参数不可用于此文件中,例如add-registry,

insecure-registry;

有些选项的参数是数组的格式,需要放置于[];

官方手册(完整的可用参数列表):

https://docs.docker.com/engine/reference/commandline/dockerd/#run-multiple-daemons

{

"authorization-plugins": [],2018/8/23 Docker.txt

file:///C:/Users/Administrator/Desktop/Docker.txt 4/14

"data-root": "",

"dns": [],

"dns-opts": [],

"dns-search": [],

"exec-opts": [],

"exec-root": "",

"experimental": false,

"storage-driver": "",

"storage-opts": [],

"labels": [],

"live-restore": true,

"log-driver": "",

"log-opts": {},

"mtu": 0,

"pidfile": "",

"cluster-store": "",

"cluster-store-opts": {},

"cluster-advertise": "",

"max-concurrent-downloads": 3,

"max-concurrent-uploads": 5,

"default-shm-size": "64M",

"shutdown-timeout": 15,

"debug": true,

"hosts": [],

"log-level": "",

"tls": true,

"tlsverify": true,

"tlscacert": "",

"tlscert": "",

"tlskey": "",

"swarm-default-advertise-addr": "",

"api-cors-header": "",

"selinux-enabled": false,

"userns-remap": "",

"group": "",

"cgroup-parent": "",

"default-ulimits": {},

"init": false,

"init-path": "/usr/libexec/docker-init",

"ipv6": false,

"iptables": false,

"ip-forward": false,

"ip-masq": false,

"userland-proxy": false,

"userland-proxy-path": "/usr/libexec/docker-proxy",

"ip": "0.0.0.0",

"bridge": "",

"bip": "",

"fixed-cidr": "",

"fixed-cidr-v6": "",

"default-gateway": "",

"default-gateway-v6": "",

"icc": false,

"raw-logs": false,

"allow-nondistributable-artifacts": [],

"registry-mirrors": [],

"seccomp-profile": "",

"insecure-registries": [],

"disable-legacy-registry": false,

"no-new-privileges": false,

"default-runtime": "runc",

"oom-score-adjust": -500,

"runtimes": {

"runc": {

"path": "runc"

},

"custom": {

"path": "/usr/local/bin/my-runc-replacement",

"runtimeArgs": [

"--debug"]

}

}

}

dockerd守护进程的C/S,其默认仅监听Unix SOcket格式的地址,/var/run/docker.sock;如果使用TCP套接字,

/etc/docker/daemon.json:

"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]

也可向dockerd直接传递“-H|--host”选项;

自定义docker0桥的网络属性信息:/etc/docker/daemon.json文件

{

"bip": "192.168.1.5/24",

"fixed-cidr": "10.20.0.0/16",

"fixed-cidr-v6": "2001:db8::/64",

"mtu": 1500,

"default-gateway": "10.20.1.1",

"default-gateway-v6": "2001:db8??:89",

"dns": ["10.20.1.2","10.20.1.3"]

}

核心选项为bip,即bridge ip之意,用于指定docker0桥自身的IP地址;其它选项可通过此地址计算得出。

文档路径:

https://docs.docker.com/engine/userguide/networking/default_network/custom-docker0/

容器构建示例:

https://github.com/mysql/mysql-docker

容器的资源限制:

CPU:

RAM:

Device:

--device-read-bps value Limit read rate (bytes per second) from a device (default [])

--device-read-iops value Limit read rate (IO per second) from a device (default [])

--device-write-bps value Limit write rate (bytes per second) to a device (default [])

--device-write-iops value Limit write rate (IO per second) to a device (default [])

Docker private Registry的Nginx反代配置方式:

client_max_body_size 0;

location / {

proxy_pass http://registrysrvs;

proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;

proxy_redirect off;

proxy_buffering off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

auth_basic "Docker Registry Service";

auth_basic_user_file "/etc/nginx/.ngxpasswd";

}

Docker-distribution配置文件格式详细信息:

https://docs.docker.com/registry/configuration/#list-of-configuration-options

原文地址:https://www.cnblogs.com/wlbl/p/10096915.html

时间: 2024-10-08 16:30:19

docker入门基础(四)的相关文章

docker入门基础(一)

目录 一.简介 1.docker架构 2.docker的概念 二.docker的安装和管理 1.docker安装 2.docker配置阿里云镜像加速 3.基础命令 一.简介 参考 https://www.cnblogs.com/linuxk/p/8984242.html 1.docker架构 Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器. Docker 容器通过 Docker 镜像来创建. 容器与镜像的关系类似于面向对象编程中的对象与类. D

docker入门基础(五)

目录 七.Docker 最常用的监控方案 1.Docker 自带的监控子命令 2.sysdig 3.scope 4.cAdvisor 5.Prometheus 6.各种方案对比 七.Docker 最常用的监控方案 1.Docker 自带的监控子命令 1)ps docker container ps 是我们早已熟悉的命令了,方便我们查看当前运行的容器. [[email protected] ~]# docker container ps CONTAINER ID IMAGE COMMAND CRE

docker入门基础(六)

目录 八.docker 日志 1. Docker 的日志功能. 对于一个运行的容器,Docker 会将日志发送到 容器的 标准输出设备(STDOUT)和标准错误设备(STDERR),STDOUT 和 STDERR 实际上就是容器的控制台终端. 举个例子,用下面的命令运行 httpd 容器: [email protected] ~]# docker run -p 80:80 httpd AH00558: httpd: Could not reliably determine the server'

Objective-C 快速入门--基础(四)

1.什么是Block? ① 块语法,本质上是匿名函数(没有名称的函数): ② Block是OC中的一种数据类型,在iOS开发中被广泛使用: ③ ^是Block的特有标记: ④ Block的实现代码包含在{}之间: ⑤ 大多情况下,以内联inline函数的方式被定义和使用: ⑥ Block与C语言的函数指针有些相似,但使用起来更加灵活: 示例:main.m文件中: 控制台输出: 2.Block变量存储的是什么? 简单地讲Block变量储存的是:函数的实现; 3.如何定义一个Block变量?如何给B

mybatis入门基础(四)----输入映射和输出映射

阅读目录 一:输入映射 二:输出映射 回到顶部 一:输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型. 1.1.传递pojo的包装对象 1.1.1.需求描述 完成用户信息的综合查询,需要传入的查询条件可能很复杂(可能包括用户信息,其它信息,比如,商品,订单等等). 1.1.2.定义包装类型的pojo 针对上边的需求,建议使用自定义的包装类型pojo,在包装类型的pojo中将复杂的查询条件包装进去. 包装查询条件的pojo类User

Linux入门基础命令(四)

Linux入门基础命令(四)文件系统与目录结构: 1.文件和被组织成一个单根倒置树结构2.文件系统从根目录下开始,用"/表示"3.以.开头的文件为隐藏文件4.路径分割的 /5.文件有两类数据(元数据:metadata 数据:data)6.文件系统分层结构:LSB(Linux Standard Base)FHS:(Filesystem Hierarchy Standard)7.文件名最长255个字节8.包括路径在内文件名称最长4095个字节9.蓝色-->目录 绿色-->可执行

Docker入门教程(四)Docker Registry

Docker入门教程(四)Docker Registry [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它是Docker中的重要组件.本文通过情景演绎的方式对其进行了介绍,图文并茂,强烈推荐读者阅读. 在Docker系列教程的上一篇文章中,我们讨论了Dockerfile的重要性并提供了一系列Dockerfile的命令,使镜像的自动构建更加容易.在这篇文章中,我们将介绍Docker的一个重要组件:Dock

FPGA基础入门篇(四) 边沿检测电路

FPGA基础入门篇(四)--边沿检测电路 一.边沿检测 边沿检测,就是检测输入信号,或者FPGA内部逻辑信号的跳变,即上升沿或者下降沿的检测.在检测到所需要的边沿后产生一个高电平的脉冲.这在FPGA电路设计中相当的广泛. 没有复位的情况下,正常的工作流程如下: (1)D触发器经过时钟clk的触发,输出trigger信号,保存了t0时刻的信号. (2)同时由trigger通过非门输出信号,保留了当前时刻t1的触发信号 (3)经过与门输出信号pos_edge,neg_edge a) 只有t0时刻为高

Docker 零基础从入门到使用

诺!这只可爱的小鲸鱼就是docker了! 文章目录 Docker 是什么?                Docker 能干什么?                    先来个需求                    有Docker组 VS 无Dokcer组                Docker 入门                结尾语 Docker 是什么? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Lin