Docker常用命令
2021-09-30 08:58:41 1 举报
AI智能生成
Docker常用命令
作者其他创作
大纲/内容
搜索镜像
docker search XXX
拉取镜像
docker pull XXX:1.0.0
查看所有镜像的image id
docker images -q
查看所有镜像
docker images
删除所有镜像
docker rmi -f $(docker images -aq)
删除镜像
docker rmi XXX
docker commit -a=\"slz\" -m=\"test\" nginx test-nginx:1.0
提交新镜像,创建新镜像
docker commit -m=\"提交的描述信息\" -a=\"作者\" 容器id 新创建的镜像名:[TAG]
查看docker镜像的历史操作
docker history XXX
镜像相关
查看正在运行的容器
docker ps
查看所有容器
docker ps -a
查看所有容器的容器id
docker ps -aq
查看容器
启动容器id或容器名XXX的容器
docker start XXX
停止容器id或容器名XXX的容器
docker stop XXX
重新启动容器id或容器名XXX的容器
docker restart XXX
删除所有容器
docker rm -f $(docker ps -aq)
删除XXX容器
docker rm XXX
强制删除容器
docker rm -f -v XXX
持续输出日志
docker logs -f XXX
查看容器的日志
docker logs XXX
进入容器内部
docker exec -it XXX bash
容器的详情
docker inspect XXX
从宿主机拷贝文件到容器
docker cp /opt/test/file.txt XXX:/opt/testnew/
从容器拷贝文件到宿主机
docker cp XXX:/opt/testnew/file.txt /opt/test/
操作容器
ctrl+Q+P退出正在运行的容器,容器不会关闭
docker run -d --name XXX -p 3344:80 -e ES_JAVA_OPTS=\"-Xms64m -Xmx512m\" nginx
查看容器的运行状态
docker stats
运行容器
容器相关
挂载mysql的日志、数据、配置,设置密码
docker run -p 3316:3306 --name mysql \\-v /mydata/mysql/log:/var/log/mysql \\-v /mydata/mysql/data:/var/lib/mysql \\-v /mydata/mysql/conf:/etc/mysql \\-e MYSQL_ROOT_PASSWORD=root \\-d mysql:5.7
docker run -it -v 主机目录:容器内目录
目录挂载
创建名字为XXX的卷
docker volume create –name XXX
可以查看到卷的具体位置
查看XXX卷的详情
docker inspect XXX
删除XXX卷
docker volume rm XXX
查看卷相关信息
查看所有的卷
docker volume ls
挂载创建的mysql-volume卷
如果docker01删除了,docker02依旧可以访问volume的数据卷,所以容器内的数据卷是拷贝的关系
数据卷容器
卷挂载
数据卷
扩展
常见命令
XXX的dockerfile文件内容
具体执行
根据XXX的dockerFlie创建一个新的testcentos的镜像注意:最后要有一个空格加.
docker build -f XXX -t docker-test/testcentos:1.0 .
自定义的文件
CentOs的dockerflile
jdk+tomcat自定义镜像的dockerfile文件内容
Dockerfile为官方指定文件名称,build时可以不用加-f
Dockerfile指令
登录DockerHub
docker login -u XXX
提交XXX的镜像到DockerHub
docker push XXX
latest的Tag不能发布,需要指定版本号,用tag命令处理后,再push
Push
dockerfile内容
启动
将dockerfile和jar包拷贝到linux上,然后build镜像
打jar包镜像
DockerFile
bridge:桥接none:不配置网络host:和宿主机共享网络
查看所有的网络列表
docker network ls
查看XXX网络id的详细信息
docker network inspect XXX
查看网络命令
启动了2个docker容器后的网络情况,同过evth-pair充当一个桥梁,连接各种虚拟网络设备。 docker容器间是可以ping通的
docker间通信的原理
docker网络,没有启动docker容器的网络情况
不支持容器名连接访问
理解docker0
支持容器名连接访问
自定义创建桥接的mynet名称的网络
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
根据自定义网络mynet,创建容器
docker run -d -P tomcat01 --net mynet tomcat
自定义网络
将一个外部的容器加入到自定义的网络中
一个容器两个ip地址
将tomcat-other容器加入到mynet网络中
docker network connect mynet tomcat-other
连通网络
网络
https://docs.docker.com/compose/gettingstarted/
https://docs.docker.com/compose/compose-file/compose-file-v3/#depends_on
compose
Docker常用命令
0 条评论
回复 删除
下一页