• 微服务之——docker高级命令

一.映射端口

  • 1.先下载 nginx 镜像

[root@localhost ~]# docker pull nginx:1.12.2

1.12.2: Pulling from library/nginx

f2aa67a397c4: Pull complete

e3eaf3d87fe0: Pull complete

38cb13c1e4c9: Pull complete

Digest: sha256:72daaf46f11cc753c4eab981cbf869919bd1fee3d2170a2adeac12400f494728

Status: Downloaded newer image for nginx:1.12.2

docker.io/library/nginx:1.12.2

[root@localhost ~]# docker image ls

REPOSITORY TAG IMAGE ID CREATED SIZE

hello-world latest fce289e99eb9 13 months ago 1.84kB

nginx 1.12.2 4037a5562b03 22 months ago 108MB

  • 2.打好标签

[root@localhost ~]# docker tag 4037a5562b03 feixiangkeji974907/nginx:v1.12.2

[root@localhost ~]# docker image ls

REPOSITORY TAG IMAGE ID CREATED SIZE

hello-world latest fce289e99eb9 13 months ago 1.84kB

shizhengwen/nginx v1.12.2 4037a5562b03 22 months ago 108MB

nginx 1.12.2 4037a5562b03 22 months ago 108MB

  • 3.启动nginx镜像

-p 宿主机端口:容器内端口

[root@localhost ~]# docker run --name mynginx -d -p 80:80 feixiangkeji974907/nginx:v1.12.2

89d670a4bc27e3576fe8900aaa17a36a572daff46c12d4995c2fcf35d5107a87

查看宿主机端口是否起来了:

[root@localhost ~]# netstat -ntlup | grep 80

tcp6 0 0 :::80 :::* LISTEN 20013/docker-proxy

[root@localhost ~]# curl 127.0.0.1:80

二.挂载数据(以nginx为例)

  • 1、用户家目录下创建目录

[root@localhost ~]# cd

[root@localhost ~]# mkdir html

[root@localhost ~]# cd html/

  • 2、下载一个html 网页实例

[root@localhost html]# wget www.baidu.com -O index.html

  • 3、启动nginx

-v 宿主机目录: 容器内目录

[root@localhost html]# docker run --name nginx_with_baidu -d -p 82:80 -v /root/html:/usr/share/nginx/html feixiangkeji974907/nginx:v1.12.2

2fc055d4ceddf0fa30e6c5d78038c5d888bd286c6c31f0cd0cf52309d7535c91

三.传递环境变量

  • 1、启动镜像

-e key键=value值

[root@localhost html]# docker run --rm -e E_hehe=world --name test feixiangkeji974907/nginx:v1.12.2 printenv

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

HOSTNAME=e306a8baf34b

E_hehe=world

NGINX_VERSION=1.12.2-1~stretch

NJS_VERSION=1.12.2.0.1.14-1~stretch

HOME=/root

四.容器内安装软件

  • 1、先进入到容器内

[root@localhost ~]# docker exec -ti nginx_with_baidu /bin/bash

假如 curl 命令是容器里没有的

root@c09cc1eeb5df:/# curl

bash: curl: command not found

  • 2、我们要想给容器转一个 curl 命令就要先去更新 apt 的一个源

tee /etc/apt/sources.list << EOF

deb http://mirrors.163.com/debian/ jessie main non-ffree contrib

deb http://mirrirs.163.com/dobian/ jessie-updates main non-free contrib

EOF

  • 3、下载 curl

root@2fc055d4cedd:/# apt-get update && apt-get install -y curl

  • 4、再安装个lrzsz

root@2fc055d4cedd:/# apt-get install lrzsz -y

  • 5、固化镜像 (把刚刚下载安装过的工具镜像给固化)

[root@localhost ~]# docker commit -p c09cc1eeb5df feixiangkeji974907/nginx:curl

  • 6、把镜像推送到仓库

[root@localhost ~]# docker push feixiangkeji974907/nginx:curl

五、容器自启动

Docker提供了restart policy机制,可以在容器退出或者Docker重启时控制容器能够自启动。这种Restart policy可以保证相关容器按照正确顺序启动。虽然也可以通过进程监控的方式(如systemd)来完成这种动作,但Docker还是建议尽量避免使用进程监控的方式来 "自启动" 容器。

在使用docker run启动容器时,使用--restart参数来设置:

[root@localhost ~]# docker run -m 512m --memory-swap 1G -it -p 58080:8080 --restart=always

--name bvrfis

--restart具体参数值详细信息:

no - 容器退出时,不重启容器;

on-failure - 只有在非0状态退出时才从新启动容器;

always - 无论退出状态是如何,都重启容器;

如果创建时未指定 --restart=always ,可通过update 命令设置

docker update --restart=always 容器名称

六、容器拷贝文件

  • 1、从容器里面拷文件到宿主机

【在宿主机里面执行以下命令】

docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径

示例: 假设容器名为testtomcat,要从容器里面拷贝的文件路为:/usr/local/tomcat/webapps/test/js/test.js, 现在要将test.js从容器里面拷到宿主机的/opt路径下面,那么命令应该怎么写呢?

docker cp testtomcat:/usr/local/tomcat/webapps/test/js/test.js /opt

  • 2、从宿主机拷文件到容器里面

【在宿主机里面执行如下命令】

docker cp:要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径

