使用docker --help
查看docker常用命令(谷歌翻译):
Management Commands:
app* Docker 应用程序(Docker Inc.,v0.9.1-beta3)
builder 管理构建
buildx* Docker Buildx(Docker Inc.,v0.8.1-docker)
config 管理 Docker 配置
container 管理容器
context 管理上下文
image 管理图像
manifest 管理 Docker 镜像清单和清单列表
network 管理网络
node 管理 Swarm 节点
plugin 管理插件
scan* Docker 扫描(Docker Inc.,v0.17.0)
secret 管理 Docker 机密
service 管理服务
stack 管理 Docker 堆栈
swarm 管理群
system 管理 Docker
trust 管理对 Docker 映像的信任
volume 管理卷
Commands:
attach 将本地标准输入、输出和错误流附加到正在运行的容器
build 从 Dockerfile 构建镜像
commit 从容器的更改创建新图像
cp 在容器和本地文件系统之间复制文件/文件夹
create 创建一个新容器
diff 检查容器文件系统上文件或目录的更改
events 从服务器获取实时事件
exec 在正在运行的容器中运行命令
export 将容器的文件系统导出为 tar 存档
history 显示图像的历史
images 列出图像
import 从 tarball 导入内容以创建文件系统映像
info 显示系统范围的信息
inspect 返回有关 Docker 对象的低级信息
kill 杀死一个或多个正在运行的容器
load 从 tar 存档或 STDIN 加载图像
login 登录到 Docker 注册表
logout 从 Docker 注册表中注销
logs 获取容器的日志
pause 暂停一个或多个容器内的所有进程
port 列出容器的端口映射或特定映射
ps 列出容器
pull 从注册表中提取图像或存储库
push 将图像或存储库推送到注册表
rename 重命名容器
restart 重启一个或多个容器
rm 移除一个或多个容器
rmi 移除一张或多张图片
run 在新容器中运行命令
save 将一个或多个图像保存到 tar 存档(默认流式传输到 STDOUT)
search 在 Docker Hub 中搜索图像
start 启动一个或多个停止的容器
stats 显示容器资源使用统计的实时流
stop 停止一个或多个正在运行的容器
tag 创建一个引用 SOURCE_IMAGE 的标记 TARGET_IMAGE
top 显示容器的运行进程
unpause 取消暂停一个或多个容器中的所有进程
update 更新一个或多个容器的配置
version 显示 Docker 版本信息
wait 阻塞直到一个或多个容器停止,然后打印它们的退出代码
以es为例:
1.拉取镜像
docker pull kibana:7.4.2
2.查看本地镜像库
[root@lix ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
elasticsearch 7.4.2 b1179d41a7b4 2 years ago 855MB
3.创建本地映射目录
[root@lix ~]# mkdir -p /mydata/es/config # 本地配置文件映射目录
[root@lix ~]# mkdir -p /mydata/es/data # 本地数据映射目录
[root@lix ~]# echo "http.host: 0.0.0.0" >> /mydata/es/config/elasticsearch.yml # 允许远程机连接。这里要注意host: 后面有个空格,否则yml文件解析会出错
[root@lix ~]# chmod -R 777 /mydata/es # 授权docker文件操作
4.启动服务
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-v /mydata/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/es/data:/usr/share/elasticsearch/data \
-v /mydata/es/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2
# 结尾的 \ 表示换行符
# docker run --name elasticsearch 创建一个es容器并起一个名字;
# -p 9200:9200 将linux的9200端口映射到docker容器的9200端口,用来给es发送http请求
# -p 9300:9300 9300是es在分布式集群状态下节点之间的通信端口
# -e 指定一个参数,当前es以单节点模式运行
# 注意,ES_JAVA_OPTS非常重要,指定开发时es运行时的最小和最大内存占用为64M和128M,否则就会占用全部可用内存
# -v 挂载命令,将虚拟机中的路径和docker中的路径进行关联
# -d 后台启动服务
当我写到这儿的时候发现一篇非常好的文章《史上最全docker教程》,“既然有这么好的文章干嘛我还要自己写?”