自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(608)
  • 论坛 (1)
  • 收藏
  • 关注

转载 Docker的4种网络模式

我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式:· host模式,使用--net=host指定。· container模式,使用--net=container:NAME_or_ID指定。· none模式,使用--net=none指定。· bridge模式,使用--net=bridge指定,默认设置。下面分别介绍一下Docker的各个网络模式。1 host模式众所周知,Docker使用了Linux的Nam

2020-11-16 21:48:08 14

原创 docker 进入容器中apt更换阿里源

Fedora和Red Hat有yum安装软件,Ubuntu有apt工具。apt简单的来说,就是给Ubuntu安装软件的一种命令方式。(yum和apt都只是安装软件的工具)对比项 rpm yum dpkg apt 系列 RedHat系 RedHat系 Debian系 Debian系 区别 包安装工具 依赖管理工具 包安装工具 依赖管理工具 查询已安装 rpm -qa yum list installed

2020-11-16 21:31:28 26

转载 Docker使用Portainer搭建可视化界面

Portainer介绍Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。下载Portainer镜像# 查询当前有哪些Portainer镜像docker search portainer上图就是查询出来的有下载量的portainer镜像,我们下

2020-11-11 10:27:37 87

转载 docker配置从私有仓库拉取镜像

创建/etc/docker/daemon.json文件添加如下内容:**192.168.1.200为镜像仓库的地址5000为镜像仓库的默认端口insecure-registries为镜像仓库地址,可以配置多个,通过逗号分隔registry-mirrors为镜像加速器**{ "insecure-registries": ["192.168.1.200:5000"], "registry-mirrors": ["http://192.168.1.200:5000"]}sys

2020-10-30 14:49:23 141

转载 docker push到私有仓库

1、登录docker login http://xxxxx.com2、登录私有hub创建项目 例如项目叫:abc-dev2、给镜像打tag  docker tag2e25d8496557xxxxx.com/abc-dev/arc:1334  2e25d8496557:IMAGE ID,可以用docker images 查看  xxxxx.com:私有hub域名  abc-dev:项目名称  arc:镜像名称  1334:镜像版本号4、推送  docke...

2020-10-30 08:51:22 41

转载 docker容器指定ip

docker容器指定ip1,docker下的网络模式概览docker安装后,会默认三种网络类型。(bridge,none,host)查看dockers的网络类型 docker network list(1),bridge 桥接网络 默认网络类型,容器内不特殊指定,就用此类型。不特殊指定的话,分配的ip为172.17.0.x(2),none 无指定网络 容器内不指定局域网ip host(3),主机网络 和主机共用一个ip,会出现和宿主机争抢端口情况,非特殊需要尽量少用3,dock

2020-10-28 15:59:46 34

原创 idea配置docker

IDEA作为开发电脑,要远程连接到另一台Linux电脑上部署的Docker服务,我们登陆到机器上,进行docker远程访问配置:https://www.cnblogs.com/zoujiaojiao/p/11912142.htmlidea里 选择Plugins,插件已经安装了docker插件连接远程Docker服务左边加号:添加docker配置如果出现可连接失败:# vi /lib/systemd/system/docker.service...

2020-10-28 09:47:29 89

转载 虚拟机CentOS启动报错-entering emergency mode解决办法

虚拟机中CentOS非正常关机,再启动出现这样的错误界面:解决方法只需要在这里的shell键入一条命令:执行完成后即可重启,恢复正常。此命令的作用是强制清除日志,不会删除自己的文件。...

2020-10-17 18:06:02 42

原创 docker部署nginx和mysql以及后端服务

