docker 05 容器

运行容器

docker run -d -P training/webapp python app.py

参数说明

  • run 让一个容器运行起来

  • -d 让容器在后台运行

  • -P 大写,将容器内部需要的端口随机映射到主机上

  • -p <linux_port>:<docker_port> 小写!指定端口映射

  • --restart=always 容器自启动

  • --privileged=true这个参数很重要!
    部分镜像运行会出权限问题,加此项即可解决!部分镜像加了反而报错!

  • -v <linux_path>:<docker_path> 把linux上某目录或文件挂载到容器中

  • -v <linux_path>:<docker_path>:ro,接上一条,开启只读模式

  • --mount,效果和-v一样,语法复杂点,不建议用

  • --volumes-from <container_id> 和指定的容器拥有同样的资源映射参数

  • --link <linked_container_id>:<linked_container_alias>
    容器链接,如java web容器需要链接mysql容器,我们设置–link mysql:db,这样java程序里mysqluri就可以设置成“db”了,link的作用就是为了解除对IP的依赖。(其实没必要,日常开发工作中,你完全可以将mysqluri填写宿主机ip)注意!docker官方已不推荐使用link使2个容器互相通信,随后的版本中会删除此功能

补充技能

1、如何给运行中的容器追加容器自启动?

docker update --restart=always <container_name>|<container_id>

2、如何同步宿主机的时间?

docker cp /etc/localtime <container_name>:/etc/localtime
docker restart <container_name>

查看运行中的容器

docker ps

查看所有容器

docker ps -a

查看所有容器id

docker ps -a -q

进入容器

docker exec -it <container_id> /bin/bash

若出错:docker exec -it 029e60836 /bin/bash exec: “/bin/bash”: stat /bin/bash: no such file or directory
平常的容器一般都可以执行/bin/bash,可能是alpine没有,改成下面的命令就行了:

docker exec -it <container_id> sh

查看端口映射

docker port <name>|<container_id>

查看容器日志

docker logs -f –-tail=<最近多少行日志> <container_id>

检查容器配置及状态信息

docker inspect <container_id>

重启容器

docker restart <container_id>

暂停容器

docker pause <container_id>

停止容器

docker stop <container_id>

停止全部运行中的容器

docker stop `docker ps -a -q`

移除容器

docker rm <container_id>

如果容器还在运行中,则会报错,所以请先确认容器已经停止
Error response from daemon: You cannot remove a running container 9cb4ca032ae9453b59af013f484944f296f9437daa786ab708e74a99884396e3. Stop the container before attempting removal or force remove

移除容器(强制)

docker rm -f <container_id>

移除全部已停止的容器

docker rm `docker ps -a -q`

转载请注明来源。 欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。 可以在下面评论区评论,也可以邮件至 sharlot2050@foxmail.com。

文章标题:docker 05 容器

字数:634

本文作者:夏来风

发布时间:2018-12-29, 14:52:42

原始链接:http://www.demo1024.com/blog/docker-containers/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。