|
命令 |
选项 |
说明 |
示例 |
|
Sudo systemctl start docker |
启动docker | ||
|
sudo systemctl status docker |
查看docker状态 | ||
|
Docker images |
-a -q |
查看所有镜像 | |
|
docker search 镜像tag |
搜索仓库中的镜像,相当于网页搜索 (http://hub.docker.com) (不同与maven,docker只有一个仓库,没有本地仓库,但是有本地镜像) | ||
|
docker pull镜像名:版本号 |
下载mysql镜像(默认lastest版本) |
docker pull mysql:5.7 | |
|
docker rmi -f id(name) |
删除一个镜像(-f:删除所有镜像) |
docker rmi -f id id id docker rmi -f $(docker images -aq) # images -aq就是查所有镜像id,从而递归删除 | |
|
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG] |
提交容器成为一个新的副本(本地镜像) Tag就是版本(进入容器进行一些修改,然后将其保存为新的副本) | ||
|
docker run [可选参数] image名 |
--name=“Name” # 容器名字,用于区分容器 -d 后台方式运行 -it 使用交互方式运行,进入容器查看内容 -v:容器卷; -e: 环境配置(比如:安装启动mysql需要配置密码) -p 指定容器的端口 如-p 8080::8080 -p ip:主机端口:容器端口 -p 主机端口:容器端口 -p 容器端口
-p 随机指定端口 |
新建容器并启动 通过主机端口,可以访问到容器端口 以交互的方式来运行,就可以进入和退出。 以后台的方式运行的时候,docker ps查看不到 |
docker run -d centos /bin/sh -c "while true;do echo shenzai;sleep 1;done" 运行容器,并在里面及一个shell脚本 |
|
docker run -it centos |
进入容器,然后就可以输入容器可以识别的命令。比如:centos容器:ls当命令来查看容器内部;tomcat容器就可以cd webapps Exit:退出容器 | ||
|
docker ps[选项] |
-a:查看曾经运行的容器 -q:只显示容器号 |
查看正在运行的容器 | |
|
exit Ctrl + P + Q |
exit # 容器停止退出 Ctrl + P + Q # 容器不停止退出 注意必须在英文输入法下,中文输入法不行 | ||
|
docker rm 容器id |
# 删除指定容器 不能删除正在运行的容器,如果强制删除 rm -f $(docker ps -aq) :# 删除所有容器 docker rm -f | ||
|
docker start容器id | |||
|
docker restart容器id | |||
|
docker stop容器id |
停止当前运行的容器 | ||
|
docker kill容器id |
强制停止当前运行的容器 | ||
|
docker logs 【option】容器id |
docker logs -f -t --tail n 【id】 -f :日志的格式; -t:时间戳显示; --tail :显示 |
查看容器日志 | |
|
docker inspect容器id |
查看正在运行的容器内部信息(包括容器里面运行的脚本、配置等信息) | ||
|
docker exec -it 容器id bashSHELL |
(bashshell:默认的一个命令行工具) (bashshell也可以换成其它的命令,比如:ip addr,就是启动时执行的命令) |
进入当前正在运行的容器(Ctrl + P + Q 后再次进入容器;或者后台方式运行的容器) 进入容器后开启一个新的终端,可以在里面操作 |
docker exec -it tomcat01 ip addr, 发现容器启动的时候得到一个eth0@if115 ip地址,docker分配的! |
|
docker attach容器id |
进入当前正在运行的容器(进入容器正在执行的终端,不会启动新的进程) | ||
|
docker cp 容器id(容器名)/路径 主机路径 |
从容器内拷贝文件到主机上(或者反方向) |
docker cp 0569081aa89c:/home/test.java /home | |
|
docker stats |
查看内容占用 | ||
|
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG] |
提交容器成为本机的一个镜像 |
docker commit -a="paidaxing" -m="add webapps app" 当前容器的id tomcat02:1.0 | |
|
docker run -it -v 容器外目录:容器内目录 镜像名 |
数据卷的挂载命令(多个目录挂载,用多个-V) -v 容器内路径(匿名挂载,生成一串字符作为卷名); -v 卷名:容器内路径(具名挂载,有默认的存放目录) -v /宿主机路径:容器内路径(指定路径挂载) |
docker run -d -p 3310:3306 -v /home/test:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql | |
|
Docker volume ls(list) |
查看所有的数据卷(可以看得到卷名:volume name,就是-v的时候指定的名字,如果没有指定就是默认的一串数字) | ||
|
Docker volume inspect 卷名 |
查看卷的详细信息(有挂载路径) | ||
|
docker build -f 文件名 -t镜像的名字: tag |
通过写dockerfile脚本创建镜像(可以在脚本里面指定挂载) |
docker build -f dockerfile1 -t padaxing/centos:1.0 . # 最后的点很重要 镜像名不能有/ | |
|
docker run -it --name 容器名 --volumes-from 挂载的容器名j镜像名:tag |
在启动时将新启动的容器挂载在另一个数据卷容器上,可以实现容器间数据共享 |
docker run -it --name docker02 --volumes-from docker01 padaxing/centos:1.0 | |
|
docker push |
发布镜像到本地,之后就都可以使用这个镜像来创建出新的容器了。 | ||
|
docker history 镜像id |
可以通过查看docker构建历史(镜像是怎么一步一步构建起来的) | ||
|
docker push本地镜像名 注册用户名/发布镜像名:tag |
发布自己的镜像到Docker Hub。(发布前要先docker login -u 用户名 登录一下 ) |
docker push diytomcat 1234/tomcat:1.0 | |
|
Docker save |
把镜像打包成jar,发给别人使用。 | ||
|
Docker load |
解压jar成docker镜像 | ||
|
Docker network ls |
查看容器中的网络 | ||
|
Docker network inspect 网络id(网络名) |
查看一个网络的配置,包括:驱动、子网掩码、网关等 |
docker network inspect mynet
| |
|
docker exec -it启动容器名 ping 连接容器的网络ip |
进入容器,并连接另一个网络。 | ||
|
docker run -d -P --name 启动容器名 --link 连接容器名 启动镜像名 |
在容器启动的时候,通过容器名实现容器间的连通。 之后就可以通过容器名的方式ping了。 |
docker run -d -P --name tomcat03 --link tomcat02 tomcat; docker exec -it tomcat03 ping tomcat02 | |
|
docker network create --driver 驱动方式 –subnet 子网掩码 --gateway 网关 定义网络名 |
自定义网络 (subnet定义了可以为网络中容器分配的ip;gateway是网络中容器通信的桥梁 ) 在自定义网络中ping的时候,可以直接通过容器名 |
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet | |
|
docker run -d -P --name 容器名 --net 网络名 镜像名 |
在自定义网络中启动一个容器 |
docker run -d -P --name tomcat-net-02 --net mynet tomcat | |
|
docker network connect 要连接的网络名 容器名 |
将容器也放在新放的网络下,这样该容器就可以直接访问新的网络下的容器了。 |
docker network connect mynet tomcat01 |
docker常用命令
最新推荐文章于 2025-02-01 09:14:09 发布
1687

被折叠的 条评论
为什么被折叠?



