Docker命令实战

本文涉及的产品
云数据库 Redis 版,标准版 2GB
推荐场景:
搭建游戏排行榜
云原生内存数据库 Tair,内存型 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代码程序上传并在云端以容器化的构建、传输和运行。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
11天前
|
监控 Docker 容器
Docker 启动命令里 --cgroupns host 是什么作用?
【8月更文挑战第19天】Docker 启动命令里 --cgroupns host 是什么作用?
42 1
|
15天前
|
JSON JavaScript 开发者
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
【8月更文挑战第7天】Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
|
5天前
|
Docker 容器
Docker Kill/Pause/Unpause命令详细使用指南
总之,`docker kill`、`docker pause`和 `docker unpause`命令是对容器执行快速状态控制操作的有力工具。使用这些命令可以帮助您更好地管理容器,并在需要时快速响应异常情况。在操作过程中,应当谨慎使用 `docker kill`,因为它将导致容器立即停止,有可能导致数据丢失或文件系统损坏。在可能的情况下,先尝试使用 `docker stop`命令以正常方式停止容器。
9 2
|
4天前
|
负载均衡 调度 Docker
|
12天前
|
存储 Docker 容器
在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?
在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?
|
12天前
|
Ubuntu NoSQL Linux
一文讲明Docker的基本使用,常见Docker命令使用 、Docker的安装使用等【详细说明+图解+概念+实践】
这篇文章详细介绍了Docker的基本使用,包括Docker的安装、常用命令、架构概念等,并通过图解和实践帮助读者快速掌握Docker的使用方法。
一文讲明Docker的基本使用,常见Docker命令使用 、Docker的安装使用等【详细说明+图解+概念+实践】
|
2月前
|
JSON 数据格式 Docker
Docker 网络命令大全,建议收藏!
【7月更文挑战第22天】
85 7
Docker 网络命令大全,建议收藏!
|
2月前
|
存储 Linux 应用服务中间件
入职必会-开发环境搭建47-Docker必会命令
本文介绍了Docker使用频率最高的30个命令
入职必会-开发环境搭建47-Docker必会命令
|
2月前
|
存储 关系型数据库 数据安全/隐私保护
【Docker实战项目】使用Docker部署Plik 临时文件上传系统
【7月更文挑战第23天】使用Docker部署Plik 临时文件上传系统
36 1
【Docker实战项目】使用Docker部署Plik 临时文件上传系统
|
19天前
|
Docker 容器
Docker 入门常用命令
Docker 入门常用命令
18 1
下一篇
云函数