Docker 常用软件安装与使用手册
目录
Docker 简介
Docker 是一个开源的应用容器引擎,允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。Docker 容器与虚拟机类似,但容器更加轻量级,且性能开销更小。
常用软件安装
Nginx
-
拉取 Nginx 镜像
bash
复制
docker pull nginx -
运行 Nginx 容器
bash
复制
docker run -d -p 80:80 --name my-nginx nginx-d:后台运行容器。-p 80:80:将主机的 80 端口映射到容器的 80 端口。--name my-nginx:为容器指定一个名称。
-
验证 Nginx 是否运行
打开浏览器,访问http://localhost,如果看到 Nginx 欢迎页面,说明 Nginx 已成功运行。
MySQL
-
拉取 MySQL 镜像
bash
复制
docker pull mysql:5.7 -
运行 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 用户密码。
-
进入 MySQL 容器
bash
复制
docker exec -it my-mysql mysql -uroot -p输入密码
my-secret-pw即可进入 MySQL 命令行。
Redis
-
拉取 Redis 镜像
bash
复制
docker pull redis -
运行 Redis 容器
bash
复制
docker run -d -p 6379:6379 --name my-redis redis -
进入 Redis 容器
bash
复制
docker exec -it my-redis redis-cli
PostgreSQL
-
拉取 PostgreSQL 镜像
bash
复制
docker pull postgres -
运行 PostgreSQL 容器
bash
复制
docker run -d -p 5432:5432 --name my-postgres -e POSTGRES_PASSWORD=my-secret-pw postgres -
进入 PostgreSQL 容器
bash
复制
docker exec -it my-postgres psql -U postgres
Node.js
-
拉取 Node.js 镜像
bash
复制
docker pull node:14 -
运行 Node.js 容器
bash
复制
docker run -it --name my-node node:14 /bin/bash -
在容器内运行 Node.js 应用
bash
复制
node app.js
Python
-
拉取 Python 镜像
bash
复制
docker pull python:3.8 -
运行 Python 容器
bash
复制
docker run -it --name my-python python:3.8 /bin/bash -
在容器内运行 Python 脚本
bash
复制
python script.py
相关软件的使用说明
Nginx 使用
-
修改 Nginx 配置文件
-
进入容器:
bash
复制
docker exec -it my-nginx /bin/bash -
编辑配置文件:
bash
复制
vi /etc/nginx/nginx.conf
-
-
重启 Nginx 服务
bash
复制
docker exec my-nginx nginx -s reload
MySQL 使用
-
创建数据库
sql
复制
CREATE DATABASE mydb; -
创建用户并授权
sql
复制
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%'; FLUSH PRIVILEGES;
Redis 使用
-
设置键值对
bash
复制
SET mykey "Hello" -
获取键值
bash
复制
GET mykey
PostgreSQL 使用
-
创建数据库
sql
复制
CREATE DATABASE mydb; -
创建用户并授权
sql
复制
CREATE USER myuser WITH PASSWORD 'mypassword'; GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
Node.js 使用
-
初始化 Node.js 项目
bash
复制
npm init -y -
安装依赖
bash
复制
npm install express -
运行应用
bash
复制
node app.js
Python 使用
-
安装依赖
bash
复制
pip install flask -
运行脚本
bash
复制
python script.py
常见问题与解决方案
-
Docker 容器无法启动
- 检查容器日志:
docker logs <容器ID> - 确保端口未被占用,或修改端口映射。
- 检查容器日志:
-
Docker 镜像拉取失败
- 检查网络连接。
- 尝试更换镜像源。
-
Docker 容器内无法访问外部网络
- 检查 Docker 网络配置。
- 确保防火墙未阻止 Docker 的网络流量。