示例:假设容器名为testtomcat,现在要将宿主机/opt/test.js文件拷贝到容器里面的/usr/local/tomcat/webapps/test/js路径下面,那么命令该怎么写呢?

docker cp /opt/test.js testtomcat:/usr/local/tomcat/webapps/test/js

curl查看swift状态命令_微服务之——docker高级命令相关推荐

  1. curl查看swift状态命令_前端应该会的23个linux常用命令

    (给前端大学加星标,提升前端技能.) 作者:null仔 https://segmentfault.com/a/1190000021439560 1.ls 命令 : 显示目录内容列表 Linux ls ...

  2. curl查看swift状态命令_HTTP 请求与响应包括哪些,如何用Chrome查看 HTTP 请求与响应内容和curl 命令的使用...

    1.HTTP的请求和响应其实就是通过电脑上的软件来进行的,客户端请求的内容发送到服务器上,服务器收到请求后就会响应客户端的请求,如图: HTTP请求的内容及格式: 请求最多包含四部分,最少包含三部分. ...

  3. docker删除镜像命令_第三章 Docker常用命令之镜像命令

    3.2 镜像命令: docker images 列出本机所有镜像docker images -a 列出本机所有镜像,包含中间映像层docker images -q 列出本机所有镜像的iddocker ...

  4. consul命令行查看服务_Go语言微服务架构实战:第十三节 微服务管理--Docker安装及运行consul节点...

    微服务管理--Docker安装及运行consul节点 搭建集群 在真实的生产环境中,需要真实的部署consul集群.在一台机器上想要模拟多台集群部署的效果,有两种方案:一种是借助虚拟机,另一种是借助容 ...

  5. 微服务笔记:第一章_微服务简介|Eureka注册中心|Nacos注册中心|Nacos配置管理|Feign|Gateway服务网关

    微服务笔记:第一章_微服务简介|Eureka注册中心|Nacos注册中心|Nacos配置管理|Feign|Gateway服务网关 1. 微服务简介 1.1 服务架构演变 1.2 SpringCloud ...

  6. 异步服务_微服务全链路异步化实践

    1. 背景 随着公司业务的发展,核心服务流量越来越大,使用到的资源也越来越多.在微服务架构体系中,大部分的业务是基于Java 语言实现的,受限于Java 的线程实现,一个Java 线程映射到一个ker ...

  7. re.containerbase.startinternal 子容器启动失败_微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计(微服务架构实施原理)...

    走过路过不要错过 点击蓝字关注我们 基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发.部署.运维管理.持续开发持续集成的流程.平台提供基础设施.中间件 ...

  8. docker的文件流处理_迁移到微服务与DevOps,微服务和Docker容器的全面实用指南

    迁移到微服务与DevOps,改变软件开发效能! 一如既往,技术行业正处于巨大的转变之中,物联网.软件定义网络以及软件即服务(SaaS)仅为其中几例.由于这些创新,对能够改进应用开发和部署过程的平台和架 ...

  9. SWIFT PLM 介绍|基于微服务架构的Swift PLM云平台

    基于微服务架构的Swift PLM云平台 1.       Swift PLM 云平台基于微服务架构 杰信软件公司致力于一系列基于PLM系统的实施及二次开发的解决方案,并在近期取得巨大进展,自主研发了 ...

最新文章

  1. 兰州计算机速成班都学什么,兰州当众讲话速成班
  2. h5 修改title 微信_微信h5网页自定义分享(标题、描述、图标)
  3. 都会五星回评,欢迎留下地址-博客之星
  4. path弧形参数 svg_如何计算圆弧(圆弧)的SVG路径
  5. js splice方法_我用JS刷LeetCode | Day 8
  6. 源码安装yui compressor
  7. [转]android MapView 定位与Overlay onTap事件处理
  8. python无限锁屏_定时锁屏程序,Python祝你原理猝死!
  9. python中没有严格意义上的私有成员_尔雅尔雅学习通APP家园的治理:环境科学概论题库及答案...
  10. Kotlin 动态代理的使用以及一些坑点
  11. gyb优化事项(3)
  12. 发布一个水管接通游戏的源代码
  13. 天啦噜,游戏音乐制作中有音乐制作人竟然还不够?
  14. 802.11协议:wifi
  15. configure: error: cannot run /bin/bash config/config.sub 解决configure配置问题
  16. 2020世界人工智能大会 -- 落地AI,赋能未来
  17. wlan:11a/11b/11g/11n/11ac
  18. STM32从零开始(四)详解GPIO库函数
  19. osa-mesa数据集介绍
  20. joycon 连不上_Nintendo Switch Joy-Con断线问题的解决方法

热门文章

  1. Web-Attak系列教程第二季0x12讲——HTTP的请求与响应格式
  2. Struts2 s:iterator 用法
  3. 一步一步学Silverlight 2系列(27):使用Brush进行填充
  4. 第二十单元 计划任务crond服务
  5. PIE SDK栅格生成等值线、面
  6. JQuery实现轮播图及其原理
  7. 总结一下在ASP.NET中开发网站的一般步骤
  8. 设置自定义ASP.NET服务器控件TagPrefix的几种方法
  9. 大数据_Flink_流式处理_简介_流数处理的发展演变---Flink工作笔记0004
  10. FPGA工作笔记0001---FPGA简介-强大的逻辑资源和恐怖的IO并行处理能力