网站首页 > 技术文章 正文
概述
这里分享下之前总结的关于docker常用的一些命令,也做个备忘吧,最近记忆力不好。
1、查看Docker信息(version、info)
1.1、查看docker版本
$docker version
1.2、显示docker系统的信息
$docker info
2、对image的操作(search、pull、images、rmi、history)
2.1、检索image
$docker search image_name
2.2、下载image
$docker pull image_name
2.3、列出镜像列表
$docker images
2.4、删除一个或者多个镜像
$docker rmi image_name
2.5、显示一个镜像的历史
$docker history image_name
3、启动容器(run)
docker容器可以理解为在沙盒中运行的进程。这个沙盒包含了该进程运行所必须的资源,包括文件系统、系统类库、shell 环境等等。但这个沙盒默认是不会运行任何程序的。你需要在沙盒中运行一个进程来启动某一个容器。这个进程是该容器的唯一进程,所以当该进程结束的时候,容器也会完全的停止。
3.1、在容器中运行"echo"命令,输出"hello word"
$docker run image_name echo "hello word"
3.2、交互式进入容器中
$docker run -it image_name /bin/bash
3.3、在容器中安装新的程序
$docker run image_name apt-get install -y app_name
PS: 在执行apt-get 命令的时候,要带上-y参数。如果不指定-y参数的话,apt-get命令会进入交互模式,需要用户输入命令来进行确认,但在docker环境中是无法响应这种交互的。apt-get 命令执行完毕之后,容器就会停止,但对容器的改动不会丢失。
4、查看容器(ps)
4.1、列出当前所有正在运行的container
$docker ps
4.2、列出所有的container
$docker ps -a
4.3、列出最近一次启动的container
$docker ps -l
5、保存对容器的修改(commit)
当你对某一个容器做了修改之后(通过在容器中运行某一个命令),可以把对容器的修改保存下来,这样下次可以从保存后的最新状态运行该容器。
# 保存对容器的修改
$docker commit ID new_image_name
PS: image相当于类,Container相当于实例,不过可以动态给实例安装新软件,然后把这个container用commit命令固化成一个image。
6、对容器的操作(rm、stop、start、kill、logs、diff、top、cp、restart、attach)
6.1、删除所有容器
$docker rm `docker ps -a -q`
6.2、 删除单个容器
$docker rm Name/ID
6.3、停止、启动、杀死一个容器
$docker stop Name/ID
$docker start Name/ID
$docker kill Name/ID
6.4、从一个容器中取日志
$docker logs Name/ID
6.5、列出一个容器里面被改变的文件或者目录
list列表会显示出三种事件,A 增加的,D 删除的,C 被改变的
$docker diff Name/ID
6.6、显示一个运行的容器里面的进程信息
$docker top Name/ID
6.7、从容器里面拷贝文件/目录到本地一个路径
$docker cp Name:/container_path to_path
$docker cp ID:/container_path to_path
6.8、重启一个正在运行的容器;
$docker restart Name/ID
6.9、附加到一个运行的容器上面
$docker attach ID
ps: attach命令允许你查看或者影响一个运行的容器。可以在同一时间attach同一个容器。也可以从一个容器中脱离出来。
7、保存和加载镜像(save、load)
当需要把一台机器上的镜像迁移到另一台机器的时候,需要保存镜像与加载镜像。
7.1、保存镜像到一个tar包
$docker save image_name -o file_path
7.2、加载一个tar包格式的镜像
$docker load -i file_path
8、发布image(push)
# 发布docker镜像
$docker login (输入账号密码)
$docker push new_image_name
9、根据Dockerfile 构建出一个容器
#build
--no-cache=false Do not use cache when building the image
-q, --quiet=false Suppress the verbose output generated by the containers
--rm=true Remove intermediate containers after a successful build
-t, --tag="" Repository name (and optionally a tag) to be applied to the resulting image in case of success
$docker build -t image_name Dockerfile_path
关于docker的一些常用命令就分享到这了,大家也可以在测试环境跟着敲一下,熟悉相关命令。
后面会分享更多关于devops和DBA方面的内容,感兴趣的朋友可以关注下!!
猜你喜欢
- 2024-10-14 Docker Overlay 网络学习 dockercompose 网络
- 2024-10-14 盘点c++几种常见的设计模式及具体实现
- 2024-10-14 Docker新手福音!这个开源控制面板让你更快上手Docker
- 2024-10-14 Docker-掌握这三种方法,创建自己的docker镜像
- 2024-10-14 docker 基础概念 docker基于什么
- 2024-10-14 小白也能轻松上手,深度体验绿联私有云DX4600 Docker功能
- 2024-10-14 Docker最佳实践的反模式 docker反向代理
- 2024-10-14 docker中容器如何实现通信 docker容器之间如何通信
- 2024-10-14 工程化Docker:确保应用程序的可靠性、可扩展性和可维护性
- 2024-10-14 使用pipework将Docker容器配置到本地网络环境中
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)