Docker学习
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Docker是什么?
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、Docker安装
1.引入库
代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.更新数据源
docker中系统默认为debian系统,不带vim
sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
sed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
apt clean
apt-get update -y
三、镜像使用
1.portainer安装及汉化
解压中文汉化包到public文件夹
# 拉取官方镜像
docker pull portainer/portainer
# 运行镜像到容器
docker run -d -p 9000:9000\
--restart=always\
-v /var/run/docker.sock:/var/run/docker.sock\
-m 20M --oom-kill-disable --memory-swap=-1\
--name portainer\
portainer/portainer
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data -v /public:/public portainer
2.mysql
2.1.mysql5.7
创建本地目录
docker run -p 3307:3306 --name mysql -v /host_mnt/e/docker/mysql57/conf:/etc/mysql -v /host_mnt/e/docker/mysql57/logs:/var/log/mysql -v /host_mnt/e/docker/mysql57/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
2.2.msql8
创建my.cnf
[mysqld]
user=mysql
character-set-server=utf8mb4
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
docker pull mysql8
docker run -p 3308:3306 --name mysql-icm -v /host_mnt/e/docker/mysql8/conf:/etc/mysql -v /host_mnt/e/docker/mysql8/my.cnf:/etc/mysql/my.cnf -v /host_mnt/e/docker/mysql8/logs:/var/log/mysql -v /host_mnt/e/docker/mysql8/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
3.gitlab
windows系统启动后报权限错误,需设置swap大于2g,否则报502
docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
设置ip
vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml # 修改host为ip地址,本地改为127.0.0.1,修改完成后:wq保存退出 gitlab-ctl restart
修改完成后重启
4.gitea
docker run -d --privileged=true --restart=always --name=gitea -p 10022:22 -p 10080:3000 -v /host_mnt/e/docker/gitea:/data gitea/gitea
aria2
docker pull p3terx/aria2-pro
docker run -d --name aria2 --restart unless-stopped --log-opt max-size=1m -e PUID=$UID -e PGID=$GID -e UMASK_SET=022 -e RPC_SECRET=prc_password -e RPC_PORT=6800 -e LISTEN_PORT=6888 -p 16800:6800 -p 16888:6888 -p 16888:6888/udp -v /host_mnt/e/docker/aria2/config:/config -v /host_mnt/e/docker/aria2/downloads:/downloads p3terx/aria2-pro
用户和组设定:
PUID= U I D 、 P G I D = UID、PGID= UID、PGID=GID这2个定义用户和用户组的环境变量,限定了aria2以什么用户和用户组运行,不指定则默认使用nobady用户和nogroup用户组,但在使用FileRun网盘时,会因权限问题无法删除或改名aria2下载好的文件,所以PUID和GUID要指定为和WEB环境的运行用户和用户组一致,比如WEB环境运行的用户及对应的用户组都是WWW,对应的uid和gid都是1001,那就要指定PUID=1001、PGID=1001,这样在FileRun网盘中就可以正常的进行删除和修改操作了;
几个环境变量:
-e UMASK_SET=022 ,设置umask,默认值022;
-e RPC_SECRET=,设置RPC密钥,用于AriaNg与Aria2的通讯验证使用;
-e RPC_PORT=6800,设置PRC通讯端口(与宿主主机的端口映射一致);
-e LISTEN_PORT=6888,BT 监听端口(TCP)、DHT 监听端口(UDP)设置,即 Aria2 配置中listen-port与dht-listen-port选项定义的端口。如果没有设置,配置文件中的默认值为6888。
容器目录挂载,将/downloads挂载到宿主主机的/root/aria2/downloads:/downloads目录,即FileRun的数据目录中,方便下载完成直接在网盘中查看;配置文件挂载到指定的宿主主机目录/root/aria2/config中,宿主主机的目录根据实际情况自行修改;
3个端口映射:
-p 16800:6800,为RPC 通讯端口映射;
-p 16888:6888,为BT 监听端口(TCP)映射,即 Aria2 配置中listen-port选项定义的端口;
-p 16888:6888/udp,为DHT 监听端口(UDP)映射,即 Aria2 配置中dht-listen-port选项定义的端口
ariang
docker run -d --name ariang --log-opt max-size=1m --restart unless-stopped -p 16880:6880 p3terx/ariang
访问 http://你的服务器ip:16880 访问AriaNg的web管理界面,点击“AriaNg 设置”菜单,再点击“全局”右边的标签
配置RPC
RPC别名随意填就好
RPC地址填写你服务器的域名或IP,后面的端口号就是前面启动的aria2的RPC通讯端口
RPC协议选默认的HTTP
RPC Http请求方法使用默认的POST
RPC密钥填写前面启动的aria2的RPC密钥
总结
提示:这里对文章进行总结: