网站制作学习网Linux→正文:docker compose 和docker 镜像/容器操作
字体:

docker compose 和docker 镜像/容器操作

Linux 2025/10/21 20:28:14  点击:不统计

%77w%77%2Ef%6F%72p%73%70%2Ec%6E

 docker 的出生就是为了解决环境不一致的问题,有docker单容器操作 也有docker compose 组合容器操作。
一个容器最好只运行一个服务。下面对 docker compose 和docker 的常见操作如下:
 
docker compose 多个镜像等组合的形式创建,或者是参数式 创建 docker-compose.yml
 
   
application_name: # 自己的应用,使用Dockerfile 创建
build: .
extra_hosts:
- "host.docker.internal:host-gateway"
ports:
- "8000:8000" # start.sh 固定使用 8000 端口
# 可以直接使用.env 中的参数
- "${SERVER_PORT}:${SERVER_PORT}" # 暴露端口
volumes:
- ./:/app/lss # 挂载本地项目到 /app/lss
working_dir: /app/lss # 在挂载目录内执行相对命令
environment:
- TZ=Asia/Shanghai
- REDIS_URL=redis://host.docker.internal:6379/0 # 这里是上面
command: [ "/bin/bash", "-lc", "./server_shell/test_start.sh" ] # 改为生产启动脚本
restart: unless-stopped
redis: # redis 第二个服务
image:"redis:alpine"
volumes:
- redis_data:/data

# 定义命名卷,用于数据持久化
volumes:
redis_data:
   
构建启动命令:
sudo docker compose build --no-cache # 创建镜像 
docker compose up -d --build
停止容器运行:
docker compose stop
停止并删除当前容器
docker compose down
默认镜像名称 [当前文件夹名称-appliction_name]
 
镜像 相关命令:
(1)查看所有镜像
[sudo] docker images
(2)查看所有镜像(包括中间镜像)
[sudo] docker images -a
(3)显示镜像ID(简洁输出)
[sudo] docker images -q
 
docker 是命令行参数式的创建
同样的 上述docker 容器产生
创建镜像:
docker build -t [镜像名] .
创建并运行容器
[sudo] docker run -d --name [容器名] -p 8000:8000 -v "$(pwd)":/app/lss -e TZ=Asia/Shanghai -w /app/lss [镜像名] ./server_shell/start.sh
启动容器:
[sudo] docker exec -it [容器名/ID] bash -lc "cd /app/lss && ./server_shell/stop.sh"
停止容器
[sudo] docker stop [容器名/ID] 
删除容器
[sudo] docker rm -f [容器名/ID] 
 
其他docker 容器命令
(1) 查看正在运行的容器
[sudo] docker ps
(2)查看 运行容器日志
[sudo] docker logs -f --tail 100 [容器ID或者名称]
(3)进入容器
[sudo] docker exec -it [容器名] /bin/bash
如果bash不可用,尝试sh(特别是Alpine镜像)
[sudo] docker exec -it <容器名称或ID> /bin/sh
参数说明:
-i 或 --interactive:保持标准输入打开
-t 或 --tty:分配一个伪终端
-it:通常组合使用,提供交互式终端体验
 
注意 注意 注意:
在shell 脚本中 不要做 & 后台运行。因为docker就是后台进程

http://www.forasp.cn/

·上一篇:Docker 运行命令 创建镜像 删除镜像 >>    ·下一篇:mac Spotlight搜索设置 >>
推荐文章
最新文章