首页 > 其他 > 详细

Docker常用命令 基础-网络

时间:2021-04-30 15:14:21      阅读:21      评论:0      收藏:0      [点我收藏+]

Docker常用命令 基础-网络

帮助命令

docker version 显示docker的版本信息。
docker info 显示docker的系统信息,包括镜像和容器的数量
docker [命令] --help 帮助命令

镜像有关命令:

docker images 列出所有镜像

docker build [Dockerfile] . 根据Dockerfile制作镜像

docker pull [image name] [:tag] 从镜像仓库拉取镜像

docker push [url] 向镜像仓库推送镜像 docker push 192.168.204.241:8888/ccsy/manage-service:1.0

docker rmi -f 强制删除镜像

docker rmi -f ${docker images -aq} 强制删除所有镜像

容器有关命令:

docker run [镜像id] 新建容器并启动
docker run [可选参数] [镜像id]
参数说明
--name 容器名字 ,用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容

-v 挂载文件目录 -v [宿主机文件目录]:[容器文件目录]

-p 指定容器的端口 -p 8080(宿主机):8080(容器)
-p ip:主机端口:容器端口
-p 主机端口:容器端口(常用)
-p 容器端口
容器端口
-P(大写) 随机指定端口
docker ps 列出所有运行的容器 docker container list
docker ps 命令 列出当前正在运行的容器
-a, --all Show all containers (default shows just running)
-n, --last int Show n last created containers (includes all states) (default -1)
-q, --quiet Only display numeric IDs
docker rm [容器id] 容器id 删除指定容器
docker start [容器id] 启动容器
docker restart [容器id] 重启容器
docker stop [容器id] 停止当前正在运行的容器
docker kill [容器id] 强制停止当前容器
exit 容器直接退出
ctrl +P +Q 容器不停止退出

显示日志

docker logs -t --tail [n] [容器id] 查看n行日志

docker logs -tf [容器id] 跟着日志
-tf 显示日志信息(一直更新)

--tail number 需要显示日志条数

查看镜像的元数据

docker inspect [容器id]

进入当前正在运行的容器

方式一:

docker exec -it [容器id] /bin/bash 进入容器

方式二:

docker attach [容器id]

其他命令:

手动拷贝容器中的文件:docker cp 容器路径 主机路径

将操作后的容器通过 commit 提交为一个镜像,以后就可以使用改进后的镜像

docker commit -m "提交的描述信息" -a "作者" 容器id 目标镜像名:[tag]

docker commit -m redis03 -a wang 1cb03fa12b54 redis03:1.0

Dockerfile命令:

FROM # 基础镜像,一切从这里开始构建
MAINTAINER # 镜像的作者,姓名+邮箱
RUN # 镜像构建时增加额外的运行命令
ADD # 集成镜像,添加内容
WORKDIR # 镜像的工作目录
VOLUME # 镜像的挂载目录
EXPOSE # 镜像的暴露端口
CMD # 指定容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT # 指定容器启动的时候要运行的命令,可以直接追加命令
ONBUILD # 当构建一个继承的镜像时触发的指令
COPY # 类似ADD,将文件拷贝到镜像中
ENV # 构建时设置环境变量

技术分享图片

docker 网络

技术分享图片

tomcat01 和 tomcat02 共用一个路由器 docker0。所有的容器在不指定网络的情况下,都是通过 docker0 实现路由。容器通过 veth-pair 技术取得网卡,使用 Docker 默认的 docker0 桥接模式实现路由,使得容器间可以通过 ip 地址 ping 通。如果容器被删除了,容器的网络也就消失了。

容器网络连通虽然可以直接实现容器互联,但其局限性很大,所以自定义网络一般使用桥接模式。

  1. docker network ls 查看docker所有网络

  2. 通过 docker network create --driver[网络模式] --subnet [子网网段] --gateway [网络ip] [netname] 命令创建自定义网络。

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

  1. 将容器与网络绑定--net [netname]

docker run -d -P --name tomcat-net-01 --net mynet tomcat
docker run -d -P --name tomcat-net-02 --net mynet tomcat

  1. 查看网络信息docker network inspect [netname]

docker network inspect mynet

  1. tomcat-net-01和 name tomcat-net-02容器间就可以ping通了

    技术分享图片

  2. 通过docker network connect命令打通容器与自定义网络。

    docker network connect mynet tomcat01

  3. 此时tomcat01就可以和name tomcat-net-01、name tomcat-net-02 ping通,但是tomcat02无法ping通。

Docker常用命令 基础-网络

原文:https://www.cnblogs.com/hooong/p/14721552.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!