当前位置: 首页 > news >正文

网站一定备案装修公司前十强加盟

网站一定备案,装修公司前十强加盟,建筑信用信息查询平台,阿里云做的网站程序Docker 使用 环境说明 CentOS 7.3#xff08;不准确地说#xff1a;要求必须是 CentOS 7 64位#xff09;不建议在 Windows 上使用Docker 基本概念 官网#xff1a;https://www.docker.com/宿主机#xff1a;安装 Docker 的那台电脑Docker#xff1a;一个虚拟化软件…Docker 使用 环境说明 CentOS 7.3不准确地说要求必须是 CentOS 7 64位不建议在 Windows 上使用Docker 基本概念 官网https://www.docker.com/宿主机安装 Docker 的那台电脑Docker一个虚拟化软件你可以认为是类似VMware、Virtualbox镜像可以认为是类似 Windows 下的XXXX.iso容器容器为镜像的实例可以认为是 Virtualbox 运行 XXXX.iso 后的效果官网的镜像仓库地址https://store.docker.com/对开发来讲总结一个最简单的说法在 Maven 未产生的年代jar 包要随着开发项目走到哪里跟到哪里。有了 Maven 写好 pom.xml 即可。此时的 Docker 就好比如 Maven帮你省去了开发过程中的部署环境差异你再也不能随便说你的系统可以运行我的系统就不行。现在别人连系统都帮你做好了。玩法理念单进程一个容器最好最专注去做一个事情。虽然它可以既装 MySQL又装 Nginx 等等但是让一个容器只做好一件事是最合适的。其他通俗解释 Docker的思想来自于集装箱集装箱解决了什么问题在一艘大船上可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的那我就可以用一艘大船把他们都运走。 docker就是类似的理念。现在都流行云计算了云计算就好比大货轮。docker就是集装箱。 1.不同的应用程序可能会有不同的应用环境比如.net开发的网站和php开发的网站依赖的软件就不一样如果把他们依赖的软件都安装在一个服务器上就要调试很久而且很麻烦还会造成一些冲突。比如IIS和Apache访问端口冲突。这个时候你就要隔离.net开发的网站和php开发的网站。常规来讲我们可以在服务器上创建不同的虚拟机在不同的虚拟机上放置不同的应用但是虚拟机开销比较高。docker可以实现虚拟机隔离应用环境的功能并且开销比虚拟机小小就意味着省钱了。 2.你开发软件的时候用的是Ubuntu但是运维管理的都是centos运维在把你的软件从开发环境转移到生产环境的时候就会遇到一些Ubuntu转centos的问题比如有个特殊版本的数据库只有Ubuntu支持centos不支持在转移的过程当中运维就得想办法解决这样的问题。这时候要是有docker你就可以把开发环境直接封装转移给运维运维直接部署你给他的docker就可以了。而且部署速度快。 3.在服务器负载方面如果你单独开一个虚拟机那么虚拟机会占用空闲内存的docker部署的话这些内存就会利用起来。 总之docker就是集装箱原理。 Docker 的优点持续部署与测试 Docker在开发与运维的世界中具有极大的吸引力因为它能保持跨环境的一致性。在开发与发布的生命周期中不同的环境具有细微的不同这些差异可能是由于不同安装包的版本和依赖关系引起的。然而Docker可以通过确保从开发到产品发布整个过程环境的一致性来解决这个问题。 Docker容器通过相关配置保持容器内部所有的配置和依赖关系始终不变。最终你可以在开发到产品发布的整个过程中使用相同的容器来确保没有任何差异或者人工干预。 使用Docker你还可以确保开发者不需要配置完全相同的产品环境他们可以在他们自己的系统上通过VirtualBox建立虚拟机来运行Docker容器。Docker的魅力在于它同样可以让你在亚马逊EC2实例上运行相同的容器。如果你需要在一个产品发布周期中完成一次升级你可以很容易地将需要变更的东西放到Docker容器中测试它们并且使你已经存在的容器执行相同的变更。这种灵活性就是使用Docker的一个主要好处。和标准部署与集成过程一样Docker可以让你构建、测试和发布镜像这个镜像可以跨多个服务器进行部署。哪怕安装一个新的安全补丁整个过程也是一样的。你可以安装补丁然后测试它并且将这个补丁发布到产品中。 环境标准化和版本控制 Docker容器可以在不同的开发与产品发布生命周期中确保一致性进而标准化你的环境。除此之外Docker容器还可以像git仓库一样可以让你提交变更到Docker镜像中并通过不同的版本来管理它们。设想如果你因为完成了一个组件的升级而导致你整个环境都损坏了Docker可以让你轻松地回滚到这个镜像的前一个版本。这整个过程可以在几分钟内完成如果和虚拟机的备份或者镜像创建流程对比那Docker算相当快的它可以让你快速地进行复制和实现冗余。此外启动Docker就和运行一个进程一样快。 隔离性 Docker可以确保你的应用程序与资源是分隔开的。几个月前Gartner发表了一篇报告这份报告说明了运行Docker 容器进行资源隔离的效果和虚拟机VM管理程序一样的好但是管理与控制方面还需要进行完善。我们考虑这样一个场景你在你的虚拟机中运行了很多应用程序这些应用程序包括团队协作软件例如Confluence、问题追踪软件例如JIRA、集中身份管理系统例如Crowd等等。由于这些软件运行在不同的端口上所以你必须使用Apache或者Nginx来做反向代理。到目前为止一切都很正常但是随着你的环境向前推进你需要在你现有的环境中配置一个内容管理系统例如Alfresco。这时候有个问题发生了这个软件需要一个不同版本的Apache Tomcat为了满足这个需求你只能将你现有的软件迁移到另一个版本的Tomcat上或者找到适合你现有Tomcat的内容管理系统Alfresco版本。对于上述场景使用Docker就不用做这些事情了。Docker能够确保每个容器都拥有自己的资源并且和其他容器是隔离的。你可以用不同的容器来运行使用不同堆栈的应用程序。除此之外如果你想在服务器上直接删除一些应用程序是比较困难的因为这样可能引发依赖关系冲突。而Docker可以帮你确保应用程序被完全清除因为不同的应用程序运行在不同的容器上如果你不在需要一款应用程序那你可以简单地通过删除容器来删除这个应用程序并且在你的宿主机操作系统上不会留下任何的临时文件或者配置文件。除了上述好处Docker还能确保每个应用程序只使用分配给它的资源包括CPU、内存和磁盘空间。一个特殊的软件将不会使用你全部的可用资源要不然这将导致性能降低甚至让其他应用程序完全停止工作。 安全性 如上所述Gartner也承认Docker正在快速地发展。从安全角度来看Docker确保运行在容器中的应用程序和其他容器中的应用程序是完全分隔与隔离的在通信流量和管理上赋予你完全的控制权。Docker容器不能窥视运行在其他容器中的进程。从体系结构角度来看每个容器只使用着自己的资源从进程到网络堆栈。作为紧固安全的一种手段Docker将宿主机操作系统上的敏感挂载点例如/proc和/sys作为只读挂载点并且使用一种写时复制系统来确保容器不能读取其他容器的数据。Docker也限制了宿主机操作系统上的一些系统调用并且和SELinux与AppArmor一起运行的很好。此外在Docker Hub上可以使用的Docker镜像都通过数字签名来确保其可靠性。由于Docker容器是隔离的并且资源是受限制的所以即使你其中一个应用程序被黑也不会影响运行在其它Docker容器上的应用程序。 多云平台 Docker最大的好处之一就是可移植性。在过去的几年里所有主流的云计算提供商包括亚马逊AWS和谷歌的GCP都将Docker融入到他们的平台并增加了各自的支持。Docker容器能运行在亚马逊的EC2实例、谷歌的GCP实例、Rackspace服务器或者VirtualBox这些提供主机操作系统的平台上。举例来说如果运行在亚马逊EC2实例上的Docker容器能够很容易地移植到其他几个平台上比如说VirtualBox并且达到类似的一致性和功能性那这将允许你从基础设施层中抽象出来。除了AWS和GCPDocker在其他不同的IaaS提供商也运行的非常好例如微软的Azure、OpenStack和可以被具有不同配置的管理者所使用的Chef、Puppet、Ansible等。 Docker 安装和基本配置 主要有两个版本 Docker Enterprise Edition (Docker EE) is designed for enterprise development and IT teams who build, ship, and run business critical applications in production at scale. Docker EE is integrated, certified, and supported to provide enterprises with the most secure container platform in the industry to modernize all applications. For more information about Docker EE, including purchasing options, see Docker Enterprise Edition. Docker Community Edition (Docker CE) is ideal for developers and small teams looking to get started with Docker and experimenting with container-based apps. Docker CE is available on many platforms, from desktop to cloud to server. Docker CE is available for macOS and Windows and provides a native experience to help you focus on learning Docker. You can build and share containers and automate the development pipeline all from a single environment. Docker CE has both stable and edge channels. Stable builds are released once per quarter and are supported for 4 months. Edge builds are released once per month, and are supported for that month only. If you subscribe to the Edge channel on Linux distributions, you should also subscribe to the Stable channel. 官网总的安装手册https://docs.docker.com/install/ 官网 CentOS 安装手册https://docs.docker.com/install/linux/docker-ce/centos/ 目前也支持 Windows特别是 Windows 10直接官网一个安装包即可搞定。 Windows 10 的 Docker 安装说明https://store.docker.com/editions/community/docker-ce-desktop-windows 我这里选择 Docker CE 版本 CentOS 安装过程 sudo yum install -y yum-utils device-mapper-persistent-data lvm2添加 repo可能网络会很慢有时候会报Timeout所以要多试几次sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum makecache fastsudo yum install -y docker-ce大小19M速度很慢。 查看配置文件位置systemctl show --propertyFragmentPath docker 启动 Dockersystemctl start docker.service 停止 Dockersystemctl stop docker.service 查看状态systemctl status docker.service 运行 hello world 镜像sudo docker run hello-world 因为是第一次使用所以没这个镜像需要一个下载过程所以需要几分钟可能还会报Timeout。镜像自动下载好后会输出这样一段内容表示已经正常安装并可用了 Unable to find image hello-world:latest locally latest: Pulling from library/hello-world 78445dd45222: Pull complete Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7 Status: Downloaded newer image for hello-world:latestHello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the hello-world image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://cloud.docker.com/ For more examples and ideas, visit: https://docs.docker.com/engine/userguide/ 镜像加速 只要是外国的东西在国内基本都很难有好的速度所有就有了加速器的概念目前国内常用的如下阿里云https://dev.aliyun.com/search.htmlUSTChttps://lug.ustc.edu.cn/wiki/mirrors/help/dockerdaocloudhttp://get.daocloud.io/网易https://c.163.com时速云https://hub.tenxcloud.com/灵雀云https://hub.alauda.cn/推荐优先阿里云然后是 USTC我下面的讲解也是基于阿里云加速阿里云的服务需要注册账号首次使用需要设置 docker 登录密码阿里云叫做修改Registry登录密码这个以后用私人仓库会用到。 如果忘记了后面可以在这里修改https://cr.console.aliyun.com/#/imageList注册后请访问https://cr.console.aliyun.com/#/accelerator你会看到专属的加速地址比如我是https://ldhc17y9.mirror.aliyuncs.com所以下面文章你看到该地址都表示是这个专属地址请记得自己更换自己的。以及教你如何使用 Docker 加速器。如果你已经安装了最新版的 Docker 你就不需要用它的脚本进行安装了。最新版本的 Docker 是新增配置文件vim /etc/docker/daemon.json增加如下内容 {registry-mirrors: [https://ldhc17y9.mirror.aliyuncs.com] } sudo systemctl daemon-reloadsudo systemctl restart docker在以后的生活中如果要经常使用阿里云做为自己仓库那你还需要做 在 namespace管理 中创建属于你自己的 namespacehttps://cr.console.aliyun.com/#/namespace/index创建镜像仓库https://cr.console.aliyun.com/#/imageList 创建好仓库后点击管理 进入查看仓库的更多详细信息这里面有很多有用的信息包括一个详细的操作指南这份指南等下会用到。比如我自己创建一个 redis-to-cluster 仓库地址是阿里云给我们的registry.cn-shenzhen.aliyuncs.com/youmeek/redis-to-cluster那我登录这个镜像地址的方式docker login registry.cn-shenzhen.aliyuncs.com 会让我输入 Username阿里云邮箱 password上文提到的--Registry登录密码然后在我的仓库管理地址有教我如何推送和拉取镜像https://cr.console.aliyun.com/#/dockerImage/cn-shenzhen/youmeek/redis-to-cluster/detail拉取docker pull registry.cn-shenzhen.aliyuncs.com/youmeek/redis-to-cluster:[镜像版本号]推送docker logindocker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/youmeek/redis-to-cluster:[镜像版本号]docker push registry.cn-shenzhen.aliyuncs.com/youmeek/redis-to-cluster:[镜像版本号]Docker 命令最终部署 Spring Boot 项目 建议初期使用的时候尽量用容器 ID / 镜像 ID。如果使用 Tag/Name 在东西多的情况下很容易混乱 还不如就用记不住但是肯定唯一的容器 ID / 镜像 ID重要的基本概念 可以代表一个完整的镜像名有两种方式 REPOSITORY(仓库):TAG(标签) 其中 TAG 表面上不是必须有的本质是 docker 帮你用 latest 来代替了。latest 这里最好翻译为默认而不是最新。IMAGE ID(镜像ID) 这是一个 Docker 随机给你生成 数字字母 的字符串部署一个 Spring Boot 的 Java Web 项目为例 宿主机环境说明 IP 地址http://192.168.137.128停止了防火墙systemctl stop firewalld.service ; systemctl stop iptables.service停止防火墙后重启 Docker 服务systemctl restart docker.serviceJDKjdk-8u121-linux-x64.tar.gz、jar 应用spring-boot-my-demo.jar存放宿主机位置/opt/setupsSpring Boot 的 jar 应用中配置文件给的端口是8080常规情况下的访问路径http://127.0.0.1:8080/youmeek下载镜像docker pull centos:6.8我的 IMAGE_ID 为0cd976dc0a98运行镜像实例化为一个容器docker run -i -t -v /opt/setups:/opt 0cd976dc0a98 /bin/bash -v表示需要将本地宿主机的目录挂载到容器中对应的一个目录上格式-v 宿主机目录:容器目录所以此时对容器此目录的操作也是等同于对宿主机的目录的操作在容器里安装 Oracle JDK 8、配置 JDK 环境变量这里不多说具体看JDK 安装。把容器中 /opt 目录下的 spring-boot-my-demo.jar 拷贝到容器的 root 目录下cp /opt/spring-boot-my-demo.jar /root再容器里新建脚本vi /root/spring-boot-run.sh脚本内容如下 #!/bin/bash source /etc/profile java -jar /root/spring-boot-my-demo.jar 在容器中对新建脚本增加执行权限chmod ux /root/spring-boot-run.sh我们启动另外一个终端查看我们刚刚运行的容器相关信息docker ps -a 我们看到了我们刚刚运行的容器 IDCONTAINER ID为a5d544d9b6f9这个下面要用到基于刚刚运行的容器创建新镜像docker commit a5d544d9b6f9 youmeek/springboot:0.1 查看现在的镜像库docker images会发现多了一个 youmeek/springboot 新镜像镜像 ID 为7024f230fef9运行新镜像实例化为一个容器并启动容器中刚刚写的脚本docker run -d -p 38080:8080 --namespringBootJar --hostnamespringBootJar 7024f230fef9 /root/spring-boot-run.sh -d表示以“守护模式”执行 spring-boot-run.sh 脚本此时 jar 中的 log 日志不会出现在输出终端上。-p表示宿主机与容器的端口映射此时将容器内部的 8080 端口映射为宿主机的 38080 端口这样就向外界暴露了 38080 端口可通过 Docker 网桥来访问容器内部的 8080 端口了。--name表示给新实例容器取的名称用一个有意义的名称命名即可查看其实运行的容器docker ps -a可以知道我们的新容器 IDfd21ac056343名称为springBootJar查看这个容器的 jar 应用的 log 输出docker logs -f fd21ac056343可以看到 jar 启动后的 log 输出内容通过浏览器访问容器中的应用http://192.168.137.128:38080/youmeek/可以看到 jar 应用的首页可以访问Docker 基本命令 官网文档https://docs.docker.com/engine/reference/run/版本信息 docker version查看docker版本docker info显示docker系统的信息镜像仓库 docker pull从仓库下载镜像到本地 docker pull centos:latest获取 CentOS 默认版本镜像docker pull centos:7.3.1611获取 CentOS 7 镜像下载大小 70M 左右下面的操作基于此镜像docker pull centos:6.8获取 CentOS 6 镜像docker pull registry.cn-hangzhou.aliyuncs.com/chainone/centos7-jdk8获取别人做好的阿里云镜像docker push将一个镜像 push 到 registry 仓库中 docker push myapache:v1docker search从 registry 仓库搜索镜像 docker search -s 3 centos参数 -s 数字表示筛选出收藏数stars值大于等于 3 的镜像docker login登录到一个镜像仓库。默认登录的是官网的仓库https://hub.docker.com 登录阿里云仓库格式sudo docker login --username阿里云邮箱 比如我是这个docker login --username23333212qq.com registry.cn-shenzhen.aliyuncs.com你完整的登录地址你需要访问https://cr.console.aliyun.com/#/imageList在你自己创建的仓库中去查看那份详细操作指南上的地址密码就是你首次访问https://cr.console.aliyun.com/#/accelerator弹窗出来让你设置的那个密码如果忘记了重新设置下即可重设地址https://cr.console.aliyun.com/#/imageList右上角有一个修改docker登录密码。本地镜像管理 docker stats查看当前启动的容器各自占用的系统资源 bin docker stats --no-stream kafkadocker_kafka_1 kafkadocker_zookeeper_1查看指定容器的占用资源情况更加高级的监控方式有一个软件叫做ctop推荐使用https://github.com/bcicen/ctopCONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 4532a9ee27b8 cloud-cadvisor 1.49% 53.28MiB / 3.702GiB 1.41% 13.5MB / 646MB 265MB / 0B 19 3895d5d50a5e kafkadocker_kafka_1 1.45% 1.24GiB / 3.702GiB 33.51% 145MB / 186MB 499MB / 724MB 128 1d1a6a7c48d8 kafkadocker_zookeeper_1 0.11% 70.85MiB / 3.702GiB 1.87% 55.8MB / 33.7MB 209MB / 1.22MB 23docker images显示本地所有的镜像列表 关注 REPOSITORY(名称)TAG(标签)IMAGE ID(镜像ID)三列docker images centos查看具体镜像情况docker rmi删除镜像一般删除镜像前要先删除容器不然如果镜像有被容器调用会报错 docker rmi 容器ID删除具体某一个镜像docker rmi 仓库:Tag删除具体某一个镜像docker rmi $(docker images -q)删除所有镜像docker rmi -f $(docker images -q)强制删除所有镜像docker rmi $(docker images | grep vmware | awk {print $3})批量删除带有 vmware 名称的镜像docker tag为镜像打上标签 docker tag -f ubuntu:14.04 ubuntu:latest-f 意思是强制覆盖同一个IMAGE ID可能会有多个TAG可能还在不同的仓库首先你要根据这些 image names 来删除标签当删除最后一个tag的时候就会自动删除镜像docker rmi 仓库:Tag取消标签如果是镜像的最后一个标签则会删除这个镜像docker build使用 Dockerfile 创建镜像推荐 docker build . --rm -t runoob/ubuntu:v1参数 -t表示-tag打标签多次 docker build 过程中是有依赖一个缓存的过程的一般 build 过程都有好几个 stepDocker 非常聪明会自己判断那些没有被修改过程的 step 采用缓存。如果想要避免使用缓存可以使用这样命令 --no-cachedocker build --no-cache . --rm -t runoob/ubuntu:v1docker history显示生成一个镜像的历史命令可以看出这个镜像的构建过程包括每一层镜像的 ID、指令docker save将一个镜像保存为一个 tar 包带 layers 和 tag 信息导出一个镜像 docker save 镜像ID -o /opt/test.tardocker load从一个 tar 包创建一个镜像导入一个镜像 docker load -i /opt/test.tar容器生命周期管理 docker run运行镜像 docker run -v /java_logs/:/opt/ -d -p 8080:80 --namemyDockerNameIsGitNavi --hostnamemyDockerNameIsGitNavi -i -t 镜像ID /bin/bash -i -t 分别表示保证容器中的 STDIN 开启并分配一个伪 tty 终端进行交互这两个是合着用。--name 是给容器起了一个名字如果没有主动给名字docker 会自动给你生成一个容器的名称规则大小写字母、数字、下划线、圆点、中横线用正则表达式来表达就是[a-zA-Z0-9_*-]-d 容器运行在后台。-p 8080:80 表示端口映射将宿主机的8080端口转发到容器内的80端口。如果是 -P 参数则表示随机映射应该端口一般用在测试的时候-v /java_logs/:/opt/ 表示目录挂载/java_logs/ 是宿主机的目录/opt/ 是容器目录docker run --rm --namemyDockerNameIsGitNavi --hostnamemyDockerNameIsGitNavi -i -t centos /bin/bash--rm表示退出即删除容器一般用在做实验测试的时候docker run --restartalways -i -t centos /bin/bash--restartalways 表示停止后会自动重启docker run --restarton-failure:5 -i -t centos /bin/bash--restarton-failure:5 表示停止后会自动重启最多重启 5 次docker exec对守护式的容器里面执行命令方便对正在运行的容器进行维护、监控、管理 docker exec -i -t 容器ID /bin/bash进入正在运行的 docker 容器并启动终端交互docker exec -d 容器ID touch /opt/test.txt已守护式的方式进入 docker 容器并创建一个文件docker stop 容器ID停止容器 docker stop $(docker ps -a -q)停止所有容器docker stop $(docker ps -a -q) ; docker rm $(docker ps -a -q)停止所有容器并删除所有容器docker kill $(docker ps -q) ; docker rm $(docker ps -a -q)停止所有容器并删除所有容器docker start 容器ID重新启动已经停止的容器重新启动docker run 参数还是保留之前的docker restart 容器ID重启容器docker rm删除容器 docker rm 容器ID删除指定容器该容器必须是停止的docker rm -f 容器ID删除指定容器该容器如果正在运行可以这样删除docker rm $(docker ps -a -q)删除所有容器docker rm -f $(docker ps -a -q)强制删除所有容器docker ps -a | grep weeks ago | awk {print $1} | xargs docker rm 删除老的(一周前创建)容器docker kill $(docker ps -q) ; docker rm $(docker ps -a -q) ; docker rmi $(docker images -q -a) 停止所有容器删除所有容器删除所有镜像docker commit把容器打成镜像 docker commit 容器ID gitnavi/docker-nodejs-test:0.1 gitnavi 是你注册的 https://store.docker.com/ 的名字如果你没有的话那需要先注册docker-nodejs-test 是你为该镜像起的名字0.1 是镜像的版本号默认是 latest 版本docker commit -m这是一个描述信息 --authorGitNavi 容器ID gitnavi/docker-nodejs-test:0.1 在提交镜像时指定更多的数据包括标签来详细描述所做的修改docker diff 容器ID显示容器文件系统的前后变化--link 同一个宿主机下的不同容器的连接 docker run -it 镜像ID --link redis-name:myredis /bin/bash redis-name 是容器名称myredis 是容器别名其他容器连接它可以用这个别名来写入到自己的配置文件中容器与宿主机之间文件的拷贝 docker cp /www/runoob 96f7f14e99ab:/www/ 将主机 /www/runoob 目录拷贝到容器 96f7f14e99ab 的 /www 目录下docker cp /www/runoob 96f7f14e99ab:/www 将主机 /www/runoob 目录拷贝到容器 96f7f14e99ab 中目录重命名为 www。docker cp 96f7f14e99ab:/www /tmp/ 将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。docker 网络模式 查看也有网络docker network ls创建网络docker network create --subnet172.19.0.0/16 net-redis-to-cluster已有容器连接到某个网络一个容器可以同时连上多个网络docker network connect net-redis-to-cluster my-redis-container如果是内网提供服务的可以直接创建一个网络其服务使用该网络。然后另外一个需要调用该服务的并且是对外网提供服务的可以使用 host 模式--network XXXXXX 常见几种模式 bridge 默认模式在 docker0 的网桥上创建新网络栈确保独立的网络环境实现网络隔离docker run -it 镜像ID --networkbridge /bin/bashnone 不适用网卡不会有 IP无法联网docker run -it 镜像ID --networknone /bin/bashhost 使用宿主机网络 IP、端口联网在容器里面输入ip a看到的结果和在宿主机看到的一样docker run -it 镜像ID --networkhost /bin/bash自定义-使用自己命名的网络栈但是需要手动配置网卡、IP 信息docker run -it 镜像ID --network自定义名称 /bin/bash容器管理操作 docker ps列出当前所有 正在运行 的容器 docker ps -a列出所有的容器包含历史即运行过的容器docker ps -l列出最近一次启动的containerdocker ps -q列出最近一次运行的container IDdocker ps -a -l列出最后一次运行的容器docker ps -n x显示最后 x 个容器不管是正在运行或是已经停止的docker top 容器ID显示容器的进程信息docker events得到 docker 服务器的实时的事件docker logs -f 容器ID查看容器日志如果一些容器不断重启或是自动停止可以这样看下 docker logs 容器ID获取守护式容器的日志docker logs -f 容器ID不断监控容器日志类似 tail -fdocker logs -ft 容器ID在 -f 的基础上又增加 -t 表示为每条日志加上时间戳方便调试docker logs --tail 10 容器ID获取日志最后 10 行docker logs --tail 0 -f 容器ID跟踪某个容器的最新日志而不必读取日志文件docker logs -f -t --since2018-05-26 --tail200 容器ID 根据某个时间读取日志docker logs -f -t --since2018-05-26T11:13:40 --tail200 容器ID 根据某个时间读取日志docker logs -f -t --since2018-05-25T11:13:40 --until 2018-05-26T11:13:40 --tail200 容器ID 根据某个时间读取日志docker logs --since 10m 容器ID 查看最近 10 分钟的日志 -f : 表示查看实时日志-t : 显示时间戳-since : 显示某个开始时间的所有日志-tail200 : 查看最后的 200 条日志docker wait阻塞到一个容器直到容器停止运行docker export将容器整个文件系统导出为一个tar包不带layers、tag等信息docker port显示容器的端口映射docker inspect 容器ID查看容器的全面信息用 JSON 格式输出docker inspect network名称查看 network 信息用 JSON 格式输出包含使用该网络的容器有哪些docker system df类似于 Linux 上的 df 命令用于查看 Docker 的磁盘使用情况 Images 镜像Containers 容器Local Volumes 数据卷TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 6 6 1.049GB 0B (0%) Containers 7 4 10.25kB 0B (0%) Local Volumes 13 5 38.49GB 1.365MB (0%) Build Cache 0B 0B获取容器中的 IPdocker inspect -f {{.NetworkSettings.IPAddress}} 容器ID 获取容器中的 IPdocker inspect -f {{.Volumes}} 容器ID 查看容器的挂载情况docker inspect 容器ID | grep Mounts -A 10下面为一个 docker inspect 后的结果示例 [{Id: e1dff77b99d9c8489e0a0ce68a19ec5ffe18cc5d8b8ec17086f7f7bea29aa09b, Created: 2018-01-18T03:47:16.138180181Z, Path: docker-entrypoint.sh, Args: [ --auth ], State: { Status: running, Running: true, Paused: false, Restarting: false, OOMKilled: false, Dead: false, Pid: 19952, ExitCode: 0, Error: , StartedAt: 2018-01-18T03:47:16.348568927Z, FinishedAt: 0001-01-01T00:00:00Z }, Image: sha256:42aa46cfbd7a0d1101311defac39872b447b32295b40f9c99104ede5d02e9677, ResolvConfPath: /var/lib/docker/containers/e1dff77b99d9c8489e0a0ce68a19ec5ffe18cc5d8b8ec17086f7f7bea29aa09b/resolv.conf, HostnamePath: /var/lib/docker/containers/e1dff77b99d9c8489e0a0ce68a19ec5ffe18cc5d8b8ec17086f7f7bea29aa09b/hostname, HostsPath: /var/lib/docker/containers/e1dff77b99d9c8489e0a0ce68a19ec5ffe18cc5d8b8ec17086f7f7bea29aa09b/hosts, LogPath: /var/lib/docker/containers/e1dff77b99d9c8489e0a0ce68a19ec5ffe18cc5d8b8ec17086f7f7bea29aa09b/e1dff77b99d9c8489e0a0ce68a19ec5ffe18cc5d8b8ec17086f7f7bea29aa09b-json.log, Name: /cas-mongo, RestartCount: 0, Driver: overlay, Platform: linux, MountLabel: , ProcessLabel: , AppArmorProfile: , ExecIDs: null, HostConfig: { Binds: [ /data/mongo/db:/data/db ], ContainerIDFile: , LogConfig: { Type: json-file, Config: {} }, NetworkMode: default, PortBindings: { 27017/tcp: [ { HostIp: , HostPort: 27017 } ] }, RestartPolicy: { Name: always, MaximumRetryCount: 0 }, AutoRemove: false, VolumeDriver: , VolumesFrom: null, CapAdd: null, CapDrop: null, Dns: [], DnsOptions转载于:https://www.cnblogs.com/fusheng11711/p/11168319.html
http://www.zqtcl.cn/news/289246/

