Docker常用命令以及讲解

查看docker版本: docker version
查看docker系统信息: docker info
列举全部镜像: docker images
搜索镜像: docker search 搜索镜像名字
拉去镜像: docker pull 镜像名字
删除单个镜像: docker rmi -f 容器id
删除多个镜像: docker rmi -f 容器id 容器id 容器id
启动镜像: docker run 镜像名字
		--name	  起一个名字
		-d 		 后台运行
		-it          交互的方式运行
		-p			 指定容器的端口好
	    docker run -it ubuntu /bin/bash
docker快照:docker commit -m=“描述信息” -a=“作者” 容器ID 目标镜像名:[TAG]
docker的数据卷:docker run -it -v 宿主机目录:容器目录 镜像名
有名字的挂在:# docker run -d --name nginx3 -v JM:/etc/nginx:rw nginx
没有名字的挂在:# docker run -d --name nginx3 -v /etc/nginx:rw nginx
查看数据挂在卷:docker volume ls
查看挂在具体情况:docker volume inspect JM
简单的dockerfile编写

vim dockerfile1

FROM ubuntu			#来源的基础镜像

VOLUME ["volume1","volume2"]	#挂在的目录(这里是有名字挂在默认会挂在到docker默认挂在的目录)

CMD echo "====successfully===="		# 指定可以执行的命令
 
CMD /bin/bash
执行构建docker镜像的命令:docker build -f dockerfile1 -t xiaomotong/ubuntu .
	docker build		# 构建自己的镜像
	-f						# 指定dockerfile的文件
	-t						# 构建成docker镜像的名字
	docker inspect  容器id 		# 查看某个容器的详细信息
dockerfile基础知识
1.每个dockerfile的保留字,必须都是大写
2.dockerfile脚本执行是按照顺序执行的
3.# 表示注释
4.每个命令都会创建一个新的镜像层,并且提交
dockerfile基础命令
1.		FROM:   								基础镜像,一切从这里开始
2.		MAINTAINER						指明镜像是谁写的,写自己的名字和邮箱
3.		RUN 									镜像构建的时候需要运行的命令
4.		ADD									加入某些配置,例如mysql的压缩包,添加内容
5.		WORKDIR							镜像的工作目录
6.		VOLUME								挂在目录
7.		EXPOSE								暴露端口号和 -p 一个作用
8.		CMD									执行这个容器启动的时候执行的命令,只会是最优一个指令进行生效,会被替代
9.		ENTRYPOINT						指定这个容器启动的时候执行的命令,可以追加
10.	ONBUILD							当构建一个被继承的 DockerFIle ,这个时候就会运行 ONBUILD 的指令,触发相应的动作
11.	COPY									与 ADD 类似,此命令是将文件拷贝到镜像中
12.	ENV										构建的时候设置环境变量
自己构建的dockerfile
FROM ubuntu

RUN apt-get update					# 更新源

RUN  apt-get install -y vim			# 安装 vim

RUN  apt-get install -y net-tools	# 安装 net-tools

ENV MYPATH /usr/local				# 设置环境变量
WORKDIR $MYPATH						# 设置镜像工作目录

EXPOSE 8888							# 暴露端口

CMD echo "----- end -----"			# 执行 echo 命令

CMD /bin/bash
如何发布我们创建好的镜像
1.docker login -u xxx用户名
2. 修改我们的镜像tag: docker tar 镜像id docker用户名/镜像名:版本
3. docker push  tag名		# 推送到自己的仓库中去
-link参数
docker run -it --name ubuntu3 -P --link ubuntu2 xmtubuntu	
# 既可以通过下面的名称进行通信了
-link做的是就是向hosts文件中添加了一个域名映射的文本
docker exec -it ubuntu3 ping ubuntu2
自定义网络
可以使用 docker network ls 查看宿主机 docker的网络情况
网络模式
1.bridge:桥接: docker0默认使用bridge这个名字
2.host:和宿主机共享网络
3.none:不配置网络
自动以网络
 docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
 docker network create:创建一个网络
 --driver                           指定驱动是bridge
 --subnet:						指定子网
 --gateway						指定网关
清楚所有容器
创建两个容器
此时我们可以查看一下宿主机的网卡信息,并验证两个容器直接通过容器名字是否可以通信

在这里插入图片描述

打通容器之间的通信
docker network connect mynet ubuntu3
docker network inspect mynet			# 查看详细信息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_43022682

你的鼓励是是我前进的动力,谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值