docker
云原生解决方案
专注于云原生和企业devops体系的结合与落地
展开
-
Dockerfile服务启动命令
nginx: nginx -g "daemon off;"httpd: httpd -DFOREGROUNDTomcat: catalina.sh run#############################FROM javaENV PATH=$PATH:/opt/tomcat/bin/COPY tomcat /opt/tomcatCMD ["catalina.sh","run"]#############################Redis: redis-原创 2021-06-15 19:48:10 · 861 阅读 · 0 评论 -
Docker构建Jetty
Jetty是一个优秀的开源servlet容器,以其高效、小巧、可嵌入式等优点深得人心,它基于Java的Web内容(如JSP和Servlet)提供运行环境。Jetty基于Java语言编写,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供Web服务。与相对老牌的Tomcat比,Jetty架构更合理,性能更优。尤其在启动速度上,让Tomcat望尘莫及。Jetty目前在国内外互联网企业中应用更优。1.使用官方镜像原创 2020-09-16 10:08:51 · 737 阅读 · 0 评论 -
docker-registry登录认证
server(ubuntu 20.04)centos7.7(client)10.0.0.5510.0.0.45myrepo.comdocker 版本(server)镜像版本(server)19.03.13registry:2.6.21.环境部署#新建目录root@ylm-ubuntu:~# mkdir -p /opt/docker/certsroot@ylm-ubuntu:~# cd /opt/docker/root@ylm-ubunt...原创 2021-06-15 10:28:43 · 863 阅读 · 0 评论 -
docker入门
文章目录1.主机虚拟化2.容器级虚拟化1.Linux Namespaces 用户隔离机制2.Control Groups(cgroups) 统一调度资源3.小结4.LXC (Linux Container)5.docker简介6.Docker基础用法docker tagdocker安装容器创建docker version 版本docker info 查看详细信息docker search --filter=stars=50 nginxalpine版本:--no-trync显示完整的信息容器操作示例:创建bu原创 2021-06-15 10:27:23 · 1090 阅读 · 0 评论 -
docker无法启动:Unit docker.service has failed
Mar 03 00:47:13 lmtest-u18 systemd[1]: docker.service: Start requestMar 03 00:47:13 lmtest-u18 systemd[1]: Failed to start Docker Applica-- Subject: Unit docker.service has failed-- Defined-By: systemd-- Support: http://lists.freedesktop.org/mailman/li原创 2021-03-03 08:49:49 · 6885 阅读 · 1 评论 -
使用docker运行nginx并实现反向代理
前言:我们知道,为了安全考虑,我们一般会设置反向代理,用来屏蔽应用程序真实的IP和端口号。在Linux系统上最常用的反向代理就是Nginx。本篇文章中,我们会通过Docker容器分别运行一个Nginx-proxy容器和一个Nginx-web应用程序的容器,然后设置反向代理1、获取Nginx镜像要运行容器,首先需要有相应的镜像,使用下面的命令拉取NGINX镜像:docker pull nginx:1.182、运行Nginx容器-web2.1 创建conf目录[root@k8s-m01 web]原创 2021-01-22 06:33:22 · 786 阅读 · 0 评论 -
docker里面安装curl
tee /etc/apt/sources.list <<EOFdeb http://mirrors.163.com/debian/ jessie main non-free contribdeb http://mirrors.163.com/debian/ jessie-updates main non-free contribEOFroot@limingtest-1:~/html# docker run --rm -e E_OPTS=abcdefg ylm/nginx:v1.12.2原创 2021-01-15 17:16:34 · 2895 阅读 · 0 评论 -
docker socket设置
docker socket设置参考在 docker 的官方文档中, 介绍了三种访问 docker Remote API 的方式, 分别是 unix 套接字文件/ tcp 监听端口和 fd 文件描述符. 由于 docker 默认会为我们开启本地 socket 套接字(/var/run/docker.sock) 所以本篇文章主要介绍如何让 docker 监听 tcp端口在 docker 配置文件中设置docker 1.12 版本之后, 建议在 docker 的 js 配置文件中配置, 路径为 /etc/原创 2020-10-25 17:12:48 · 5741 阅读 · 0 评论 -
解决容器无法使用ping命令
1.因为不是root用户拒绝了我bash-5.0$ ping 172.18.0.4PING 172.18.0.4 (172.18.0.4): 56 data bytesping: permission denied (are you root?) #无法直接切换到rootbash-5.0$ su rootsu: must be suid to work properly 2.排查ping 命令的位置bash-5.0$ which ping/bin/ping#进入bin目录查原创 2020-09-24 21:20:52 · 3451 阅读 · 0 评论 -
registry登录认证
server(ubuntu 20.04)centos7.7(client)10.0.0.5510.0.0.45myrepo.comdocker 版本(server)镜像版本(server)19.03.13registry:2.6.21.环境部署#新建目录root@ylm-ubuntu:~# mkdir -p /opt/docker/certsroot@ylm-ubuntu:~# cd /opt/docker/root@ylm-ubunt...原创 2020-09-24 12:02:07 · 1189 阅读 · 0 评论 -
Error response from daemon: OCI runtime create failed: container_linux.go:349
[root@c7-45 docker]# docker run --entrypoint htpasswd registry:2 -Bbn testuser testpassworddocker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"htpasswd\": executable file not fo原创 2020-09-23 01:41:05 · 3081 阅读 · 0 评论 -
配置registry的TLS证书
镜像仓库(server)客户端(client)10.0.0.4510.0.0.55centos7.7ubuntu20.041.制作证书(server)[root@c7-45]# cd /opt/docker/[root@c7-45 docker]# mkdir -p certs[root@c7-45 docker]# [root@c7-45 docker]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout c...原创 2020-09-23 00:49:54 · 585 阅读 · 0 评论 -
Docker手动配置容器网络
–net=none: 让Docker将新容器放到隔离的网络栈中,但是不进行网络配置。之后用户可以自行配置手动配置网络首先,启动一个ubuntu容器指定–net=none参数:$ docker run -i -t --rm --net=none sshd:latest /bin/bashroot@2f63edb0144a:/# 在本地查找容器的进程id,并为它创建网络命名空间:$ docker inspect -f '{{.State.Pid}}' 2f63edb0144a 44393.原创 2020-09-21 02:48:49 · 230 阅读 · 0 评论 -
Docker 构建MongoDB
MongoDB是一款可扩展性、高性能的开源文档数据库(Document-Oriented),是当今最流行的NoSQL数据库之一。它采用C++开发,支持复杂的数据类型和强大的查询语言,提供了关系型数据库的绝大部分功能。由于其高性能、易部署、易使用等特点,MongoDB已经在很多领域都得到了广泛的应用。 MongoDB(源自“humogous”)是一个面向文档的跨平台数据库,避开了传统关系数据库结构,转而使用动态类似于JSON的BSON格式,使其能轻松地将多个数据写在同一类型中。MongoDB以原创 2020-09-19 17:20:01 · 574 阅读 · 0 评论 -
Docker安装Oracle Database XE数据库
Oracle Database 11g快捷版(Oracle Database XE)是一款基于Oracle Database 11g第2版代码库的小型入门级数据库,具备以下优点:免费开发、部署和分发体积较小,下载速度快管理配置简单。作为一款优秀的入门级数据库,它适用于以下用户使用:致力于PHP、Java、.NET、XML和开源应用程序的开发人员;需要免费的入门级数据库进行培训和部署的DBA;需要入门级数据库进行分发的独立软件供应商(ISV)和硬件供应商;需要在课程中使用免原创 2020-09-18 16:09:33 · 282 阅读 · 0 评论 -
Docker部署nextcloud
1.安装mysql$ docker run -d --name mysql \> -v d_mysql:/var/lib/mysql \> -e MYSQL_ROOT_PASSWORD=password \> -e MYSQL_DATABASE=nextcloud \> -e MYSQL_USER=nextcloud \> -e MYSQL_PASSWORD=password \> -p 3306:3306 \> mysql:8.0说一下这几个选原创 2020-09-17 20:21:18 · 1922 阅读 · 1 评论 -
解决删除镜像时出现 image is referenced in multiple repositories
1.查看镜像$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEregistry.cn-hangzhou.aliyuncs.com/tomcat7.0.15 jdk8u60 48dbad55f28c 50 minutes原创 2020-09-15 23:10:08 · 228 阅读 · 0 评论 -
Dockerfile构建Tomcat Web服务器
Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持。同时,它提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,也可以当作单独的Web服务器使用。文件版本tomcat7.0.105jdk8u601.准备工作创建to原创 2020-09-15 22:46:44 · 449 阅读 · 0 评论 -
Dockerfile部署Nginx Web服务器
1.简介Nginx(发音“engine -x”)是一款功能强大的开源反向代理服务器,支持HTTP、HTTPS、SMTP、POP3、IMAP等协议。它可以作为负载均衡器、HTTP缓存或Web服务器。Nginx一开始就专注于高并发和高性能的应用场景。它使用类BSD开源协议,支持Linux、BSD、Mac、Solaris、AIX等Unix系统,同时也有Windows上的移植版本。2.特性热部署:采用master管理进程与worker工作进程的分离设计,支持热部署。在不间断服务的前提下,可以直接升级版本。也原创 2020-09-12 21:01:10 · 968 阅读 · 0 评论 -
Docker构建Fedora操作系统
Fedora是由Fedora Project社区开发,Red Hat公司赞助的Linux发行版。它的目标是创建一套新颖、多功能并且自由和开源的操作系统。使用–filter=stars=50 来搜索标星为50以上的Fedora相关镜像:$ docker search --filter=stars=50 fedoraNAME DESCRIPTION STARS OFFICIAL A原创 2020-09-09 00:08:02 · 276 阅读 · 0 评论 -
Docker构建CentOS操作系统
1.centos系统简简介及官方镜像使用Centos和Fedora都是基于Redhat的Linux发行版。Centos是目前企业级服务器的常用操作系统;Fedora则主要面向个人的桌面用户。Centos(Community Enterprise Operating System,社区企业级操作系统)基于Red Hat Enterprise Linux源代码编译而成。由于Centos与RedHat Linux源于相同的代码基础,所以很多成本敏感且需要高稳定性的公司就使用CentOS来代替商业版Red Ha原创 2020-09-08 23:58:36 · 232 阅读 · 0 评论 -
Docker构建Ubuntu操作系统+apache服务
Ubuntu是以桌面应用为主的GUN/Linux开源操作系统,其名称来自于非洲南部祖鲁语或豪萨语的“ubuntu”一词。官方译名为“友帮拓”,另有“乌班图”等译名。Ubuntu每6个月发布一个新版本,每两年推出一个长期支持(Long Term Support ,LTS)版本,一般支持3年时间。Ubuntu相关的镜像有很多,这里之搜索哪些评星50以上的镜像:以ubuntu18.04为例,安装一些常用的软件:$ docker run -it ubuntu:18.04 bashroot@878cacc2b原创 2020-09-08 23:43:35 · 523 阅读 · 0 评论 -
Docker构建Debian操作系统
Debian和Ubuntu都是目前比较流行的Debian系的服务器操作系统,十分适合研发场景。Dokcer Hub上提供了它们的官方镜像,国内各大容器云服务器都提供了完整的支持。1.Debian系统简介及官方镜像使用Debian是基于GPL授权的开源操作系统,是目前个人电脑与服务器中最受欢迎的开源操作系统之一,由Debian计划(Debian Project)组织维护。Debian以其坚守Unix和自由软件的精神,及给与用户的众多选择而闻名。目前Debian包括超过25000个软件包并支持12...原创 2020-09-08 22:43:22 · 2610 阅读 · 0 评论 -
Docker构建Alpine操作系统
1.简介 Alpine操作系统是一个面向安全的轻型Linux发行版,关注安全,性能和资源效能。不同于其他发行版,Alpine采用了musl libc 和BusyBox以减小系统的体积和运行时资源消耗,比BusyBox功能上更完善。在保持瘦身的同时,Alpine还提供了包管理工具apk查询和安装软件包。 Alpine Docker镜像继承了Alpine Linux发行版的这些优势。相比于其他镜像,它的容量非常小,仅仅只有5MB左右(Ubuntu 系列镜像接近于200MB)。官方镜像来自于docke原创 2020-09-08 21:47:50 · 899 阅读 · 0 评论 -
docker命令持续更新ing
1.搜寻镜像1.2 过滤官方镜像--filter=is-official=true 示例:$ docker search --filter=is-official=true centosNAME DESCRIPTION STARS OFFICIAL AUTOMATEDcentos The official build of CentOS. 618原创 2020-09-08 20:39:44 · 119 阅读 · 0 评论 -
Docker构建Busybox操作系统
Busybox是一个集成了一百多个做常用的Linux命令(如cat、echo、grep、mount、telnet)的精简工具箱,她只有不到2MB大小,被誉为“Linux系统的瑞士军刀”。busybox可运行于多款POSIX环境的操作系统中,如Linux(包括Android)、Hurd、FreeBSD等。1.获取官方镜像$ docker search busyboxNAME DESCRIPTION原创 2020-09-08 20:17:10 · 770 阅读 · 0 评论 -
建立阿里云私有镜像仓库
登录阿里开发者账户之后,容器镜像服务 >>>管理控制台>>>镜像仓库 直接进入1.创建仓库选择本地仓库2.本地提交镜像到阿里云镜像仓库查看操作指南:登录阿里云Docker Registry$ sudo docker login --username=$name registry.cn-hangzhou.aliyuncs.com用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。您可以在访问凭证页面修改凭证密码。本地登录阿里云仓库原创 2020-09-08 08:09:49 · 1730 阅读 · 0 评论 -
数据卷容器
如果用户想在多个容器间共享一些更新的数据,最简单的方式就是使用数据卷容器。数据卷容器也是一种容器,但是它的目的是专门提供数据卷给其他容器挂载。1.创建数据卷容器创建数据卷容器dbdata,并在其中创建一个数据卷挂载到/dbdata$ docker run -it -v /dbdata --name dbdata ubunturoot@7643b185c8ec:/# 查看/dbdata目录:root@7643b185c8ec:/# lsbin dbdata etc lib li原创 2020-09-07 23:00:03 · 148 阅读 · 0 评论 -
docker搭建本地私有仓库registry(超详细)
1.使用registry镜像创建私有仓库$ docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry:22.管理私有仓库docker tag ubuntu:latest 10.0.0.45:5000/test使用docker push 上传标记镜像$ docker push 10.0.0.45:5000/testThe push refers to repository [10.0.0.45:500原创 2020-09-07 22:16:46 · 859 阅读 · 0 评论 -
搭建本地私有仓库
1.使用registry镜像搭建私有仓库$ docker run -d -p 5000:5000 --restart=always --name registry registry此时在本地启动了一个私有仓库,监听端口为5000。2.管理私有仓库使用docker tag 命令将这个镜像标记为127.0.0.0:5000/ubuntudocker tag ubuntu:latest 127.0.0.1:5000/ubuntu使用docker push上传标记的镜像:$ docker push原创 2020-09-01 11:33:02 · 165 阅读 · 0 评论 -
使用Dockerfile创建SSH镜像
1.创建工作目录$ mkdir sshd_ubuntu在其中创建Dockerfile和run.sh$ cd sshd_ubuntu/$ ls$ touch Dockerfile run.sh2.编写run.sh脚本和authorized_keys脚本内容如下:#!/bin/bash/usr/sbin/sshd -D在宿主机上生成SSH密钥对,并创建authorized_keys文件:$ ssh-keygen -t rsa...$ cat ~/.ssh/id_rsa.pub &原创 2020-09-01 09:25:37 · 365 阅读 · 0 评论 -
为镜像添加SSH服务
1.准备工作首先,获取ubuntu镜像,并创建一个容器$ docker search --filter=stars=50 ubuntu$ docker run -itd ubuntu bash2.配置软件源检查软件源,并使用apt-get update命令来更新软件源信息root@70cb96e334d8:/# apt-get update如果默认的官方源速度特别慢的话,也可以替换为国内163、sohu等镜像的源。以163源为例,在容器内创建/etc/apt/sources.list.d/原创 2020-08-31 18:01:43 · 110 阅读 · 0 评论 -
Docker搭建LNMP网站平台
1.自定义网络docker network create lnmp2.创建mysql数据库docker run -itd \--name lnmp_mysql \--net lnmp \-p 3306:3306 \--mount src=mysql-vol,dst=/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=123456 \mysql:5.7 --character-set-server=utf83.创建所需的数据库及用户[root@c7-45 d原创 2020-08-24 23:48:48 · 193 阅读 · 0 评论 -
1.Docker-Compose用法
1.介绍Compose是一个定义和管理多容器的工具,使用Python语言编写。使用Compose配置文件描述多个容器应用的架构,比如使用什么镜像、数据卷、网络、映射端口等;然后一条命令管理所有服务,比如启动、停止、重启等。2.安装3.YAML文件格式及编写注意事项YAML是一种标记语言很直观的数据序列化格式,可读性高。类似于XML数据描述语言,语法比XML简单的很多。YAML数据结构通过缩进来表示,连续的项目通过减号来表示,键值对用冒号隔开,数组用中括号括起来,hash用花括号括起来。YAML原创 2020-08-24 22:48:33 · 205 阅读 · 0 评论 -
IP转发
sysctl -w net.ipv4.ip_forward=1原创 2020-08-21 18:11:14 · 227 阅读 · 0 评论 -
Dockfile构建nginx镜像
1.目录结构.├── Dockerfile├── nginx-1.18.0.tar.gz├── nginx.conf└── nginx.conf.bak2.Dockerfile[root@centos-linux nginx]# cat DockerfileFROM centos:7RUN yum install -y gcc gcc-c++ make openssl-devel pcre-develADD nginx-1.18.0.tar.gz /tmpRUN cd /tmp/ng原创 2020-08-13 15:33:31 · 275 阅读 · 0 评论 -
docker-compose安装elk
参考1.编写docker-composecat >> docker-compose.yml <<EOFversion: "3" #版本号services: elasticsearch-1: #服务名称(不是容器名) image: elasticsearch #使用的镜像 ports: - "9200:9200" #暴露的端口信息和docker run -d -p 80:80一样 restart: "always" #重原创 2020-08-11 18:30:38 · 1479 阅读 · 0 评论 -
docker-compose命令
官网:https://docs.docker.com/compose/install/在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个web项目,除了web服务容器本身,往往还需要再加上护短的数据服务容器,甚至还包括前端的负载均衡容器等。Compose定位:它是一个用于定义和运行多容器 Docker 的应用程序工具(单机容器编排工具)使用 Docker Compose 可以轻松、高效的管理容器docker-compose里的重要概念:1 task(任务):一个容器原创 2020-08-06 10:01:14 · 259 阅读 · 0 评论 -
7.创建容器的常见选项
[root@docker nginx]# docker cantiner --helpUsage: docker [OPTIONS] COMMANDA self-sufficient runtime for containersOptions: --config string Location of client config files (default "/root/.docker") -c, --context string Name of the con原创 2020-08-06 09:59:41 · 507 阅读 · 0 评论 -
6.docker镜像管理命令
指令描述export导出容器文件系统到tar归档文件Import导入容器文件系统tar归档文件创建镜像save保存一个或多个镜像到一个tar归档文件load家在镜像来自tar归档或标准输入[root@docker nginx]# docker image --helpUsage: docker image COMMANDManage imagesCommands: build Build an image from a Dock...原创 2020-08-06 09:55:50 · 129 阅读 · 0 评论