Docker是一种用于开发、交付和运行应用程序的开源平台。通过将应用程序及其依赖项打包到一个容器中,Docker确保应用可以在任何环境中一致运行。容器是一个独立的运行环境,有自己的文件系统、CPU、内存、进程空间等。
Docker命令详解
创建并运行容器
docker run
:创建并运行一个容器。
-d
:让容器在后台运行。--name [容器名字]
:为容器指定一个名字。-p 3306:3306
:设置端口映射。-v html:/usr/share/nginx/html
:绑定数据卷(在创建时就要绑定)。
docker run -d --name my-nginx -p 80:80 -v /my/local/html:/usr/share/nginx/html nginx
查看容器
docker inspect [容器名字]
:查看容器详细信息。docker ps
:查看正在运行的容器进程。
管理镜像
docker pull [镜像名字]
:拉取镜像。docker save -o [nginx.tar] nginx:latest
:保存镜像。docker images
:查看本地镜像。
操作容器
docker exec -it [容器名字] bash
:进入容器内部。docker stop [容器名字]
:停止容器运行。
构建镜像
docker build -t [镜像名字] .
:构建镜像
Docker网络
默认情况下,Docker会自动配置一个网桥网络,并为每个容器分配一个IP地址。同一网段的容器可以互相访问,但由于IP地址会在容器停止后重新分配,因此需要使用自定义网络来实现稳定的容器间通信。自定义网络允许通过容器名直接访问其他容器
管理网络
docker network create [网络名字]
:创建一个网络。docker network ls
:查看所有网络。docker network rm [网络名字]
:删除指定网络。docker network prune
:清除未使用的网络。
操作网络
docker network connect [网络名字] [容器名字]
:使指定容器连接到某网络。docker network disconnect [网络名字] [容器名字]
:使指定容器离开某网络。docker network inspect [网络名字]
:查看网络详细信息
Docker Compose
Docker Compose是用于定义和运行多容器Docker应用程序的工具。通过编写一个docker-compose.yml
文件,您可以用一条命令启动多个容器。
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
ports:
- "3306:3306"
networks:
default:
external:
name: my-bridge-network
使用以下命令启动服务:
docker-compose up -d
使用以下命令停止服务:
docker-compose down
掌握Docker的基本命令和概念,可以帮助您高效地管理容器化应用程序。通过合理使用网络和数据卷,可以确保应用的可移植性和稳定性。Docker Compose简化了多容器应用的管理,使得开发和部署更加便捷。希望这篇文章对您的Docker学习和复习有所帮助