docker常用操作

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: docker 各种常用操作,建议收藏备用

1. CentOS7离线安装Docker和卸载Docker步骤


https://www.gold404.cn/info/140
http://www.ay1.cc/article/7600.html
https://blog.csdn.net/lingfeian/article/details/125482271

2. 国内镜像加速


在下面添加如下 "registry-mirrors":[    "https://iotekdjw.mirror.aliyuncs.com"  ]          

3. docker 镜像命令


# 1. 搜索,也可以直接到 dockerHub 搜索
docker search 镜像名称
# 2. 下载
docker pull 镜像名称:版本号,如果不加,默认latest
# 3. 查看已经下载镜像
docker images
# 4. 删除镜像
docker rmi 镜像名/id
# 5. 导出镜像
docker save -o hello-world.tar 镜像名/id
# 6. 导入镜像
docker load --input [镜像名]

容器ID不需要全部输入,前几个就可以


4. docker 容器命令


# 1. 创建、启动容器
docker run 容器名/容器id
# 2. 查看容器,-a 查看所有,不加代表查询正在运行的
docker ps -a
# 3. 启动/停止容器
docker run/stop 容器名/ID
# 3. 删除容器
docker rm 容器名/ID
# 4. 进入容器
docker exec -it 容器名/ID /bin/bash 
# 5. 导出容器,有时候需要加 -o,不然导入的时候会报错
docker export 1e560fca3906 > ubuntu.tar
# 6. 导入容器
cat docker/ubuntu.tar | docker import - test/ubuntu:v1
# 7. 查询容器日志, -f 是持续输出
docker logs 容器名/ID -f
# 7. 进入容器
docker exec -it 容器名/ID /bin/bash

docker run各个参数解释,参考链接:www.runoob.com/docker/dock…


--name      容器名称
-p 3307:3306    前面宿主机,后面容器里
-link redis:redis   和其他容器交互
-e      设置容器的环境参数
-d          后台启动
-v          挂载宿主机目录/文件
-m      设置容器使用内存最大值
  

5. docker 网络命令


参考官网链接:传送门


# ps
# docker network 是容器间双向通信的,--link 是单向通信 
# 1. 查看网络列表
docker network ls
# 2. 创建一个自定义网络
docker network create my-network
# 3. 启动容器时指定网络并指定别名
docker run -itd --name mysql --network my-network --network-alias mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.6
# 4. 删除网络
docker network rm my-network
# 5. 删除所有未使用的网络
docker network prune
# 6. 为启动好的容器指定一个网络
docker network connect [OPTIONS] NETWORK CONTAINER
docker network connect --alias mysql my-network mysql
# 7. 为容器删除一个网络
docker network disconnect multi-host-network container1 
# 8. 检查网络的详细信息
docker network inspect [OPTIONS] NETWORK


具体实例:


1. mysql


docker pull mysql:5.6
docker run --name mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v D:\dockerFile\mysql:/var/lib/mysql mysql:5.6

2. mariadb


docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mariadb mariadb:latest
docker run --name mariadb --privileged -d -e TIMEZONE=Asis/Shanghai -e MYSQL_ROOT_PASSWORD=123ABCdef*# -p 3307:3306 6d5c5ed114ad
启动 centos 
docker run -i -t -d --link mariadb:mariadb -p 8088:8088 -p 8888:8888 --privileged=true centos:centos7
# 连接容器
docker run -it -p 8080:8080 --link db001:dbhost -d tomcat
# db001是步骤3中创建的mysql容器的名字,可以通过其访问数据库;
# dbhost是个别名,web程序访问mysq数据可以通过其访问


3. redis


docker pull redis
docker run -p 6379:6379 --name redis 
-v D:\data\redis\redis.conf:/etc/redis/redis.conf 
-v D:\data\redis\data:/data 
-d redis:latest 
redis-server /etc/redis/redis.conf 
--appendonly yes --requirepass 123456


4. Kafka


# 1. 下载zookeeper镜像
docker pull wurstmeister/zookeeper
# 2. 启动zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
# 3. 下载kafka镜像
docker pull wurstmeister/kafka
# 4. 启动kafka
docker run  -d --name kafka2 -p 9092:9092 --link zookeeper:zookeeper -e KAFKA_BROKER_ID=0  -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092  -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092  -t wurstmeister/kafka 
# 启动kafka参数解释
# -d                后台启动
# --name kafka          容器名称
# -p 9092:9092          绑定端口,前面宿主机,后面容器
# --link zookeeper:zookeeper    链接上一个容器,zookeeper
# -e KAFKA_BROKER_ID=0      设置broker Id
# -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181         指定zookeeper 地址
# -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 将Broker的Listener信息发布到Zookeeper中
# -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092       就是主要用来定义Kafka Broker的Listener的配置项
# -t wurstmeister/kafka


