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

  • 微服务之——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

e91bcfec06101aa61a249dfd592ccdbc.png
  • 3.启动nginx镜像

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

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

89d670a4bc27e3576fe8900aaa17a36a572daff46c12d4995c2fcf35d5107a87

ea4308dd52cbc04d4ece35df739b5349.png

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

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

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

[root@localhost ~]# curl 127.0.0.1:80

060ff265006740c601495b164d7476e6.png

二.挂载数据(以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

82fd7e456143402efd5751265b9ff60a.png

三.传递环境变量

  • 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

d234f363966b67c34e2754a1d752b4c5.png

四.容器内安装软件

  • 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

50cf2602a8cebab171d4f6f0963cbf86.png
  • 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

17f315a7294ae821989b4e047d3718fe.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值