相关文章:

  • 韩国网站免费模板wordpress数据库名称
  • 如何修改网站发布时间贵阳网站建设报价
  • 东莞网站推广培训免费云电脑
  • 湖北网站建设详细方案脑叶公司手机版下载
  • 淄博网站制作平台形象怎样建设旅游网站
  • 广州花都网站建设网站改版协议
  • 中国建设协会网站首页工信部网站备案被删除
  • 丹阳网站建设案例dedecms 购物网站
  • 网站上怎么做动画广告视频下载seo黑帽是什么意思
  • 服装网站建设网综合社区网站开发费用
  • 做网站预付款 怎么做账做律师网站的网络公司
  • 购物网站开发模板小程序注册拉新
  • 怎么建立一个网站能够与讯飞云对话罗湖附近公司做网站建设哪家好
  • 唐山网站制作公司北京网站开发优选ls20227
  • php 网站备份代码广州网站设计公司招聘
  • 做ppt的网站兼职上海未来网站建设公司
  • 某某公司网站建设论文wordpress 企业 主题
  • 网站提示域名解析错误怎么办百度网址提交
  • 福建省住房城乡建设部网站车公庙网站建设
  • 长沙网站seo诊断ip138禁止查询该域名
  • 大学生网站设计作业动画ftp发布asp.net网站
  • 网站建设哪家企业好站内优化怎么做
  • 萌宝宝投票网站怎么做网上商城推广方法
  • 网站建设规划书样板社交电商
  • 网站怎么做直播功能吗水库信息化网站建设
  • c语言做网站账号登录系统外资公司代理注册
  • 建站公司塔山双喜做饲料推广哪个网站好
  • php网站后台入口拼多多海外跨境电商入驻流程
  • 0731网站平面logo设计公司
  • 网站设计制作报价图片欣赏wordpress福利