You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

188 lines
4.0 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Docker环境
## 1. 安装与配置
宿主主机:`host.docker.internal`
### 1.1. 官方自动化安装脚本
- Debian
```sh
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
```
- Ubuntu
```sh
curl -fsSL https://edge.docker.com -o edge-docker.sh
sudo sh edge-docker.sh
```
- CentOS
```sh
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
```
### 1.2. 基础配置
编辑 `/etc/docker/daemon.json`
本地私库配置和docker日志配置
```json
{
"insecure-registries": ["192.168.3.203:5000"],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
```
### 1.3. 重启
```sh
# 开机自启
systemctl enable docker
systemctl daemon-reload
systemctl restart docker
```
### 1.4. docker-compose
下载:[Releases · docker/compose (github.com)](https://github.com/docker/compose/releases)
```sh
wget https://github.com/docker/compose/releases/download/v2.15.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 启动管理容器
docker-compose up # 会自动搜索当前路径下的 docker-compose.yml文件
docker-compose -f 指定文件 up
docker-compose up -d # 后台执行,一般我们看日志输出,不用这个
docker-compose stop # 停止,不会删除容器和镜像
docker-compose down # 停止,并删除关联的容器
docker-compose start # 启动yml文件管理的容器
docker-compose ps # 正在运行的容器
docker-compose images # docker-compose管理的镜像
docker-compose exec yml文件中写的service /bin/bash # 进入到容器内
docker-compose up -d --build # 启动容器但是重新构建镜像,基于重新构建的镜像启动
```
### 1.5 加速镜像
- 科大镜像:**https://docker.mirrors.ustc.edu.cn/**
- 网易:**https://hub-mirror.c.163.com/**
- 阿里云:**https://<你的ID>.mirror.aliyuncs.com**
- 七牛云加速器:**https://reg-mirror.qiniu.com**
编辑 `/etc/docker/daemon.json`
```json
{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}
```
## 2. 后续操作
### 2.1. docker服务相关操作
```sh
# 状态 | 启动 | 停止 | 重启 | 自启服务 | 手动服务
systemctl [status | start | stop | restart | enable | disable] docker
# 查看docker版本信息
docker version
# 修改docker配置后执行再重启
systemctl daemon-reload
```
### 2.2. 登录docker私库
> 登录后才能pull私库中的私有镜像
```sh
# 登录ailiyun私库
docker login registry.cn-hangzhou.aliyuncs.com
```
### 2.3. 防火墙操作
- centos
```sh
# 状态 | 启动 | 停止 | 重启 | 自启服务 | 手动服务
systemctl [status | start | stop | restart | enable | disable] firewalld
# 开放端口
firewall-cmd --add-port=80/tcp --permanent
# 重启防火墙
firewall-cmd --reload
# 查看开放端口号
firewall-cmd --list-all
```
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
- ubuntu
```sh
# 启动防火墙
sudo ufw enable
# 禁止开机自动启动
sudo ufw disable
# 允许开机自动启动
sudo ufw enable
# 查看防火墙状态,是否正在运行
sudo ufw status verbose
# 关闭防火墙
sudo ufw disable
# 重置防火墙配置
sudo ufw reset
# 开放固定端口
# 放行tcp或者udp端口
sudo ufw allow 端口号/tcp
# 放行tcp与udp端口
sudo ufw allow 端口号
# 删除指定端口:
sudo ufw delete allow 端口号
#查看
sudo ufw status
#查看刚添加的规则
sudo ufw show added
```