Docker使用教程及常用命令
Docker是一个开源的应用容器引擎,允许开发者将应用以及依赖打包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows上。它非常适用于持续集成与持续交付(CI/CD)。
1. 安装Docker
首先,你需要在你的服务器上安装Docker。根据你的操作系统,可以选择适合的安装方法。
(1)对于Ubuntu:
sudo apt-get update
sudo apt-get install docker.io
启动Docker并设置为开机启动:
sudo systemctl start docker
sudo systemctl enable docker
(2)对于Centos:
- 
安装所需的包
首先,确保你已经安装了必要的软件包。
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 
添加Docker存储库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 
安装Docker CE
sudo yum install docker-ce
- 
启动Docker并使其开机启动
sudo systemctl start docker
sudo systemctl enable docker
- 
验证Docker是否正确安装
运行一个简单的Docker Hello World镜像来验证安装是否成功:
docker run hello-world
如果你看到Hello World的消息,那么Docker已经成功安装并正在运行。
注意: 安全最佳实践建议您不要使用root用户来运行Docker容器。您可以通过创建一个docker用户组并将用户添加到该组来避免使用root权限。此外,还建议使用Docker提供的安全增强功能,如AppArmor、SELinux等来提高Docker容器的安全性。
参考教程:Centos7下安装Docker(详细安装教程)通俗易懂-腾讯云开发者社区-腾讯云 (tencent.com)
2. Docker基本命令
- 
查看Docker版本docker --version
- 
运行一个Docker容器如果你想要运行一个简单的nginx服务器,你可以执行以下命令: docker run -d -p 80:80 nginx
- 
查看正在运行的Docker容器docker ps若要查看所有容器(包括停止的),可以使用: docker ps -a
- 
停止容器docker stop [容器ID或容器名]
- 
移除容器docker rm [容器ID或容器名]
- 
查看本地的Docker镜像docker images
- 
移除Docker镜像docker rmi [镜像ID或名称]
- 
构建Docker镜像在Dockerfile所在的目录中,执行: docker build -t [镜像名]:[标签] .
- 
Docker日志查看容器的输出: docker logs [容器ID或容器名]
3. Docker Compose
Docker Compose介绍
Docker Compose是一个用于在单一主机上定义和运行多容器应用的工具。通过一个简单的YAML文件,你可以定义应用的服务、网络和卷,然后使用一个命令来启动整个堆栈。
(1)Docker Compose的YAML模板格式
以下是一个简单的Docker Compose模板示例,它定义了一个web服务和一个数据库服务:
version: '3'  # 使用的Compose文件版本
services:  # 定义的服务列表
  web:  # 服务名
    image: nginx:latest  # 使用的Docker镜像
    ports:
      - "5000:80"  # 端口映射,格式为"宿主机端口:容器端口"
  db:
    image: postgres:latest
    environment:  # 设置环境变量
      POSTGRES_PASSWORD: example
networks:  # 可选,定义网络
  default:
    external:
      name: my-network
volumes:  # 可选,定义卷
  db-data:
当你有一个名为docker-compose.yml的文件时,你可以运行docker-compose命令来控制定义的服务。
(2)Docker Compose常用命令
- 
启动定义在Compose文件中的服务 docker-compose updocker-compose up命令需要在docker-compose.yml文件所在的目录下运行,除非你通过-f或--file参数指定了一个不同的路径和文件名。当你在终端或命令行界面中运行 docker-compose命令,它默认会在当前目录下寻找名为docker-compose.yml或docker-compose.yaml的文件。例如,如果你的 docker-compose.yml文件位于/path/to/your-project,你应该首先更改到那个目录:cd /path/to/your-project docker-compose up但是,如果你在另一个目录,并且不想改变当前目录,你可以使用 -f参数指定docker-compose.yml文件的路径:docker-compose -f /path/to/your-project/docker-compose.yml up如果你有多个Compose文件,并希望按顺序应用它们,你可以多次使用 -f参数。例如:docker-compose -f docker-compose.base.yml -f docker-compose.override.yml up这会首先加载 docker-compose.base.yml文件,然后将docker-compose.override.yml中的任何内容合并或覆盖它。
- 
在后台模式启动服务 docker-compose up -d
- 
停止服务 docker-compose stop
- 
停止并移除容器、网络、卷和镜像 docker-compose down
- 
查看服务的输出 docker-compose logs [服务名]
- 
构建或重建服务 如果你有一个Dockerfile并在 docker-compose.yml中指定了build指令,你可以使用以下命令来构建服务的镜像:docker-compose build
- 
查看运行中的容器的状态 docker-compose ps
- 
执行一个命令在特定服务的容器中 docker-compose exec [服务名] [命令]
总结
Docker Compose为开发者提供了一种方便、统一的方式来定义、管理和运行多容器应用。对于复杂的应用,使用Docker Compose可以大大简化部署和管理的过程。
 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号