Docker初学者命令

一、基础命令

1、帮助命令

docker --version   #显示docker的版本信息
docker info        #显示docker的系统信息
docker 命令 --help #显示帮助命令

2、镜像命令

2.1搜索命令

docker search mysql                     #搜索镜像
docker search --filter=STARS=5000    	#条件过滤镜像搜索结果

搜索结果列表解释
NAME:镜像名称
DESCRIPTION:镜像介绍
STARS:镜像的stars
OFFICIAL:是否是官方提供的
AUTOMATED:是不是自动化的

2.2拉取镜像

docker pull mysql       #默认拉取最新的镜像
docker pull mysql:5.7   #指定版本下载

2.3查看所有镜像

docker images -a    #查看所有镜像信息
docker images -aq   #查看所有的镜像id

搜索结果列表解释
REPOSITORY:镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像的id
CREATE:镜像的创建时间
SIZE:镜像的大小

2.4删除镜像

#删除指定id的镜像	  	
docker rmi 镜像id
docker rmi 镜像id 镜像id 镜像id 镜像id 镜像id
#删除指定名称的镜像
docker rmi mysql:5.7
#迭代删除所有的镜像
docker rmi -f $(docker images -aq)

3、容器命令

3.1运行镜像

docker run [可选参数] image
#运行实例
docker run --name=mycat -d -p 8080:8080 tomcat
#用完即删
docker run -it --rm tomcat
#指定环境变量(实例)
docker run -d --name elasticssearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="Xms64m -Xmx512m" elasticsearch:7.6.2

参数说明
--name="Name" 容器名称 tomcat01、tomcat02区分容器
-e:指定环境变量
-d:后台守护进程运行
-it:使用交互方式运行,进入容器查看内容
-p:指定容器的端口 -p:8080:8080
	-p: 主机端口:容器端口
	-p: 容器端口
-P:随机指定端口
-v:指定数据卷
	-v: 容器文件位置:宿主机文件位置
--volumes-from:指定容器的数据卷共享(指定谁,就同步谁的数据!继承!)
	--volumes-from:继承自那个容器(父容器删除不影响已存在的数据)
--net:缺省bridge

3.2进入容器

#运行一个centos并进入到容器里面
docker run -it centos /bin/bash
#退出容器
exit

3.3查看容器

#查看正在运行中的容器
docker ps
#查看所有容器
docker ps -a

3.4退出容器

#直接容器停止并退出
exit
#容器退出不停止
Ctrl + P + Q

3.5删除容器

#删除指定容器
docker rm bde0bc086cf
#强制删除运行中的容器
docker rm -f bde0bc086cf
#迭代删除全部的容器
docker rm -f $(docker ps -aq)

3.6容器的启动和停止

#启动容器
docker start 容器id
#重启容器
docker restart 容器id
#停止容器
docker stop 容器id
#强制杀死容器
docker kill 容器id

3.7进入当前正在运行中的命令

#进入到指定容器内部进行修改 开启一个新的终端
docker exec -it 0cd4d9d94de2 /bin/bash
#进入到正在运行中的终端
docker attach 容器id

3.8将文件从容器拷贝到宿主机上

docker cp 容器id:容器内文件的路径 宿主机路径
#实例
docker cp 0cd4d9d94de2:/Test.java /Test.java

3.9其他常用命令

查看日志命令

#查看容器运行产生的日志
docker logs -ft --tail 10 容器id

参数解析
	f:格式化日志
	t:携带日志时间戳

查看进程

#查看CPU等信息
docker top 0cd4d9d94de2
#查看容器元信息
docker inspect 容器id

二、可视化面板

1.安装

#安装可视化面板 partainer(数据卷路径不可改变)
docker run -d -p 8080:8080 --restart=always -v /var/run/docker.sock --privileged=true portainer/portainer

三、提交一个容器作为镜像

1、提交容器

#提交一个容器作为一个镜像(将容器打包)
docker commit [可选参数] 服务id 自定义镜像名称[:版本标签]
#示例代码提交
docker commit -a="huangfu" -m="增加了主页" 19329ae6df90 diytomcat:1.0

参数解释
-a:作者
-m:备注
-c:将Dockerfile指令应用于创建的映像
-v:提交期间暂停容器(默认为true)

四、Docker数据卷使用

1、数据卷的基本使用

#关联数据卷
docker run [可选参数] -v /主机路径/:/容器路径/ 镜像名称
#关联数据卷的实例命令
docker run -d -p 8080:8080 --name mytomcat -v /home/tomcat/webapps/:/usr/local/tomcat/webapps tomcat

2、mysql安装实战

docker run -d -p 3366:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

命令解析
-d:守护进程运行
-v:添加数据卷(宿主机位置和容器位置映射)
-p:堆对外映射端口
-e:指定环境变量
--name:容器名称

五、自定义网络

1、网络模式详解

bridge:桥接模式(默认)
host:和宿主机共享
name:不配置网络
container:容器网络联通

2、查看所有的网络模式

#查看所有的网络模式
docker network ls

3、创建自定义的网络

#创建一个网络
docker network create [OPTIONS] NETWORK
#创建一个mynet
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynety

命令解析
create 创建
driver 使用的网络模式
subnet 子网掩码
gateway 网关
mynety 自定义的名称

4、使用自定义的网络

docker run -d --net mynety --name tom01 tomcat
docker run -d --net mynety --name tom02 tomcat
#进入到tom02
docker exec -t [id] /bin/bash
#结果是互通的
ping tom01

5、容器网络通信

#把自定义网络和容器打通 
#把不在该网络的容器加入当前网络
docker network connect 自定义网络 容器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

历史难

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值