Docker常用指令
https://www.runoob.com/docker/docker-run-command.html docker run 命令
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的高端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
–name=“nginx-lb”: 为容器指定一个名称;
1 进入docker容器内部:如何进入到Docker容器内部
sudo docker exec -it containerID /bin/bash
-
docker attach containerID
//局限性太大,而且我没成功 -
docker run -itd containerID /bin/bash
//启动时就进入
退出容器且不停止exit
2容器内的文件拷进拷出
拷进:
docker cp /root/docker-admin/web.war tomcat:/usr/local/tomcat/webapps/web.war
#docker cp 本地路径 容器名称(容器ID):/usr/local/容器中的路径
拷出:
docker cp tomcat:/usr/local/tomcat/webapps/web.war /root/web.war
#docker cp 容器名称(容器ID):/usr/local/容器中的路径 本地路径
由容器生成新的镜像 https://www.runoob.com/docker/docker-commit-command.html docker commit 容器id 新镜像名
docker容器批量操作:
https://www.imooc.com/article/details/id/32810 列出所有的容器 ID docker ps -aq
停止所有的容器 docker stop $(docker ps -aq)
删除所有的容器 docker rm $(docker ps -aq)
删除所有的镜像 docker rmi $(docker images -q)
docker 查看日志
docker logs -tf --tail 10 容器名
-t打印时间 f 一直更新 --tail 只显示10条
docker 查看容器内启动的进程: docker top 容器名
在运行中启动新的进程 docker exec xxxx
查看镜像详细信息 docker inspect 镜像名
docker 网络连接 使用的docker0的虚拟网桥 (先知道方向,具体的以后在查)
docker 容器互联 ,默认是允许所有容器互联的.
为防止容器启动后容器的IP地址改变.使用–link选项
docker docker run -itd --name tomcatlink --link=centos:web tomcat
//--link=另一个容器名:别名
就可以在tomcatlink容器中通过别名web访问名为centos的容器了
禁止容器间访问:
允许特定容器间网络连接
修改docker启动配置
docker容器与外部网络连接通过 iptables (iptables是与linux内核集成的 包过滤防火墙系统 )
docker容器的数据卷
docker多个容器同时可以访问数据卷,但数据卷独立与容器.
数据卷存在与宿主机中.
docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash
#通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。
#默认挂载的路径权限为读写。如果指定为只读可以用:ro
docker run -it -v /home/dock/Downloads:/usr/Downloads:ro ubuntu64 /bin/bash
数据卷容器
挂载数据卷容器的方法
docker run --volumes-from [container name] //[container name]已经挂载数据卷容器的名字
使用数据卷容器挂载数据卷,数据卷容器的作用仅仅相当于配置.挂载之后删除数据卷容器 不影响的
数据卷备份还原
docker容器跨主机容器连接:
1\使用网桥
2\使用Open vSwitch
3\使用weave (最简单)