安装docker in ubuntu
更新环境
apt update -y && apt upgrade -y && apt install -y curl wget sudo socat
安装 Docker 参见官网介绍
https://docs.docker.com/engine/install/ubuntu/
Set up the repository
Update the apt package index and install packages to allow apt to use a repository over HTTPS:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
Add Docker’s official GPG key:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Use the following command to set up the repository:
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Note
If you use an Ubuntu derivative distro, such as Linux Mint, you may need to use UBUNTU_CODENAME instead of VERSION_CODENAME.
Install Docker Engine
Update the apt package index:
sudo apt-get update
Install Docker Engine, containerd, and Docker Compose.
Latest
Specific version
To install the latest version, run:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Verify that the Docker Engine installation is successful by running the hello-world image
install docker-compose github查看最新版本
curl -L "https://github.com/docker/compose/releases/download/v2.19.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
创建软链
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
版本查看
docker -v
docker-compose --version
5、部署NginxProxyManager服务
官方项目地址:https://github.com/NginxProxyManager/nginx-proxy-manager
在docker目录下创建一个npm文件夹
cd /var/lib/docker/ && mkdir npm && cd npm
cd npm
在npm文件夹下创建一个的docker-compose.yml文件
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
# These ports are in format <host-port>:<container-port>
- '80:80' # Public HTTP Port host port:docker port 8088:80
- '443:443' # Public HTTPS Port host port:docker port 2443:43
- '81:81' # Admin Web Port host port:docker port 8381:81
# Add any other Stream port you want to expose
# - '21:21' # FTP
environment:
# Mysql/Maria connection parameters:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- db
db:
image: 'jc21/mariadb-aria:latest'
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./mysql:/var/lib/mysql
Copy
在当前目录运行以下命令安装此服务
docker-compose up -d
Copy
初始账号&密码
Email: admin@example.com
Password: changeme
Copy
证书保存路径
/var/lib/docker/npm/letsencrypt/archive
Default credentials are:
username: admin@example.com
passwrod: changeme
systemctl start docker #启动容器
systemctl enable docker #开机自启
systemctl status docker #查看状态
docker --version #查看docker版本
升级Nginx Proxy Manager
由于使用的Docker-Compose部署,如果您需要升级Nginx Proxy Manager版本,也非常简单,只需要执行下面的命令就行了:
# 拉取新的镜像
docker-compose pull
# 重新启动Nginx Proxy Manager
docker-compose up -d
修改 Docker 配置(可选)
以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘(泪的教训):
cat > /etc/docker/daemon.json <<EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true
}
EOF
然后重启 Docker 服务:
systemctl restart docker
查看本机dockerIP
ip addr show docker0
评论
发表评论