Docker 中的网络功能介绍 | Docker 从入门到实践 https://vuepress.mirror.docker-practice.com/network/ Docker 允许通过外部访问容器或容器互联的方式来提供网络服务. 外部访问容器 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射. 当使用 -P 标记时,Docker 会随机映射一个端口到内部容器开放的网络端口. 使用 docker container ls 可以看到,本地主…
我们都知道Docker容器的哲学是一个Docker容器只运行一个进程,但是有时候我们就是需要在一个Docker容器中运行多个进程 那么基本思路是在Dockerfile 的CMD 或者 ENTRYPOINT 运行一个”东西”,然后再让这个”东西”运行多个其他进程简单说来是用Bash Shell脚本或者三方进程守护 (Monit,Skaware S6,Supervisor),其他没讲到的三方进程守护工具同理 Bash Shell脚本 入口文件运行一个Bash Shell 脚本, 然后在这个脚本内去拉…
实现题目描述的这个需求有很多种办法,作为入门,让我们从最简单的办法开始. 首先使用命令docker ps确保当前没有正在运行的Docker实例. 运行命令docker run -it nginx: 然后我们另外开一个终端,用docker ps命令查看这个运行起来的容器实例,Status的Up 54 seconds意思是从该实例启动到现在已经经过了54秒. 使用命令进入这个容器实例: docker exec -it bbc5d48a761c /bin/sh 进入之后看到shell提示符#,我们就可…
Nginx 自己没有处理日志的滚动问题,它把这个球踢给了使用者.一般情况下,你可以使用 logrotate 工具来完成这个任务,或者如果你愿意,你可以写各式各样的脚本完成同样的任务.本文笔者介绍如何滚动运行在 docker 中的 nginx 日志文件(下图来自互联网). 思路 Nginx 官方其实给出了如何滚动日志的说明:Rotating Log-filesIn order to rotate log files, they need to be renamed first. After tha…
背景:MySQL数据库运行在宿主机上(Linux) 需求:Redis.服务.页面分别运行在独立的docker中,并处于同一网络,容器内部重要目录要挂载在物理目录,保证数据安全 方法: 一.设置网络环境 1.初始化Docker Swarm  docker swarm init 2.创建网段(mynet)  docker network create -d overlay mynet --attachable 3.查看列表,确认创建结果  docker network list 二.创建Redis运…
第一步,使用VS2017或者VS2019创建.NET Core 2.2或3.1的项目,如下图: 在创建项目的时候记得勾选Docker支持,这样会自动创建Dockerfile文件,这个文件用于构建Docker镜像:(补充:镜像运行在容器中) 第二步,编辑Dockerfile文件,本人初学不便讲解它的用法,本人按照以下方式进行编辑: FROM microsoft/dotnet:2.2-aspnetcore-runtime COPY . /netcorewebtests WORKDIR /netcor…
Docker中我们一般会有两种执行命令的方式,一种是直接进入容器的命令行,在终端执行并查看结果,一种是在后台执行,并不会在终端查看结果. 1.进入容器命令行 su root docker run -i -t ubuntu:16.04 /bin/bash #或者执行下面这句 docker run -it ubuntu:16.04 /bin/bash -i和-t的作用是帮助你进入交互模式,如果不加这部分,你将无法进入容器内部,更别说使用命令行了./bin/bash的意思就是使用容器的命令行来输入命令…
本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源 (5)Docker 网络 1. 基础知识:Linux namespace 的概念 Linux 内核从版本 2.4.19 开始陆续引入了 namespace 的概念.其目的是将某个特定的全局系统资源(global syst…
1.查看容器列表 显示正在运行的容器: [root@localhost HMK]# docker ps 显示所有容器,包括未运行的: [root@localhost HMK]# docker ps -a CONTAINER ID:容器的ID IMAGE:启动容器使用的镜像 CREATED:创建时间 STATUS: 状态 PORTS:端口映射信息 NAMES:容器名称 2.使用tomcat镜像启动一个容器,并挂载宿主机中的/HMK/helloword/webapps/HelloWorld.war…
如何批量删除Docker中已经停止的容器   方法一: #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, sudo docker ps -a|grep Exited|awk '{print $1}' #查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器 sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'` 方法二: #删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了) sud…
0x00 概述 容器是基于容器技术所建立和运行的轻量级应用运行环境,它是 Docker 封装和管理应用程序或微服务的“集装箱”.在 Docker 中,容器算是最核心的部分了,掌握容器的操作也是 Docker 中最基础的技能了.在这一节中,我们会深入了解容器,展示关于容器的操作. 0x01 容器的创建和启动 在了解容器的各项操作之前,我们再来回顾一下之前我们所提及的容器状态流转. 在这幅图中,我们可以看到,Docker 容器的生命周期里分为五种状态,其分别代表着: 在这幅图中,我们可以看到,Doc…
本文主要描述如何让传统ASP.NET网站在Docker中运行,侧重Docker image 搭建. 使用条件: Docker for windows 用户切换到Windows 容器模式 Windows Server 2016 用户 开启 Windows Container 关于Docker for windows,nanoserver,Windows Container一些概念区分 Docker for windows 在 win10 和 Windows Server 2016 上都能安装,但使…
本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Core以及docker的基本概念,网上已经有很多文章对其进行介绍了,因此本文不会再详细讲解这些内容.对.NET Core和docker不了解的朋友,建议首先查阅与这些技术相关的文档,然后再阅读本文. 先决条件 要完成本文所介绍的演练任务,需要准备以下环境: Visual Studio 2015,或者Vi…
环境介绍 : 虚拟机:VirtualBox 5.1.6 系 统:Ubuntu 16.04.1 LTS 系统准备完成后可以使用 sudo apt-get udpate 和 sudo apt-get upgrade 对系统进行更新,然后打开 https://www.microsoft.com/net/core#ubuntu 这个网址,在ubuntu系统中安装 .net core 运行环境.直接复制/粘贴给出的命令就可以了. 安装 Docker: 什么是 Docker ? 这里面就不介绍了,直接打开 …
原创:LCTT https://linux.cn/article-5967-1.html译者: GOLinux本文地址:https://linux.cn/article-5967-1.html 2015-8-6 15:02    评论: 2 收藏: 3 今天,我们将学习如何快速地对docker容器进行快捷备份.恢复和迁移.Docker是一个开源平台,用于自动化部署应用,以通过快捷的途径在称之为容器的轻量级软件层下打包.发布和运行这些应用.它使得应用平台独立,因为它扮演了Linux上一个额外的操作…
http://linuxdot.net/bbsfile-3988 1.  安装 docker:      // docker 1.7 新版 安装非常容易,理论上说,在主流的任意linux发行版上都可以直接安装.    wget -qO- https://get.docker.com/ | sh 2. 重启你的宿主机,可选.    reboot 3.拉取已经内建了mono 和jexus 服务器的 docker镜像, 此镜像基于 官方 ubuntu:14.04.2 版本构建,dockerfile 在…
先使用 dockerfile 创建一个 redis 容器 FROM ubuntu:latest RUN apt-get update RUN apt-get -y install redis-server EXPOSE ENTRYPOINT ["/usr/bin/redis-server"] 使用docker build创建 sudo docker build -t admln/redis . 运行这个容器 sudo docker run --name redis -d admln/r…
在docker中运行ASP.NET Core Web API应用程序 本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Core以及docker的基本概念,网上已经有很多文章对其进行介绍了,因此本文不会再详细讲解这些内容.对.NET Core和docker不了解的朋友,建议首先查阅与这些技术相关的文档,然后再阅读本文. 先决条件 要完成本文所介绍的演练任…
我们可能会碰到这样的一个问题,在容器执行过程中,修改了容器的内容(如配置文件信息),但因为修改出了问题.导致容器关闭后,无法启动. 这事需要重新修改配置文件. 正常情况下可以通过 docker exec命令打开容器的一个shell终端进去修改. 但这时容器已经无法启动了.这时该如何处理呢? 这有两种方案: 方案一:创建新镜像 把这个问题容器用docker commit提交到一个新的镜像,然后用docker run -it 基于新镜像运行一个新的容器进去改变(修复)配置文件. 再通过新的容器再提交…
Docker作为新一代的虚拟化方式,未来肯定会得到广泛的应用,传统虚拟机的部署方式要保证开发环境.测试环境.UAT环境.生产环境的依赖一致性,需要大量的运维人力,使用Docker我们可以实现一次部署,到处运行. 本文介绍如何把ASP.NET Core网站部署在Docker中运行. 软件环境清单 CentOS 7.3.1611 Docker 1.12.6 .NET Core 1.1 安装Docker $ #安装Docker $ yum install docker $ #启动docker服务 $…
上一节我们安装和配置了 flannel,本节在 Docker 中使用 flannel. 配置 Docker 连接 flannel 编辑 host1 的 Docker 配置文件 /etc/systemd/system/docker.service,设置 --bip 和 --mtu. 这两个参数的值必须与 /run/flannel/subnet.env 中 FLANNEL_SUBNET 和FLANNEL_MTU 一致. 重启 Docker daemon. systemctl daemon-reloa…
docker可以说给我们的部署带来极大的方便和可逢凶化吉性!(懂的同学自然懂) 在初步了解之后,我们就能简单使用docker了. 刚开始玩docker时,可以基于系统级别的镜像做定制,比如基于  centos 镜像使用docker: docker pull centos: # 把镜像拉下来 docker run -it centos: # 创建一个容器即可运行 你可以在拉下来的容器里安装任何需要的应用(必要的):然后,一切都看起来很美好! 但是,这时,我们最担心一个问题,那就是docker挂了怎…
在宿主机Host的终端执行: 1. 搜索docker镜像仓库中提供的mysql docker search mysql 2.下载mysql镜像 docker pull mysql 3.改变目录权限,非必须 可以先执行第四步,到第五步时发现容器的状态时是Exited时,执行第六步来查看原因. 如果提示无权限访问时,则需要补上本步骤,这是因为开启SELinux enabled时权限控制更严格所导致 chcon -Rt svirt_sandbox_file_t /data/mysql 4.创建并运行m…
https://blog.csdn.net/m2l0zgssvc7r69efdtj/article/details/79251059 就在上周,Docker官方的master分支上新增了LCOW(Linux Containers on Windows)[1]功能.启用这项功能,即可在单一的Docker引擎下,同时运行Linux和Windows容器.下面赶紧跟小编一起,看看Windows 10将会发生哪些变化? 可以用Docker命令docker ps,列出所有正在运行的Linux或Windows…
方法一: #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, sudo docker ps -a|grep Exited|awk '{print $1}' #查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器 sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'` 方法二: #删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了) sudo docker rm $(sudo dock…
Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机.下图是容器跟虚拟机的对比 对docker有个大致了解,学习docker断断续续,虽说学习不能急于求成,但断断续续学的话,浪费的碎片化时间也是不少的. 学习docker如果不愿意看文章可以看慕课网的一个免费的视频讲解,入门完全ok. 可以在docker hub上注册个账号,构建自己的镜像放到hub上,以便复用 docker hub地址 我的地址 慕课网学习地址 年前给公司的同事培训过一次学习mysql,在阿里云服务器上使用dock…
步骤 下载镜像 搜索相应的镜像文件:docker search 'tomcat' 如下 下载镜像:docker pull tomcat:7,如下图 PS:后面的数字代表tomcat的版本,可以自己选择.如:tomcat:7;tomcat:8;tomcat:9 查看已经下载的tomcat镜像:docker images | grep "tomcat" 制作新镜像 原因:项目进行远程自动发布需要修改tomcat的配置文件,文件修改后一定要重新构建一个新的镜像,通过这个镜像创建容器运行. 修…
背景 在CentOS搭建Docker完成后,我们需要在Docker中搭建Jenkins用来实现工程自动部署. 安装前提 jdk已安装,安装目录如:usr/java/jdk1.8.0_161 maven已安装,安装目录如:usr/maven/apache-maven-3.5.2 设置Jenkins挂载目录(重要!!!) 创建一个目录作为Jenkins挂载目录,比如,mkdir -p /home/jingguoliang/jenkins 设置此目录的归属用户ID:chown -R 1000:1000…
在 Docker 中使用 flannel 编辑 host1 的 Docker 配置文件 /etc/systemd/system/docker.service.d/10-machine.conf 设置 --bip 和 --mtu. 这两个参数的值必须与 /run/flannel/subnet.env 中 FLANNEL_SUBNET 和FLANNEL_MTU 一致. 重启 Docker daemon. systemctl daemon-reload systemctl restart docker…