福州php做网站,最近新出的手机,游戏攻略网站怎么做,简单自适应网站目录 1. 安装1.1 LINUX1.2 Windows 2. 常用配置2.1 普通权限运行2.2 开机自启动2.3 3 更换Docker镜像源2.4 更改默认存储位置 3. 显示带UI的软件4. 基于DOCKER的服务4.1 FTP4.2 Portainer4.3 Watchtower4.4 SiYuan4.5 GitLab4.5.1 创建容器4.5.2 克隆路径问题4.5.3 获取默认密码… 目录 1. 安装1.1 LINUX1.2 Windows 2. 常用配置2.1 普通权限运行2.2 开机自启动2.3 3 更换Docker镜像源2.4 更改默认存储位置 3. 显示带UI的软件4. 基于DOCKER的服务4.1 FTP4.2 Portainer4.3 Watchtower4.4 SiYuan4.5 GitLab4.5.1 创建容器4.5.2 克隆路径问题4.5.3 获取默认密码 1. 安装
1.1 LINUX 参考 https://docs.docker.com/engine/install/ubuntu/https://mirror.tuna.tsinghua.edu.cn/help/docker-ce/ # 卸载之前的安装
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd# 安装依赖
sudo apt-get update -y
sudo apt-get install -y ca-certificates curl gnupg lsb-release# 添加GPG
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg# 设置仓库
echo deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null# 安装最新引擎
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin# 运行样例
sudo docker run -rm hello-world1.2 Windows
待补充
2. 常用配置
2.1 普通权限运行
sudo usermod -aG docker $USER
newgrp docker
docker run --rm hello-world2.2 开机自启动
# 开启
sudo systemctl enable docker.service
sudo systemctl enable containerd.service# 关闭
sudo systemctl disable docker.service
sudo systemctl disable containerd.service2.3 3 更换Docker镜像源
# 方式一命令添加
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json -EOF
{
registry-mirrors: [https://docker.m.daocloud.io,https://docker.mirrors.sjtug.sjtu.edu.cn,https://cr.console.aliyun.com,http://mirror.azure.cn/]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker# 方式二手动添加
sudo vim /etc/docker/daemon.json
{registry-mirrors : [ https://docker.mirrors.sjtug.sjtu.edu.cn ],
}
sudo systemctl daemon-reload
sudo systemctl restart docker2.4 更改默认存储位置
sudo docker info | grep Docker Root Dir # 查看 docker 存储位置
sudo systemctl stop docker # 停止 docker 服务
sudo rsync -avzP /var/lib/docker/ /home/docker # 复制原有数据到新位置
sudo rm -rf /var/lib/docker # 删除原始存储文件夹
sudo ln -s /home/docker /var/lib/ # 指定新的路径之软连接到新位置
sudo sed -i adata-root: /home/docker, /etc/docker/daemon.json # 指定新的路径之配置文件指定新位置
sudo systemctl daemon-reload # 重启守护进程
sudo systemctl restart docker # 重启docker
sudo systemctl status docker # 查看运行状态
sudo docker info | grep Docker Root Dir # 查看最新存储位置3. 显示带UI的软件
# 1. 宿主机开放X server权限
xhost # 2. 创建容器使用 -v 参数挂载宿主机的/tmp/.X11-unix目录该目录中存放着unix套接字文件使用 -e 参数设置容器的DISPLAY环境变量与宿主机一致
docker run -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY$DISPLAY ubuntu:20.04apt update
apt install gedit
gedit4. 基于DOCKER的服务
4.1 FTP
# 拉取镜像
docker pull fauria/vsftpd# 创建数据卷文件夹
mkdir -p ${HOME}/.docker/volumes/vsftpd# 创建容器
docker run \
--detach \
--publish 51020:20 \
--publish 51021:21 \
--publish 21100-21103:21100-21103 \
--env FTP_USERadmin \
--env FTP_PASSadmin \
--env PASV_ADDRESS172.17.0.1 \
--env PASV_MIN_PORT21100 \
--env PASV_MAX_PORT21103 \
--env REVERSE_LOOKUP_ENABLENO \
--name vsftp \
--hostname localhost \
--privilegedtrue \
--restartalways \
--volume ${HOME}/.docker/volumes/vsftpd:/home/vsftpd \
--volume /etc/localtime:/etc/localtime:ro \
fauria/vsftpd# 命令行下载文件
wget ftp://admin:admin172.17.0.1:50021/sources/boost_1_74_0.tar.gz# 默认情况下仅能上传下载FTP根目录下的数据。不能下载其子目录中的数据。这是由于新建的子目录的所有权为root账户。而连接的账户为ftp。因此需要通过以下命令修改文件夹所属的用户及用户组。
chown ftp用户名 文件夹 # 修改所有者
chgrp ftp用户名 文件夹 # 修改所属组# UBUNTU连接FTP服务器
文件管理器 Other Locations Connect to server
ftp://172.17.0.1:100214.2 Portainer
# 拉取镜像
docker pull portainer/portainer-ce# 创建数据卷文件夹
mkdir -p ${HOME}/.docker/volumes/portainer/data# 创建容器
docker run \
--detach \
--publish 58000:8000 \
--publish 59000:9000 \
--nameportainer \
--restartalways \
--hostname localhost \
--privilegedtrue \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume ${HOME}/.docker/volumes/portainer/data:/data \
portainer/portainer-ce:latest# 浏览器中输入http://172.17.0.1:90004.3 Watchtower
# 拉取镜像
docker pull containrrr/watchtower# 创建容器
docker run \
--detach \
--name watchtower \
--restartalways \
--hostname localhost \
--privilegedtrue \
--volume /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower# 单次运行
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --run-once4.4 SiYuan
# 拉取镜像
docker pull b3log/siyuan# 创建数据卷文件夹
mkdir -p ${HOME}/.docker/volumes/siyuan/workspace
chown -R 1000:1000 ${HOME}/.docker/volumes/siyuan/workspace# 创建容器
docker run \
--detach \
--publish 56806:6806 \
--namesiyuan \
--restartalways \
--privilegedtrue \
--user 1000:1000 \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume ${HOME}/.docker/volumes/siyuan/workspace:/siyuan/workspace \
b3log/siyuan --workspace/siyuan/workspace --accessAuthCodeSiYuan123,# 浏览器中输入
# http://172.17.0.1:568064.5 GitLab
4.5.1 创建容器
# 1. 拉取镜像
docker pull gitlab/gitlab-ce# 2. 创建宿主机数据卷文件夹
mkdir -p ${HOME}/.docker/volumes/gitlab/logs # 日志
mkdir -p ${HOME}/.docker/volumes/gitlab/data # 数据
mkdir -p ${HOME}/.docker/volumes/gitlab/config # 配置# 3. 创建容器
docker run \
--detach \
--publish 50080:80 \
--publish 50022:22 \
--publish 50443:443 \
--name gitlab \
--hostname localhost \
--privilegedtrue \
--restart always \
--volume ${HOME}/.docker/volumes/gitlab/config:/etc/gitlab \
--volume ${HOME}/.docker/volumes/gitlab/logs:/var/log/gitlab \
--volume ${HOME}/.docker/volumes/gitlab/data:/var/opt/gitlab \
--volume /etc/localtime:/etc/localtime:ro \
--env GITLAB_HOST192.168.1.88 \
--env GITLAB_PORT50080 \
--env GITLAB_SSH_PORT50022 \
gitlab/gitlab-ce# 浏览器中输入
# http://172.17.0.1:500804.5.2 克隆路径问题
vim ${HOME}/.docker/volumes/gitlab/config/gitlab.rb# 方式一
external_url http://192.168.1.88:50080
gitlab_rails[gitlab_ssh_host] 192.168.1.88
gitlab_rails[gitlab_shell_ssh_port] 50022
nginx[listen_port] 80# 方式二
创建容器时不对 80 端口进行映射而是直接映射 external_url 中的端口即原本 -p 9080:80 修改成 -p 9080:9080同时不要设置 nginx[listen_port]因为 nginx 会自动监听 external_url 中的端口若 external_url 未指定端口则监听 80。docker restart gitlab4.5.3 获取默认密码
GitLab初始化时将初始秘方放在/etc/gitlab/initial_root_password且该文件在首次执行reconfigure后自动删除。由于做了数据卷挂载因此只需要到宿主机的${HOME}/.docker/volumes/gitlab/config/initial_root_password文件中获取。
sudo cat ${HOME}/.docker/volumes/gitlab/config/initial_root_password