Docker常用命令总结

帮助命令
docker 命令 --help
帮助命令
镜像命令
docker version
显示docker的版本信息
docker login -u + dockerhub用户名
登录dockerhub远程仓库
docker logout
退出登录
docker info
显示docker的系统信息,包括镜像和容器数量等
docker images
查看所有本地主机上的镜像
docker images -a
查看所有本地主机上的镜像
docker images -q
只显示镜像的id
docker images -aq
列出所有镜像的id
docker search + 镜像名(mysql nginx)
搜索镜像
docker search --filter
过滤搜索镜像
docker search --filter=STARS=3000
搜索出STARS大于3000的mysql镜像
docker pull + 镜像名(mysql nginx)
下载镜像,默认下载最新版本
docker pull + 镜像名:版本号
下载镜像,指定版本
docker rmi -f + 镜像id
删除镜像
docker rmi -f + 镜像id1 镜像id2 镜像id3
删除多个镜像
docker rmi -f $(docker images -aq)
删除所有镜像
docker build -f + 文件名 + -t + 镜像名:版本号+ .
自定义镜像,构建Dockerfile文件,注意最后加一个.
-f 说明当前是哪个文件需要构建。如果文件名为Dockerfile
,就可以不用-f来指定
提交镜像到远程仓库的步骤:1.docker commit 2.docker tag 3.docker push
2和3也可以一步完成!
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名(自己命名):【TAG】(自己命名)
提交镜像
docker tag +镜像id +dockerhub用户名/自定义镜像名:tag
重命名镜像-----docker
比如:docker tag e77b61ff8ac3 xxx1361/tomcat:1.0
docker push + docker tag重命名后的镜像名和版本号
push镜像到dockerhub,使用经过docker tag重命名后的镜像
比如:docker push xxx1361/tomcat:1.0
docker push + dockerhub用户名/自定义镜像名:【tag】自定义版本号
push镜像到dockerhub,未使用经过docker tag重命名后的镜像
docker tag + 镜像id+阿里云镜像服务新建仓库时生成的目录:版本号
重命名镜像-----aliyun
比如:docker tag e77b6ff8ac3 registry.cn-hangzhou.aliyuncs.com/test/tomcat-test:2.0
docker push + tag重命名后的镜像名和版本号
push到阿里云镜像仓库,使用经过docker tag重命名后的镜像,比如:docker push registry.cn-hangzhou.aliyuncs.com/test/tomcat-test:2.0
docker push + 镜像id +镜像目录(每次创建镜像仓库,阿里云生成的目录):【tag】自定义版本号
push到阿里云镜像仓库,未使用经过docker tag重命名后的镜像
docker pull + tag重命名后的镜像名和版本号(docker images查看)
docker pull registry.cn-hangzhou.aliyuncs.com/test/tomcat-test:2.0
容器命令 有了镜像才可以创建容器
docker create + 镜像名
新建容器,不启动
docker run 【可选项】+ 镜像名
新建容器并启动
docker run --name nginx01 -p 2233:80 nginx
启动多个容器时,使用--name进行区分容器,2233表示可以通过2233端口访问docker中nginx的80端口中的内容
docker run -d + 镜像名
以后台方式运行
docker run -it + 镜像名
使用交互方式运行,可进入容器查看内容
docker run -p 主机端口:容器端口 + 镜像名
指定容器的端口
docker run -P + 镜像名
随机指定端口
docker run -it centos /bin/bash
以交互方式创建并启动主机名为centos的容器
docker ps
列出当前正在运行的容器
docker ps -a
列出当前正在运行的容器+历史运行过的容器
docker ps -n=?
列出最近运行的几个容器
docker ps -q
显示所有正在运行的容器的id
docker ps -aq
列出所有容器的id,包括未运行和运行过的容器
exit
退出容器,容器停止
Ctrl+P+Q
退出容器,容器不停止
docker rm 容器id
删除指定的容器,不能删除正在运行的容器,可以使用rm -f强制删除
docker rm -f $(docker ps -aq)
强制删除所有容器
docker diff + 容器id
查看容器变化
docker start + 容器id
启动容器
docker restart + 容器id
重启容器
docker stop + 容器id
停止当前正在运行的容器
docker kill + 容器id
强制停止当前容器,如果docker stop失败时可以使用docker kill
docker pause + 容器id
暂停容器
docker unpause + 容器id
取消暂停容器
docker logs
打印日志
docker logs -tf
查看包含时间戳和输出内容在内的日志信息
docker logs -tail +条数
查看指定条数的日志信息
docker top + 容器id
查看容器中的进程信息
docker inspect + 容器id
查看镜像元数据
docker exec -it + 容器id /bin/bash
方式1:进入已运行的容器。进入容器后开启另一个新的终端,可以在里面操作【常用】
docker attach + 容器id
方式2:进入已运行的容器。进入正在执行的终端,不会启动新的进程
ps -ef
查看容器中运行的进程,进入运行的容器后,在容器中使用
touch+ 文件名.文件类型
创建文件
docker cp + 容器id:容器内路径 目的主机路径
从容器中拷贝文件到主机上
curl+地址:端口号
用于测试访问服务
docker stats
查看CPU的状态
docker volume ls
查看所有卷
docker history + 镜像id
查看镜像的构建过程
数据卷挂载
docker run -it -v 宿主机目录:容器内目录
指定路径挂载
docker run -d -v + 数据卷名:容器内路径
具名挂载
docker run -d -v + 容器内路径
匿名挂载
VOLUME ["自定义名字","自定义名字
","自定义名字"]
通过dockerfile文件自动挂载,挂载目录自动生成
docker volume ls
查看所有卷
docker volume inspect + 数据卷名
查看数据卷的详细信息。包括卷挂载的目录等。
所有的docker容器内的卷,没有指定目录的情况下,都是在/var/lib/docker/volumes/卷名/_data下
docker run -e
配置密码
比如:docker run -d -p 3300:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:8.0
数据卷容器--------实现容器内的卷数据同步,前提是容器内有两个数据卷
docker run -it --name=docker02 --volumes-from docker01 + 镜像id
启动并将docker02挂载到docker01
docker网络
docker network ls
查看所有的网络
docker --link
容器互联 (不建议使用)
比如:docker run -d -P --name tomcat02 --link tomcat01 tomcat,这样tomcat02就可以ping通tomcat01
docker --net
指定网络模式,默认是bridge ,对应网桥为docker0
docker run -d -P --name tomcat01 --net host tomcat
docker network create + 配置信息 + 网络名
自定义网络
比如:docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
docker network connect + 网络名 + 容器名
网络连通
连接一个容器到网络,一个容器两个ip地址;就好比阿里云服务器:公网IP、私网IP
apt update
更新软件命令
apt install -y iproute2
安装iproute2工具包
iproute2包含了ifconfig、arp、route、netstat等命令
apt install -y iputils-ping
安装ping命令
容器编排(docker-compose )
docker-compose up
前台启动compose
docker-compose up -d
后台启动compose
docker-compose up --build
构建并启动compose
docker-compose down Ctrl+C
停止compose
集群的管理和编排(docker-swarm)
yum install -y gcc
在服务器进行同步操作。
集群时,先执行这个命令,就可以同时在几台服务器上安装工具
docker swarm init --advertise-addr + 地址
生成主节点,初始化节点
docker swarm join-token manager
获取/生成manager(主)令牌
docker swarm join-token worker
获取/生成worker(从)令牌
docker swarm join --token + 令牌
加入节点
docker node ls
查看节点
docker swarm leave
离开集群
docker service --help
查看服务的帮助命令
docker service create -p 宿主机端口:容器端口 --name + 自定义服务name + 镜像名
启动服务
docker service ps + 服务名
查看正在运行的服务
docker service inspect + 服务名
查看服务的详细信息
docker service update --replicas + 数量 + 服务名
服务扩缩容
docker service scale 服务名=数量
docker service rm + 服务名
移除服务
docker service create --mode replicated --name + 服务名 镜像:tag
服务以副本服务的方式运行,默认是replicated
docker service create --mode global --name + 服务名 镜像:tag
服务以全局服务的方式运行
 
 
 
posted @ 2022-09-09 13:33  jkal  Views(51)  Comments(0Edit  收藏  举报