Docker命令实战

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Docker命令实战

一、Docker常用命令-图谱

二、基础实战命令

2.1、查找镜像

去docker hub或者其他镜像仓库,找到nginx镜像

docker pull nginx  #下载最新版
## 镜像名:版本名(标签)
docker pull nginx:1.20.1
docker pull redis  #下载最新
docker pull redis:6.2.4
## 下载来的镜像都在本地
docker images  #查看所有镜像
redis = redis:latest
docker rmi 镜像名:版本号/镜像id

2.2、启动容器

启动nginx应用容器,并映射88端口,测试的访问

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
【docker run  设置项   镜像名  】 镜像启动运行的命令(镜像里面默认有的,一般不会写)
# -d:后台运行
# --restart=always: 开机自启
# -p 端口映射
docker run --name=mynginx   -d  --restart=always -p  88:80   nginx
# 查看正在运行的容器
docker ps
# 查看所有
docker ps -a
# 删除停止的容器
docker rm  容器id/名字
docker rm -f mynginx   #强制删除正在运行中的
#停止容器
docker stop 容器id/名字
#再次启动
docker start 容器id/名字
#应用开机自启
docker update 容器id/名字 --restart=always

2.3、修改容器内容

修改默认的index.html 页面

2.3.1、进入容器内部修改
# 进入容器内部的系统,修改容器内容  其中-it表示以交互模式进入
docker exec -it 容器id  /bin/bash
##或者
docker exec -it 容器id  /bin/sh

nginx页面的位置存放地址:

/usr/share/nginx/html/

cd /usr/share/nginx/html/
ls
##修改index.html内容
echo "<h1>Welcome to Tigerhhzz-nginx</h1>" index.html
cat index.html

访问效果:

2.3.2、挂载数据到外部修改
##本地挂载目录
/data/html
## nginx镜像的默认目录
/usr/share/nginx/html

两个目录进行关联映射:

## 其中ro代表只读 rw可读可写
docker run --name=mynginx   \
-d  --restart=always \
-p  88:80 -v /data/html:/usr/share/nginx/html:ro  \
nginx
# 修改页面只需要去 主机的 /data/html

2.4、提交改变

将自己修改好的镜像提交

把容器提交成一个新的镜像:

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
docker commit -a "tigerhhzz"  -m "首页变化" 7d383e781cd9 tigernginx:v1.0

2.5、镜像传输–将镜像保存成压缩包

docker save --help

# 将镜像保存成压缩包
docker save -o tigernginx.tar tigernginx:v1.0
# 别的机器加载这个镜像
docker load -i tigernginx.tar
# 离线安装

2.6、两台主机间压缩文件的传输拷贝

scp tigernginx.tar root@39.xx.xx.123:/root/

2.7、推送阿里云个人远程镜像仓库

推送镜像到阿里云个人镜像仓库;应用市场

##首先打标签
docker tag tigernginx:v1.0 registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigernginx:v1.0
##登录阿里云个人镜像仓库
docker login --username=aliyun2164344789 registry.cn-zhangjiakou.aliyuncs.com
##这里会提示输入登录密码 登录成功后
##推送镜像到个人仓库
docker push registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigernginx:v1.0

2.8、其他常用命令

2.8.1、查看日志
docker logs 容器名/id   排错
docker exec -it 容器id /bin/bash
2.8.2、挂载配置文件
##主机配置文件目录
/data/conf/nginx.conf
##nginx镜像的配置文件目录
/etc/nginx/nginx.conf

两者进行映射关联:

# docker 经常修改nginx配置文件
docker run -d -p 80:80 \
-v /data/html:/usr/share/nginx/html:ro \
-v /data/conf/nginx.conf:/etc/nginx/nginx.conf \
--name mynginx-02 \
nginx
2.8.2、在容器内外之间复制文件
#把容器指定位置的东西复制出来 
docker cp 5eff66eec7e1:/etc/nginx/nginx.conf  /data/conf/nginx.conf
#把外面的内容复制到容器里面
docker cp  /data/conf/nginx.conf  5eff66eec7e1:/etc/nginx/nginx.conf

