【docker】常用命令

1.docker常用命令

bash 复制代码
docker -v                                # 查看docker版本,检查是否安装成功
docker ps                                # 查看运行的容器
docker ps -a                             # 查看所有容器
docker images                            # 查看本地镜像
docker info                              # 查看docker的系统级信息
docker pull [image]                      # 拉取镜像
docker run  [image]                      # 运行容器
docker restart  [container]              # 重启容器
docker stop [container]                  # 停止容器
docker stats [container]                 # 查看容器资源使用情况
docker inspect [container]               # 查看容器元数据
docker logs -n 1000 [container]          # 查看容器的前1000条日志信息
docker exec -it [container] /bin/bash    # 进入运行中的容器内部
docker save nginx:latest > nginx.tar     # 保存单个镜像
docker load -i nginx.tar                 # 从tar文件加载镜像

docker network create -d bridge l-bridge         # 创建一个新的网络,命名为l-bridge
docker network ls                                      # 显示所有网络
docker network connect l-bridge test             # test容器加入到自定义网络
docker inspect l-bridge                          # 查看l-bridge网络里的容器

2.docker网络模式docker中有5中网络模式,可以通过--net=***指定容器的网络模式

bash 复制代码
bridge模式     # 默认,外界访问容器内的服务时,需要访问宿主机的 IP 以及宿主机的端口 port
host模式       # 容器的IP地址即为宿主机的IP地址
container模式  # 容器会共享其他容器的网络环境
overlay模式    # 跨主机通讯
none模式       # 不为容器构造任何网络环境,容器只能使用127.0.0.1的本机网络

3.部署中常用命令参考

bash 复制代码
# 可先拉取服务中镜像,时间取决于网络情况,可配置docker采用国内镜像源
docker-compose pull
# 构建并启动服务中容器
docker-compose up -d  
# 停止并删除服务中容器
docker-compose down   
# 创建data文件夹
mkdir /var/data
# 文件夹分配读写可执行权限
sudo chmod 777 /var/data

4.docker网桥

网桥用于各个容器间通讯,如果各个容器是单独运行的,需要使用下面命令创建网桥

bash 复制代码
docker network create -d bridge l-bridge

5.docker-compose常用命令

bash 复制代码
docker-compose -v        # 查看docker-compose版本,检查是否安装成功
docker-compose up -d     # 构建并启动服务中容器
docker-compose down      # 停止并删除服务中容器
docker-compose ps        # 列出服务中所有容器
docker-compose start     # 启动服务中的容器
docker-compose stop      # 停止服务中正在运行的容器
docker-compose restart   # 重启服务中的容器
docker-compose logs      # 查看服务中容器的输出
docker-compose pull      # 拉取服务中依赖的镜像
docker-compose config    # 验证并查看compose文件配置

6.安装各个软件实列

参数说明

bash 复制代码
--name         # 容器名称
--publish      # 容器端口映射
--volume       # 挂载卷路径,容器文件持久化到服务器
--env          # 设置容器环境变量
--network      # 网络模式 container/none/bridge/host几种
--restart      # 重启方式   no/on-failure/always/unless-stopped几种
--detach       # 后台运行

mysql

bash 复制代码
docker run \
--name mysql \
--publish 3306:3306 \
--env TZ=Asia/Shanghai \
--env MYSQL_DATABASE="test" \
--env MYSQL_ROOT_PASSWORD=123456\
--volume /var/data/mysql/mysql:/var/lib/mysql \
--network l-bridge \
--restart unless-stopped \
--detach \
mysql:8.0 \
--character-set-server=utf8 \
--collation-server=utf8_unicode_ci \
--lower-case-table-names=1

redis

bash 复制代码
docker run \
--name myredis \
--publish 6379:6379 \
--volume /var/data/redis:/usr/local/etc/redis  \
--volume /var/data/redis/data:/data  \
--network l-bridge \
--restart unless-stopped \
--detach \
redis:7.0.0 \
--requirepass "123456" \
--appendonly yes

influxdb

bash 复制代码
docker run -d \
  --name influxdb \
  -p 8086:8086 \
  -v /var/data/influxdb2:/var/lib/influxdb2 \
  -e DOCKER_INFLUXDB_INIT_MODE="setup" \
  -e DOCKER_INFLUXDB_INIT_USERNAME="admin" \
  -e DOCKER_INFLUXDB_INIT_PASSWORD="admin123" \
  -e DOCKER_INFLUXDB_INIT_ORG="test" \
  -e DOCKER_INFLUXDB_INIT_BUCKET="device_log" \
  -e DOCKER_INFLUXDB_INIT_ADMIN_TOKEN="inX0k-IPfSgKg6AIfoZm6Mv0DQyQOKCkfvs5ZF3a836Yzx2Ew9QgxsHev40_2gztuMn6tofwyS6nfbT4cD-SeA==" \
  --network l-bridge \
  influxdb:2.7.5
bash 复制代码
docker run \
--name emqx \
--publish 1883:1883 \
--publish 8083:8083 \
--publish 8883:8883 \
--publish 8084:8084 \
--publish 18083:18083 \
--env TimeZone=Asia/Shanghai \
--volume /etc/localtime:/etc/localtime \
--restart unless-stopped \
--detach \
emqx:5.1
相关推荐
lichenyang4536 小时前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4536 小时前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4536 小时前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4536 小时前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy5 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭5 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩6 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵7 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1117 天前
LM Studio Docker 部署——本地大模型一键启动
docker