docker容器使用

docker的指令比较多。可以通过:docker --help来查看所有的命令。

这里拿一些比较常用的指令做一些操作和说明:

如果不输出个hello,world。总会感觉少了点什么。。。。。。

root@lchHostName:~# docker run ubuntu:latest /bin/echo "Hello world"
Hello world
root@lchHostName:~# 

参数说明:

/bin/echo "Hello world": 在启动的容器里执行的命令

 

查看所有容器:

docker ps -a

结果显示如下:

root@lchHostName:~# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
9882e34a37e5        redis               "docker-entrypoint..."   4 minutes ago       Up 4 minutes                6379/tcp            priceless_wilson
2fd577d50b86        ubuntu:latest       "/bin/echo 'Hello ..."   13 minutes ago      Exited (0) 13 minutes ago                       modest_colden
b7daa3f081f6        nginx               "nginx -g 'daemon ..."   24 minutes ago      Exited (0) 14 minutes ago                       infallible_brattain
root@lchHostName:~#

run

创建一个新的容器并运行一个命令。

语法:

docker run [OPTIONS] image [command] [ARG......]

OPTIONS说明:

-a stdin  指定标准输入输出类型,可选STDIN或STDOUT或STDERR

-d 后台运行

 

logs查看容器的 标准输出:

docker logs 容器ID

我们就拿上面拿到的一大把docker里挑一个容器ID为2fd577d50b86        的容器,看看它的标准输出内容都是什么:

root@lchHostName:~# docker logs 2fd577d50b86
Hello world
root@lchHostName:~# 

可以看到内容Hello world就是我们在文章开始时输出的内容。

 

进入容器:

docker exec -i -t 容器ID或名字 /bin/bash

那如何退出容器?

在容器里执行exit指令即可。

 

stop     停止容器

docker stop 容器名或容器ID

 

接下来我们试着运行一个web应用程序:

root@lchHostName:~# docker pull training/webapp
Using default tag: latest
latest: Pulling from training/webapp
e190868d63f8: Pull complete 
909cd34c6fd7: Pull complete 
0b9bfabab7c1: Pull complete 
a3ed95caeb02: Pull complete 
10bbbc0fc0ff: Pull complete 
fca59b508e9f: Pull complete 
e7ae2541b15b: Pull complete 
9dd97ef58ce9: Pull complete 
a4c1b0cb7af7: Pull complete 
Digest: sha256:06e9c1983bd6d5db5fba376ccd63bfa529e8d02f23d5079b8f74a616308fb11d
Status: Downloaded newer image for training/webapp:latest
root@lchHostName:~# 

-d    让容器在后台运行

-P    让容器IP映射到我们的主机上。

此时再次用docker ps -a查看我们所有的容器。可以看到刚才起的那个WEB容器的PORT项多了端口信息:

0.0.0.0:32768->/tcp意思是我们主机上的32768端口映射到了容器的5000端口上。

 

此时我们就访问一下32768端口的接口信息:

root@lchHostName:~# curl "http://172.18.165.68:32768"
Hello world!root@lchHostName:~# 
root@lchHostName:~# 

打印了Hello world!

我们也可以通过-p另起一个不同的端口:

docker run -d -p 5000:5000  training/webapp   python app.py

如果想查看某个容器的具体端口映射情况,也可以使用:

docker prot 容器ID

root@lchHostName:~# docker port 60982a2c3665
5000/tcp -> 0.0.0.0:32768
root@lchHostName:~# 

查看WEB应用程序的日志:

root@lchHostName:~# docker logs -f 60982a2c3665
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
172.18.165.68 - - [29/Oct/2018 16:23:54] "GET / HTTP/1.1" 200 -

-f     让日志文件像tail -f一样输出。

 

检查web应用程序

docker inspect 容器ID

可以查看docker的底层信息。

停止web容器、重启web容器和普通容器一样,也是stop  、start

 

查询最后一次创建的是哪个容器:

docker ps -l 

 

移除容器:

docker rm 容器名或容器ID

注意:被移除的容器必须是停止状态,否则会删除失败。

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值