Docker常用命令记录
一切皆容器
Docker入门操作
Docker镜像操作
查看本地所有镜像
docker images
查看单个镜像信息
docker image inspect IMAGE ID
docker image inspect dd3b2a5dcb48
搜索镜像
Docker镜像官网 : https://hub.docker.com/search?image_filter=official&q=
docker search image_name
docker search tomcat
拉取镜像
docker pull tomcat:版本号 #默认是latest
docker pull tomcat
删除镜像
docker rmi -f $(docker images -q) 此命令会删除所有的docker镜像
docker rmi IMAGE ID
docker rmi f42b2599b503
运行镜像
默认是在本地找镜像运行,如果没有就从官方镜像仓库中拉镜像。换句话说,前面的docker image pull命令并不是必需的步骤。
-it 表示与容器进行交互式启动
-d 表示可后台运行容器(守护式运行)
--name 给要运行的容器 起的名字
-p port:port 宿主机端口:Docker容器端口
image_name:Tag 镜像名:版本
/bin/bash 交互路径
docker run -it -d --name other_name -p port:port image_name:Tag /bin/bash
docker run -it -d --name mysql02 -p 8888:6379 mysql:5.6.51 /bin/bash
Docker容器操作
查看本地所有实例(正在运行 + 未运行)
docker ps -a 查看所有容器
docker ps 查看正在运行的容器
docker ps -a --format 格式化参数
docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}"
查看单个容器实例信息
docker container inspect CONTAINER ID
docker container inspect 283ece3c8bbb
停止正运行的容器
docker stop CONTAINER ID
docker stop f0acd463d4bb
启动已停止的容器
docker start CONTAINER ID
docker update --restart=always CONTAINER ID #此命令是让容器随着docker的启动而启动
docker update --restart=no CONTAINER ID #此命令是让容器关闭自启
docker start f0acd463d4bb
删除停止运行的容器
docker rm -f $(docker ps -aq) 此命令会强制删除所有容器
docker rm CONTAINER ID
docker rm f0acd463d4bb
更改容器名
docker rename old_name new_name
docker rename miouo-vscode-0.0.1 mioi
将正在运行的容器打包成镜像
docker commit CONTAINER ID NEW_IMAGE_NAME:TAG
docker commit 371c1351bf50 centos:7.9.2009-new
Docker进阶操作
Docker镜像构建,保存,加载
构建镜像(Dockerfile文件根据官网文档编写)
docker build -t 指定镜像名:指定镜像版本 在当前目录构建
docker build -t miou-acmovies:0.0.1 .
保存存在的镜像到本地
docker save 镜像名称:镜像版本 > 打包后的文件名字.tar
docker save miou-acmovies:0.0.1 > ~/miou-acmovies.tar
加载本地保存的镜像
docker load -i 打包后的文件名字.tar
docker load -i miou-acmovies.tar
Docker容器操作
进入容器
docker exec -it CONTAINER NAME /bin/bash
docker exec -it --user root container_id /bin/bash #以root用户身份进入,进入后可以改root用户密码
docker exec -it mycode /bin/bash
退出容器
exit
拷贝容器内部文件到虚拟机
docker cp CONTAINER NAME:FILE LOCALPATH
拷贝虚拟机文件到容器内部
docker cp LOCALFILE CONTAINER NAME:PATH
给容器安装软件
容器内部系统为CentOS系统
docker exec -it CONTAINER ID yum update #更新容器
docker exec -it CONTAINER ID yum install vi #安装vi工具
容器内部系统为Ubuntu系统
docker exec -it CONTAINER ID apt-get update
docker exec -it CONTAINER ID apt-get install vi
docker exec -it 8133c5e54af9 yum install vi
Docker网络
查看已经存在的Docker网络
Docker默认有三个网络名分别是bridge,host,none
docker network ls
创建Docker网络
--driver bridge 表示使用桥接模式
--subnet 172.23.0.0/16 表示子网ip 可以分配 172.23.0.1 到 172.23.255.255
--gateway 172.23.0.1 表示网关
default_network表示网络名
docker network create --driver bridge --subnet 172.23.0.0/16 --gateway 172.23.0.1 default_network
查看Docker网络详情
docker network inspect 网络名
docker network inspect default_network
利用docker-compose.yaml文件将应用构建在已存在的网络内
下面的例子更换成name为default_network的网络,以下代码是用docker构建了一个Nacos应用
参考文章
很全面的Docker教程
https://blog.csdn.net/liang19890820/article/details/120500266
更全面的Docker教程
https://cloud.tencent.com/developer/article/1885678
Docker简易入门教程
https://iphysresearch.github.io/blog/post/programing/docker-tutorial/
本文作者:随枫而动
本文链接:https://www.cnblogs.com/fcloud/p/17920097.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步