2.9、运行redis和nginx镜像完整命令

##运行redis镜像
docker run -v /root/data/redis/redis.conf:/etc/redis/redis.conf \
-v /root/data/redis/data:/data \
-d --name myredis \
-p 6379:6379 \
redis:latest  redis-server /etc/redis/redis.conf
##运行nginx镜像
# docker 经常修改nginx配置文件
docker run -v /root/data/nginx/html:/usr/share/nginx/html:ro \
-v /root/data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-d --name mynginx \
-p 88:80 \
nginx:latest

查找文件命令

##查看文件:
find / -name xxxx


每一个裂缝都是为透出光而努力

相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。 &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
目录
相关文章
|
10天前
|
供应链 测试技术 开发者
用 Docker 轻松部署 ERPNext 15:多场景实战指南
ERPNext 15 是一款功能全面的开源企业资源规划系统,结合 Docker 容器化部署,具备高效、灵活、低成本等优势。适用于小微企业数字化起步、多分支机构协同办公、开发者测试环境搭建、短期项目管理及企业内部培训等多种场景。模块化设计支持按需扩展,满足不同规模企业需求,是实现高效企业管理的理想选择。
用 Docker 轻松部署 ERPNext 15:多场景实战指南
|
1月前
|
Docker 容器
Docker run命令-p参数详解
本文介绍Docker端口映射的基础用法。通过`docker run -p &lt;宿主机端口&gt;:&lt;容器端口&gt;`实现端口映射,例如`-p 5000:80`将宿主机5000端口映射到容器80端口,外部访问宿主机5000端口时流量会转发至容器内部的80端口。示例命令中,`-d`用于后台运行,`--restart=always`确保容器自动重启,`--name`指定容器名称。部署完成后可通过`http://服务器IP地址:5000`验证服务是否正常运行。
|
24天前
|
安全 Java Docker
Docker 部署 Java 应用实战指南与长尾优化方案
本文详细介绍了Docker容器化部署Java应用的最佳实践。首先阐述了采用多阶段构建和精简JRE的镜像优化技术,可将镜像体积减少60%。其次讲解了资源配置、健康检查、启动优化等容器化关键配置,并演示了Spring Boot微服务的多模块构建与Docker Compose编排方案。最后深入探讨了Kubernetes生产部署、监控日志集成、灰度发布策略以及性能调优和安全加固措施,为Java应用的容器化部署提供了完整的解决方案指南。文章还包含大量可落地的代码示例,涵盖从基础到高级的生产环境实践。
82 3
|
20天前
|
运维 监控 数据可视化
容器化部署革命:Docker实战指南
容器化部署革命:Docker实战指南
|
2月前
|
网络协议 Ubuntu Docker
Docker Compose--命令说明
Docker Compose--命令说明
457 30
|
2月前
|
关系型数据库 MySQL 数据库
Docker Compose-实战
Docker Compose-实战
96 5
|
2月前
|
Ubuntu Linux 开发者
常用的Docker命令:docker_cmd_sheet
以上就是一些常用的Docker命令,希望能帮助你更好地驾驭这个强大的工具。记住,Docker就像是一个魔法咒语,只有真正理解和熟练使用,才能发挥出它的最大魔力。
95 22
|
2月前
|
关系型数据库 MySQL 数据库
Docker 安装常用软件相关命令
本文介绍了在CentOS 7.9系统上安装Docker的详细步骤,包括添加阿里云镜像源、安装Docker及相关组件、启动服务以及配置镜像加速。同时,还展示了如何通过Docker安装MySQL 5.7版本数据库,涵盖拉取镜像、创建数据目录、运行容器及配置挂载点等操作,并提供验证安装成功的命令和截图。适合需要部署Docker与MySQL环境的用户参考。
216 5
|
2月前
|
Shell 应用服务中间件 nginx
docker 镜像的部分常用命令
docker镜像常用命令
110 16