做定制校服的网站,物业管理系统有哪些模块,品牌营销推广,app官方安装下载参考资料#xff1a;
通俗易懂了解什么是docker?Docker 教程 | 菜鸟教程Ubuntu 22.04 安装 DockerDocker 超详细基础教程WSL2 支持 systemctl 命令systemd 和 systemctl 是什么#xff1f;使用正确的命令重启 WSL 子系统Ubuntu 修改源镜像方法Docker 中出现 ‘/etc/resolv.…参考资料
通俗易懂了解什么是docker?Docker 教程 | 菜鸟教程Ubuntu 22.04 安装 DockerDocker 超详细基础教程WSL2 支持 systemctl 命令systemd 和 systemctl 是什么使用正确的命令重启 WSL 子系统Ubuntu 修改源镜像方法Docker 中出现 ‘/etc/resolv.conf’: Device or resource busy 错误的处理原因及方式Linux中永久设置环境变量 LD_LIBRARY_PATH 的终极指南 文章目录 启用 systemdDocker 安装Docker 使用基本指令数据卷挂载简单配置容器 启用 systemd
本人使用 WSL 作为开发环境但是它默认使用 init 管理进程使用 systemctl 时会报错。现在我们在 WSL 中启用 systemd 进程管理器。
cd /etcsu #进入 root 权限echo 123 wsl.conf #新建配置vim wsl.conf打开配置文件输入
[boot]
systemdtrue然后重启 WSL没法直接 reboot进入 cmd 执行
wsl --shutdownwsl查看是否成功启用 systemctl 命令行工具
systemctl list-unit-files --typeserviceDocker 安装
首先更新软件包
sudo apt-get update #拉取列表
sudo apt-get upgrade #实际更新然后开始安装 Docker
sudo apt-get install ca-certificates curl gnupg lsb-releasecurl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository deb [archamd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable #添加软件源apt-get install docker-ce docker-ce-cli containerd.i #安装dockersudo usermod -aG docker $USER #配置用户组然后重启 WSL和上一节如何启用 systemd 中的步骤一样启动 Docker 服务
sudo service docker startsudo apt-get -y install apt-transport-https ca-certificates curl software-properties-commonsudo service docker restart现在尝试运行一个容器会自动下载挺小的
sudo docker run hello-world它会打印一些信息。
Docker 使用
基本指令
直接输入 docker 将打印帮助信息
Usage: docker [OPTIONS] COMMAND
...各指令的帮助文档
docker [OPTIONS] --help查看 docker 版本
docker version查看本地镜像下载/导入
docker images删除本地镜像需要先 stop 和 rm 对应的容器
docker rmi hello-worlddocker rmi $(docker images -a -q) #删除所有镜像交互式运行 Ubuntu 22.04下载大约 30 MB 的镜像使用 exit 退出会结束容器
docker run -it ubuntu:22.04 /bin/bash #是两个参数 -i 和 -t但只用其中之一会卡死后台运行在容器中运行一个后台程序
docker run -d ubuntu:22.04 /bin/sh -c while true; do echo hello world; sleep 1; done使用如下指令查看所有容器包括CONTAINER ID标志符IMAGE镜像COMMAND执行的指令CREATED创建时间STATUS当前状态PORTS端口和连接NAMES名称 docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9219b814c9a9 ubuntu:22.04 /bin/sh -c while t… About a minute ago Up About a minute happy_goldberg查看某个容器内的标准输出流
docker logs 9219b814c9a9
docker logs happy_goldberg进入后台容器使用 exit 退出仍保持后台运行
docker exec -it 9219b814c9a9 /bin/bash结束后台容器
docker stop 9219b814c9a9docker stop $(docker ps -a -q) #停止所有容器重启被结束的容器数据文件都还在
docker restart 9219b814c9a9导出容器快照
docker export 9219b814c9a9 docker-9219b814c9a9.tar删除容器同时也销毁数据
docker rm 9219b814c9a9docker rm $(docker ps -a -q) #删除所有容器从快照导入容器镜像使用 docker images 查看是否成功导入
docker import docker-9219b814c9a9.tar test:v1然后尝试运行该镜像成功恢复了数据
docker run -itd test:v1 bash数据卷挂载
为了方便 WSL 中容器和 Windows 主机的交互我们将 WSL 子系统上的 mnt 目录中的某个文件夹给挂载到某个容器上。注意挂载的目录不是容器的一部分在导出镜像时其中的文件不被保留。
首先在 Windows 主机上新建一个专用目录例如 D:\Docker
在创建容器时使用如下指令来挂载目录挂载到 /root 上
docker run -v /mnt/d/Docker:/root 34f4123b1ce3其创建了如下的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
047bc0c31065 ubuntu:22.04 bash 21 seconds ago Up 20 seconds elastic_heisenberg进入该容器查看 /root 目录可以和 Windows 主机共享数据
docker exec -it 047bc0c31065 bashcd /root简单配置容器
新建的容器是空白的很多工具包都没有文本编辑器都没有因此这里简单配置一下。
直接 apt update 连不上 http://archive.ubuntu.com/ubuntu/因此要修改 apt 源。我们已经配置了 /root 挂载因此可以进入 /etc/apt/使用如下的指令把要修改的文本复制出来
cp ./sources.list /root/然后在 Windows 主机的 D:\Docker 目录内修改这个文件如下
# 国内的 apt 源######## Ubuntu22.04LTS 清华镜像源 ###############
# 默认注释了源码镜像以提高 apt update 速度如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse# 预发布软件源不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse######## Ubuntu22.04 阿里云镜像源 ###############
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse######## Ubuntu22.04 中科大镜像源 ###############
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
如果依然连不上那就是 DNS 有问题需要修改 /etc/resolv.conf 文件。但是在 docker 中宿主的 /etc/resolv.conf 被挂载入容器在容器中没法删除它总是报错 “rm: cannot remove ‘./resolv.conf’: Device or resource busy”。
首先看一眼文件内容
cat ./resolv.conf# Generated by Docker Engine.
# This file can be edited; Docker Engine will not make further changes once it
# has been modified.nameserver 10.255.255.254# Based on host file: /etc/resolv.conf (legacy)
# Overrides: []然后使用如下的替换指令来修改它
echo $(sed s/10.255.255.254/8.8.8.8/g /etc/resolv.conf) /etc/resolv.conf现在可以更新软件列表和软件包了
apt-get update
apt-get upgrade然后安装一些必要的软件包
apt install vim wget curl gitapt install gcc g make cmake autoconf automake texinfo libtool还要对 git 换下源
git config --global url.https://mirror.ghproxy.com/.insteadOf https://github.com/vim ~/.gitconfig