【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
相关推荐
Wenhao.3 小时前
docker 启用容器端口被占用报错500
docker
能不能别报错3 小时前
kubeasz二进制部署k8s生产环境集群
云原生·容器·kubernetes
有趣灵魂4 小时前
在docker中容器使用iptables限制IP访问端口
服务器·tcp/ip·docker·容器
码路工人5 小时前
第7章:迈向云原生 - Kubernetes 简介
docker·云原生·容器
码路工人6 小时前
第6章:Docker Compose - 多容器应用的编排利器
docker·云原生·容器
小马过河R8 小时前
K8s引入Service Mesh原因及Istio入门
云原生·容器·kubernetes·k8s·istio·service_mesh
行者Sun19899 小时前
【K8s】Kubernetes 虚拟机管理工具之 KubeVirt
云原生·容器·kubernetes
途经六月的绽放9 小时前
Docker Compose 从入门到实践
java·docker
虚伪的空想家9 小时前
生产环境K8S的etcd备份脚本
运维·容器·kubernetes·脚本·备份·etcd