目录
相关文章
|
Shell Linux Go
docker命令记不住?docker常用操作命令大全,收藏起来
docker命令记不住?docker常用操作命令大全,收藏起来
295 0
|
5月前
|
Ubuntu 开发者 Docker
Docker常用操作指令
Docker常用操作指令
32 0
|
应用服务中间件 nginx Docker
docker 常用操作镜像命令
docker 常用操作镜像命令
129 0
docker 常用操作镜像命令
|
Shell Linux Docker
docker 常用操作容器命令
docker 常用操作容器命令
209 0
docker 常用操作容器命令
|
Ubuntu 关系型数据库 MySQL
docker学习(4) 一些常用操作
继续docker的学习之旅,今天练习一些常用的命令: 一、镜像相关 1.1 列出本机所有镜像 docker images 后面的操作,都以ubuntu做为练习的目标。 另外:如果某些镜像文件不想要了,可以用下面的命令删除 1.2 删除镜像 docker rmi 镜像Id(即:1.1图中的IMAGE ID) 有时候删除会失败,比如:有一个容器正在使用该镜像文件。
9596 0
|
3天前
|
存储 安全 数据安全/隐私保护
【Docker 专栏】Docker 容器化应用的备份与恢复策略
【5月更文挑战第9天】本文探讨了Docker容器化应用的备份与恢复策略,强调了备份在数据保护、业务连续性和合规要求中的关键作用。内容涵盖备份的重要性、内容及方法,推荐了Docker自带工具和第三方工具如Portainer、Velero。制定了备份策略,包括频率、存储位置和保留期限,并详细阐述了恢复流程及注意事项。文章还提及案例分析和未来发展趋势,强调了随着技术发展,备份与恢复策略将持续演进,以应对数字化时代的挑战。
【Docker 专栏】Docker 容器化应用的备份与恢复策略
|
3天前
|
监控 Kubernetes Docker
【Docker 专栏】Docker 容器内应用的健康检查与自动恢复
【5月更文挑战第9天】本文探讨了Docker容器中应用的健康检查与自动恢复,强调其对应用稳定性和系统性能的重要性。健康检查包括进程、端口和应用特定检查,而自动恢复则涉及重启容器和重新部署。Docker原生及第三方工具(如Kubernetes)提供了相关功能。配置检查需考虑检查频率、应用特性和监控告警。案例分析展示了实际操作,未来发展趋势将趋向更智能和高效的检查恢复机制。
【Docker 专栏】Docker 容器内应用的健康检查与自动恢复
|
2天前
|
NoSQL Redis Docker
Mac上轻松几步搞定Docker与Redis安装:从下载安装到容器运行实测全程指南
Mac上轻松几步搞定Docker与Redis安装:从下载安装到容器运行实测全程指南
12 0
|
3天前
|
缓存 关系型数据库 数据库
【Docker 专栏】Docker 与容器化数据库的集成与优化
【5月更文挑战第9天】本文探讨了Docker与容器化数据库集成的优势,如快速部署、环境一致性、资源隔离和可扩展性,并列举了常见容器化数据库(如MySQL、PostgreSQL和MongoDB)。讨论了集成方法、注意事项、优化策略,包括资源调整、缓存优化和监控告警。此外,强调了数据备份、恢复测试及性能评估的重要性。未来,随着技术发展,二者的集成将更紧密,为数据管理带来更多可能性。掌握此技术将应对数字化时代的机遇与挑战。
【Docker 专栏】Docker 与容器化数据库的集成与优化
|
3天前
|
存储 安全 数据库
【Docker 专栏】Docker 容器内应用的状态持久化
【5月更文挑战第9天】本文探讨了Docker容器中应用状态持久化的重要性,包括数据保护、应用可用性和历史记录保存。主要持久化方法有数据卷、绑定挂载和外部存储服务。数据卷是推荐手段,可通过`docker volume create`命令创建并挂载。绑定挂载需注意权限和路径一致性。利用外部存储如数据库和云服务可应对复杂需求。最佳实践包括规划存储策略、定期备份和测试验证。随着技术发展,未来将有更智能的持久化解决方案。
【Docker 专栏】Docker 容器内应用的状态持久化