Docker 常用软件安装与使用手册

109 阅读3分钟

Docker 常用软件安装与使用手册

目录

  1. Docker 简介

  2. 常用软件安装

  3. 相关软件的使用说明

  4. 常见问题与解决方案

  5. 参考资料


Docker 简介

Docker 是一个开源的应用容器引擎,允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。Docker 容器与虚拟机类似,但容器更加轻量级,且性能开销更小。


常用软件安装

Nginx

  1. 拉取 Nginx 镜像

    bash

    复制

    docker pull nginx
    
  2. 运行 Nginx 容器

    bash

    复制

    docker run -d -p 80:80 --name my-nginx nginx
    
    • -d:后台运行容器。
    • -p 80:80:将主机的 80 端口映射到容器的 80 端口。
    • --name my-nginx:为容器指定一个名称。
  3. 验证 Nginx 是否运行
    打开浏览器,访问 http://localhost,如果看到 Nginx 欢迎页面,说明 Nginx 已成功运行。

MySQL

  1. 拉取 MySQL 镜像

    bash

    复制

    docker pull mysql:5.7
    
  2. 运行 MySQL 容器

    bash

    复制

    docker run -d -p 3306:3306 --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:5.7
    
    • -e MYSQL_ROOT_PASSWORD=my-secret-pw:设置 MySQL 的 root 用户密码。
  3. 进入 MySQL 容器

    bash

    复制

    docker exec -it my-mysql mysql -uroot -p
    

    输入密码 my-secret-pw 即可进入 MySQL 命令行。

Redis

  1. 拉取 Redis 镜像

    bash

    复制

    docker pull redis
    
  2. 运行 Redis 容器

    bash

    复制

    docker run -d -p 6379:6379 --name my-redis redis
    
  3. 进入 Redis 容器

    bash

    复制

    docker exec -it my-redis redis-cli
    

PostgreSQL

  1. 拉取 PostgreSQL 镜像

    bash

    复制

    docker pull postgres
    
  2. 运行 PostgreSQL 容器

    bash

    复制

    docker run -d -p 5432:5432 --name my-postgres -e POSTGRES_PASSWORD=my-secret-pw postgres
    
  3. 进入 PostgreSQL 容器

    bash

    复制

    docker exec -it my-postgres psql -U postgres
    

Node.js

  1. 拉取 Node.js 镜像

    bash

    复制

    docker pull node:14
    
  2. 运行 Node.js 容器

    bash

    复制

    docker run -it --name my-node node:14 /bin/bash
    
  3. 在容器内运行 Node.js 应用

    bash

    复制

    node app.js
    

Python

  1. 拉取 Python 镜像

    bash

    复制

    docker pull python:3.8
    
  2. 运行 Python 容器

    bash

    复制

    docker run -it --name my-python python:3.8 /bin/bash
    
  3. 在容器内运行 Python 脚本

    bash

    复制

    python script.py
    

相关软件的使用说明

Nginx 使用

  1. 修改 Nginx 配置文件

    • 进入容器:

      bash

      复制

      docker exec -it my-nginx /bin/bash
      
    • 编辑配置文件:

      bash

      复制

      vi /etc/nginx/nginx.conf
      
  2. 重启 Nginx 服务

    bash

    复制

    docker exec my-nginx nginx -s reload
    

MySQL 使用

  1. 创建数据库

    sql

    复制

    CREATE DATABASE mydb;
    
  2. 创建用户并授权

    sql

    复制

    CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
    GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%';
    FLUSH PRIVILEGES;
    

Redis 使用

  1. 设置键值对

    bash

    复制

    SET mykey "Hello"
    
  2. 获取键值

    bash

    复制

    GET mykey
    

PostgreSQL 使用

  1. 创建数据库

    sql

    复制

    CREATE DATABASE mydb;
    
  2. 创建用户并授权

    sql

    复制

    CREATE USER myuser WITH PASSWORD 'mypassword';
    GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
    

Node.js 使用

  1. 初始化 Node.js 项目

    bash

    复制

    npm init -y
    
  2. 安装依赖

    bash

    复制

    npm install express
    
  3. 运行应用

    bash

    复制

    node app.js
    

Python 使用

  1. 安装依赖

    bash

    复制

    pip install flask
    
  2. 运行脚本

    bash

    复制

    python script.py
    

常见问题与解决方案

  1. Docker 容器无法启动

    • 检查容器日志:docker logs <容器ID>
    • 确保端口未被占用,或修改端口映射。
  2. Docker 镜像拉取失败

    • 检查网络连接。
    • 尝试更换镜像源。
  3. Docker 容器内无法访问外部网络

    • 检查 Docker 网络配置。
    • 确保防火墙未阻止 Docker 的网络流量。

参考资料