生命周期管理命令
后面一般接 container id 或者 Name
docker create:创建一个容器 docker start:启动一个容器 docker run:创建并运行一个容器 docker pause:暂停一个容器 docker unpause:恢复一个容器 docker restart:重启一个容器 docker stop:停止一个运行的容器 docker rm:删除一个处于终止状态的容器 docker kill:杀死容器进程
初步开始
创建一个容器:docker create --name 启动容器:docker start 查看所有容器信息:docker container ls 查看所有容器的状态:docker ps -a 删除容器:docker kill 、docker rm 查看帮助:docker [command] --help ,这些是用于管理 Docker 容器生命周期及查看相关信息的命令
容器运行操作
docker run命令 命令格式 docker run [OPTIONS] [COMMAND] 选项说明 - --name="":指定容器名字 - -d:设置容器在后台运行(默认前台) - -e:配置容器内可用的环境变量 - -p:映射容器暴露的端口(宿主端口:容器端口 ) - -it:启动容器后进入交互命令行 - --rm:容器停止时自动删除 示例 1.后台运行并映射端口的 httpd 容器:docker run --name -d -p 8080:80 httpd 2.后台持续执行脚本的 centos 容器:docker run -d centos /bin/bash -c "while true; do sleep 1; echo Hanmei; done"
进入容器的办法
方法一:docker exec 命令(一般搭配 -it 参数使用) - 作用:在容器中打开新终端,会启动新进程 - 用法格式:docker exec [OPTIONS] CONTAINER COMMAND [ARG...] 方法二:docker attach 命令(不推荐使用) - 作用:直接进入已启动容器的命令终端,不启动新进程 - 用法格式:docker attach [OPTIONS] CONTAINER
docker-compose相关
启动服务
#后台启动服务 docker-compose up -d # 前台启动服务(显示日志) docker-compose up
停止
# 停止并删除容器、网络 docker-compose down # 仅停止服务 docker-compose stop # 停止并删除容器(保留数据卷) docker-compose down --volumes
查看服务状态
# 查看运行中的容器 docker-compose ps # 查看服务日志 docker-compose logs docker-compose logs -f # 实时跟踪日志
进入容器
docker-compose exec -it service_name bash
执行命令
docker-compose run service_name command # 示例:在web服务中执行ls命令 docker-compose run web ls -l
删除停止的容器
docker-compose rm
docker-compose.yml文件样例
需要注意缩进的问题,如果有多个services,可以根据自己的需求进行排序调整,docker-compose支持在一个文件中定义多个服务
一般常用的就是 image ports volums
version: '3' services: # Nginx Web服务器配置 nginx: image: 192.168.100.16:18888/hubdocker/nginx # 可替换为公共镜像 container_name: nginx ports: - "8080:80" # 宿主机端口:容器端口 volumes: - /tmp/Docker/docker-compose/nginx/index.html:/usr/share/nginx/html/index.html restart: unless-stopped # PHP-FPM服务配置 php: image: php:8.1-fpm container_name: php volumes: - /tmp/Docker/docker-compose/php:/var/www/html restart: unless-stopped # Redis缓存服务配置 redis: image: redis:7.0-alpine container_name: redis command: redis-server --requirepass your_redis_password volumes: - redis-data:/data restart: unless-stopped # MySQL数据库服务配置 db: image: mysql:8.0 container_name: mysql command: --default-authentication-plugin=mysql_native_password environment: MYSQL_ROOT_PASSWORD: your_root_password MYSQL_DATABASE: your_database MYSQL_USER: your_user MYSQL_PASSWORD: your_password volumes: - mysql-data:/var/lib/mysql restart: unless-stopped # 数据卷定义 volumes: redis-data: mysql-data:
诸如此类
配置完成使用docker-compose up -d 一键部署
© 版权声明
文章版权归作者所有,未经允许请勿转载。