首先保证服务器已经安装了docker一、mysql1、安装docker-composeCompose 支持 Linux、macOS、Windows 10 三大平台。在 Linux 上的也安装十分简单,从 官方 GitHub Release 处直接下载编译好的二进制文件即可 .curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` >

2020-09-28 11:04:40 53

转载 通过Dockerfile来部署datax容器

首先datax运行需要python2.x和jdk1.8我这里在python2.7的镜像的基础上做拉取python2.7的镜像到本地虚拟机docker pull centos/python-27-centos7上传jdk1.8 tar包已经datax安装包到本地服务器在当前目录下编辑Dockerfile文件FROM centos/python-27-centos7#安装jdkADD jdk-8u221-linux-x64.tar.gz /opt/l...

2020-09-25 22:19:38 51

原创 一个服务打包的Dockerfile

一个服务打包的dokerfile,作为模板。FROM centos/python-36-centos7MAINTAINER shujuelinUSER rootADD ./* /home/#安装tar.gz类型的packagesRUN cd /home/html5lib-0.9999999 && python setup.py install \ && cd /home/gast-0.2.0 && python setup.py i

2020-09-17 17:50:44 43

原创 rancher使用说明

一、登录rancherrancher 内网地址https://10.1.119.12:9443/login用户名admin密码admin进入默认项目的工作负载页面二、部署服务部署服务-进入按钮部署服务-部署页面2.1 各部署项说明部署项 - 首部名称:部署服务的名称,在部署同一项目的服务时,尽量保持相同的前缀,例如多彩云项目,所有的服务名,前都冠以 dcy_类型:此项为当前服务部署几个节点,支持多节点的负载均衡,如果后续配置服

2020-09-11 09:30:58 74

原创 CentOS下安装Rancher-2.x(单节点在线安装)

参考:https://blog.csdn.net/weixin_37194108/article/details/103817097(快速部署单节点RancherServer)https://www.cnblogs.com/lfl17718347843/p/12814435.html(docker部署rancher)Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。首先安装docker(离线安装)一,docker的rpm安装包下载下载地址 :点击前往本

2020-09-10 14:22:44 83

原创 Harbor部署

什么是 HarborHarbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源 Docker Distribution。作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中

2020-09-07 09:05:46 74 1

原创 38.Docker Compose 自定义网络

概述默认情况下,Compose 会为我们的应用创建一个网络,服务的每个容器都会加入该网络中。这样,容器就可被该网络中的其他容器访问,不仅如此,该容器还能以服务名称作为 Hostname 被其他容器访问。默认情况下,应用程序的网络名称基于 Compose 的工程名称,而项目名称基于 docker-compose.yml 所在目录的名称。如需修改工程名称,可使用 --project-name 标识或 COMPOSE_PORJECT_NAME 环境变量。假如一个应用程序在名为 myapp 的目录中,并且 d

2020-09-04 14:25:04 38

原创 37.Docker Compose 部署 MySQL

Docker Compose 部署 MySQL创建一个名为 docker-compose.yml 的配置文件,配置内容如下version: '3.1'services: db: # 目前 latest 版本为 MySQL8.x image: mysql restart: always environment: MYSQL_ROOT_PASSWORD: 123456 command: --default-authentication

2020-09-04 14:24:33 25

原创 36.Docker Compose 部署 Tomcat

创建一个名为 docker-compose.yml 的配置文件,配置内容如下version: '3.1'services: tomcat: restart: always image: tomcat container_name: tomcat ports: - 8080:8080 volumes: - ./webapps:/usr/local/tomcat/webapps.dist environment: T.

2020-09-04 14:23:14 30

原创 35.Docker Compose 安装

安装Compose 支持 Linux、macOS、Windows 10 三大平台。在 Linux 上的也安装十分简单,从 官方 GitHub Release 处直接下载编译好的二进制文件即可。curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-composechmod +x /usr/local

2020-09-04 14:22:39 32

原创 34.Docker Compose 简介

Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。从功能上看,跟 OpenStack 中的 Heat 十分类似。其代码目前在 https://github.com/docker/compose 上开源。Compose 定位是 「定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications)」,其前身是开源项目 Fig。我们知道使用一个 Dockerfile 模

2020-09-04 14:22:09 30

原创 33.YAML 配置文件语言

概述YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便。YAML 语言的设计目标,就是方便人类读写。它实质上是一种通用的数据串行化格式。它的基本语法规则如下:大小写敏感使用缩进表示层级关系缩进时不允许使用 TAB 键,只允许使用空格。缩进的空格数目不重要,只要相同层级的元素左侧对齐即可# 表示注释,从这个字符一直到行尾,都会被解析器忽略。YAML 支持的数据结构有三种:对象: 键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dic

2020-09-04 14:21:43 19

原创 32.Docker 内核机制

能力机制(Capability)是 Linux 内核一个强大的特性,可以提供细粒度的权限访问控制。 Linux 内核自 2.2 版本起就支持能力机制,它将权限划分为更加细粒度的操作能力,既可以作用在进程上,也可以作用在文件上。例如,一个 Web 服务进程只需要绑定一个低于 1024 的端口的权限,并不需要 root 权限。那么它只需要被授权 net_bind_service 能力即可。此外,还有很多其他的类似能力来避免进程获取 root 权限。默认情况下,Docker 启动的容器被严格限制只允许使用内核

2020-09-04 14:20:37 18

原创 31.Docker 服务端防护

Docker 服务端防护运行一个容器或应用程序的核心是通过 Docker 服务端。Docker 服务的运行目前需要 root 权限,因此其安全性十分关键。首先,确保只有可信的用户才可以访问 Docker 服务。Docker 允许用户在主机和容器间共享文件夹,同时不需要限制容器的访问权限,这就容易让容器突破资源限制。例如,恶意用户启动容器的时候将主机的根目录 / 映射到容器的 /host 目录中,那么容器理论上就可以对主机的文件系统进行任意修改了。这听起来很疯狂?但是事实上几乎所有虚拟化系统都允许类似的资

2020-09-04 14:19:26 33

原创 30.Docker 控制组

Docker 控制组控制组是 Linux 容器机制的另外一个关键组件,负责实现资源的审计和限制。它提供了很多有用的特性;以及确保各个容器可以公平地分享主机的内存、CPU、磁盘 IO 等资源;当然,更重要的是,控制组确保了当容器内的资源使用产生压力时不会连累主机系统。尽管控制组不负责隔离容器之间相互访问、处理数据和进程,它在防止拒绝服务(DDOS)攻击方面是必不可少的。尤其是在多用户的平台(比如公有或私有的 PaaS)上,控制组十分重要。例如,当某些应用程序表现异常的时候,可以保证一致地正常运行和性能。

2020-09-04 14:18:39 32

原创 29.Docker 内核名字空间

Docker 容器和 LXC 容器很相似,所提供的安全特性也差不多。当用 docker run 启动一个容器时,在后台 Docker 为容器创建了一个独立的名字空间和控制组集合。名字空间提供了最基础也是最直接的隔离,在容器中运行的进程不会被运行在主机上的进程和其它容器发现和作用。每个容器都有自己独有的网络栈,意味着它们不能访问其他容器的 sockets 或接口。不过,如果主机系统上做了相应的设置,容器可以像跟主机交互一样的和其他容器交互。当指定公共端口或使用 links 来连接 2 个容器时,容器就可以

2020-09-04 14:18:08 33

转载 Docker常用命令

Docker容器信息1. 查看docker容器版本docker version查看docker容器信息docker info查看docker容器帮助docker --help2、镜像操作提示:对于镜像的操作可使用镜像名、镜像长ID和短ID。2.1、镜像查看##列出本地imagesdocker images##含中间映像层docker images -a只显示镜像IDdocker images -q含中间映像层docker images -qa 显示镜像摘要信

2020-09-03 10:49:49 37

原创 28.Docker 自定义网桥

除了默认的 docker0 网桥,用户也可以指定网桥来连接各个容器。在启动 Docker 服务的时候,使用 -b BRIDGE 或 --bridge=BRIDGE 来指定使用的网桥。如果服务已经运行,那需要先停止服务,并删除旧的网桥。$ sudo service docker stop$ sudo ip link set dev docker0 down$ sudo brctl delbr docker0然后创建一个网桥 bridge0。$ sudo brctl addbr bridge0

2020-09-03 09:11:03 27

原创 27.Docker 配置网桥

Docker 服务默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。Docker 默认指定了 docker0 接口 的 IP 地址和子网掩码,让主机和容器之间可以通过网桥相互通信,它还给出了 MTU(接口允许接收的最大传输单元),通常是 1500 Bytes,或宿主主机网络路由上支持的默认值。这些值都可以在服务启动的时候进行配置。--bip=CIDR – IP 地址加掩码格式,例如 192.

2020-09-03 09:08:17 32

原创 26.Docker 端口映射

默认情况下,容器可以主动访问到外部网络的连接,但是外部网络无法访问到容器。容器访问外部实现容器所有到外部网络的连接,源地址都会被 NAT 成本地系统的 IP 地址。这是使用 iptables 的源地址伪装操作实现的。查看主机的 NAT 规则。$ sudo iptables -t nat -nL...Chain POSTROUTING (policy ACCEPT)target prot opt source destinationMASQUERADE a

2020-09-03 09:07:47 29

原创 25.Docker 访问控制

容器的访问控制,主要通过 Linux 上的 iptables 防火墙来进行管理和实现。iptables 是 Linux 上默认的防火墙软件,在大部分发行版中都自带。容器访问外部网络容器要想访问外部网络,需要本地系统的转发支持。在 Linux 系统中,检查转发是否打开。$sysctl net.ipv4.ip_forwardnet.ipv4.ip_forward = 1如果为 0,说明没有开启转发,则需要手动打开。$sysctl -w net.ipv4.ip_forward=1如果在启动 Do

2020-09-03 09:07:16 27

原创 24.Docker 配置 DNS

Docker 没有为每个容器专门定制镜像,那么怎么自定义配置容器的主机名和 DNS 配置呢? 秘诀就是它利用虚拟文件来挂载到来容器的 3 个相关配置文件。在容器中使用 mount 命令可以看到挂载信息:$ mount.../dev/disk/by-uuid/1fec...ebdf on /etc/hostname type ext4 .../dev/disk/by-uuid/1fec...ebdf on /etc/hosts type ext4 ...tmpfs on /etc/resolv.c

2020-09-03 09:06:52 48

原创 23.docker网络命令

下面是一个跟 Docker 网络相关的命令列表。其中有些命令选项只有在 Docker 服务启动的时候才能配置,而且不能马上生效。-b BRIDGE or --bridge=BRIDGE – 指定容器挂载的网桥--bip=CIDR – 定制 docker0 的掩码-H SOCKET... or --host=SOCKET... --Docker 服务端接收命令的通道--icc=true|false – 是否支持容器之间进行通信--ip-forward=true|false – 请看下文容器之间的

2020-09-03 09:06:04 24

原创 22.docker外部访问

容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射。当使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口。使用 docker ps 可以看到,本地主机的 49155 被映射到了容器的 5000 端口。此时访问本机的 49155 端口即可访问容器内 web 应用提供的界面。$ sudo docker run -d -P training/webapp python app.py$ sudo dock

2020-09-03 09:05:32 42

原创 21.docker容器互连

容器的连接(linking)系统是除了端口映射外,另一种跟容器中应用交互的方式。该系统会在源和接收容器之间创建一个隧道,接收容器可以看到源容器指定的信息。自定义容器命名连接系统依据容器的名称来执行。因此,首先需要自定义一个好记的容器命名。虽然当创建容器的时候,系统默认会分配一个名字。自定义命名容器有 2 个好处:自定义的命名,比较好记,比如一个 web 应用容器我们可以给它起名叫 web当要连接其他容器时候,可以作为一个有用的参考点,比如连接 web 容器到 db 容器使用 --name

2020-09-03 09:05:03 32

原创 20.docker备份、恢复、迁移数据卷

可以利用数据卷对其中的数据进行进行备份、恢复和迁移。备份首先使用 --volumes-from 标记来创建一个加载 dbdata 容器卷的容器,并从本地主机挂载当前到容器的 /backup 目录。命令如下:$ sudo docker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata容器启动后,使用了 tar 命令来将 dbdata 卷备份为本地的 /backup/backup.

2020-09-02 09:08:51 56

原创 19.docker数据卷容器

如果你有一些持续更新的数据需要在容器之间共享,最好创建数据卷容器。数据卷容器,其实就是一个正常的容器,专门用来提供数据卷供其它容器挂载的。首先,创建一个命名的数据卷容器 dbdata:$ sudo docker run -d -v /dbdata --name dbdata training/postgres echo Data-only container for postgres然后,在其他容器中使用 --volumes-from 来挂载 dbdata 容器中的数据卷。$ sudo dock

2020-09-02 09:05:27 33

原创 18.docker创建数据卷

数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:数据卷可以在容器之间共享和重用对数据卷的修改会立马生效对数据卷的更新,不会影响镜像卷会一直存在,直到没有容器使用数据卷的使用,类似于 Linux 下对目录或文件进行 mount。数据卷的定义当程序在容器中运行时,需要与其他容器中的程序或者容器外部的程序进行文件读写操作时,就需要进行数据的交换;容器内部的文件系统,是一个临时层,当容器停止运行并被删除时,这个临时层就会被一同丢弃;为了达到从外部获取文件并

2020-09-02 09:04:07 54

原创 17.docker仓库

目前 Docker 官方维护了一个公共仓库 Docker Hub,其中已经包括了超过 15,000 的镜像。大部分需求,都可以通过在 Docker Hub 中直接下载镜像来实现。登录可以通过执行 docker login 命令来输入用户名、密码和邮箱来完成注册和登录。 注册成功后,本地用户目录的 .dockercfg 中将保存用户的认证信息。基本操作用户无需登录即可通过 docker search 命令来查找官方仓库中的镜像,并利用 docker pull 命令来将它下载到本地。例如以 cento

2020-09-02 09:02:51 25

原创 16.docker终止容器

可以使用 docker stop 来终止一个运行中的容器。此外,当 Docker 容器中指定的应用终结时,容器也自动终止。 例如对于上一章节中只启动了一个终端的容器,用户通过 exit 命令或 Ctrl+d 来退出终端时,所创建的容器立刻终止。终止状态的容器可以用 docker ps -a 命令看到。例如sudo docker ps -aCONTAINER ID IMAGE COMMAND CREATED

2020-09-02 09:00:56 35

原创 15.docker守护态运行

更多的时候,需要让 Docker 容器在后台以守护态(Daemonized)形式运行。此时,可以通过添加 -d 参数来实现。例如下面的命令会在后台运行容器。$ sudo docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"1e5535038e285177d5214659a068137486f96ee5c2e85a4ac52dc83f2ebe4147容器启动后会返回一个唯一的 id

2020-09-02 08:56:27 50

原创 14.docker启动容器

启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器。新建并启动所需要的命令主要为 docker run。例如,下面的命令输出一个 “Hello World”,之后终止容器。$ sudo docker run ubuntu:14.04 /bin/echo 'Hello world'Hello world这跟在本地直接执行 /bin/echo 'hello w

2020-09-02 08:53:17 32

空空如也

脚丫先生的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除