Docker命令实战

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容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
目录
相关文章
|
17天前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
130 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
24天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
184 77
|
17天前
|
关系型数据库 应用服务中间件 PHP
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
43 3
实战~如何组织一个多容器项目docker-compose
|
21天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
84 24
|
23天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
108 6
|
1月前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
100 7
|
2月前
|
运维 Cloud Native 云计算
云原生之旅:Docker容器化实战
本文将带你走进云原生的世界,深入理解Docker技术如何改变应用部署与运维。我们将通过实际案例,展示如何利用Docker简化开发流程,提升应用的可移植性和伸缩性。文章不仅介绍基础概念,还提供操作指南和最佳实践,帮助你快速上手Docker,开启云原生的第一步。
|
2月前
|
Kubernetes Linux 开发者
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
92 0
|
2月前
|
存储 Cloud Native 开发者
深入探索容器化技术——Docker的实战应用
深入探索容器化技术——Docker的实战应用
42 0
|
2月前
|
存储 安全 Docker
Docker 的实战应用与优化策略
Docker 的实战应用与优化策略
38 0

热门文章

最新文章