Ubuntu22.04安装使用Docker
- 概述
- 什么是Docker ?
- Docker 的优点
- Docker的安装
- (1) 安装 Docker 依赖项
- (2) 启用 Docker 官方存储库
- (3) 使用 Apt 命令安装 Docker
- (4) 验证和测试 Docker
- 安装 Docker Compose
- 1. 使用二进制文件安装 Docker Compose
- 2. 使用 Pip 安装 Docker Compose
- 使用Docker搭建开发环境
- 一、建立Ubuntu22.04 的基础docker环境
- 二、简单部署一下docker的开发环境
- 测试:使用Docker安装企业微信
- 问题1:企业微信关闭后如何重新打开?
- 问题2:企业微信中接收到的文件存放位置?
概述
什么是Docker ?
Docker是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),用社区版就可以。
Docker 的优点
Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。
1、快速,一致地交付您的应用程序
Docker 允许开发人员使用您提供的应用程序或服务的本地容器在标准化环境中工作,从而简化了开发的生命周期。
容器非常适合持续集成和持续交付(CI / CD)工作流程,请考虑以下示例方案:
您的开发人员在本地编写代码,并使用 Docker 容器与同事共享他们的工作。
他们使用 Docker 将其应用程序推送到测试环境中,并执行自动或手动测试。
当开发人员发现错误时,他们可以在开发环境中对其进行修复,然后将其重新部署到测试环境中,以进行测试和验证。
测试完成后,将修补程序推送给生产环境,就像将更新的镜像推送到生产环境一样简单。
2、响应式部署和扩展
Docker 是基于容器的平台,允许高度可移植的工作负载。Docker 容器可以在开发人员的本机上,数据中心的物理或虚拟机上,云服务上或混合环境中运行。
Docker 的可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展或拆除应用程序和服务。
3、在同一硬件上运行更多工作负载
Docker 轻巧快速。它为基于虚拟机管理程序的虚拟机提供了可行、经济、高效的替代方案,因此您可以利用更多的计算能力来实现业务目标。Docker 非常适合于高密度环境以及中小型部署,而您可以用更少的资源做更多的事情。
Github Docker 源码:https://github.com/docker/docker-ce
Docker的安装
(1) 安装 Docker 依赖项
登录到 Ubuntu 22.04系统,并运行以下 APT 命令:
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
安装 Docker 依赖项。
(2) 启用 Docker 官方存储库
虽然 docker 包在默认的包存储库中可用,但建议使用 docker 官方存储库:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
(3) 使用 Apt 命令安装 Docker
Docker 有两个版本:社区版和企业版。在这里可以运行下面的命令安装社区版:
sudo apt-get update #不能少了这一步
sudo apt install docker-ce docker-ce-cli containerd.io -y
docker 包安装完成后,请将本地用户加入 docker 组,以便该用户无需 sudo 即可执行 docker 命令
sudo usermod -aG docker $USER
newgrp docker
通过执行以下命令验证 Docker 版本
docker version
验证 docker 守护进程服务状态,执行 systemctl 命令:
确认 docker 守护进程服务已启动并正在运行。
(4) 验证和测试 Docker
使用下面的 docker 命令启动一个 hello-world 容器:
docker run hello-world
将下载 hello-world 容器镜像,然后将启动一个容器。如果容器显示提示:
那么docker 安装成功了。
安装 Docker Compose
1. 使用二进制文件安装 Docker Compose
下载最新 Docker Compose 。
运行下列命令安装最新稳定的 Docker Compose 文件:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
如果是:docker-compose-linux-armv7,
那么命令就是:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-e-linux-armv7" -o /usr/local/bin/docker-compose
如果有更新版本,只需要将上述命令中的 v2.6.1 替换为最新的版本号即可。请不要忘记数字前的 “v” 。
最后,使用下列命令赋予二进制文件可执行权限:
sudo chmod +x /usr/local/bin/docker-compose
运行下列命令检查安装的 Docker Compose 版本:
docker-compose version
Docker Compose version v2.6.1
2. 使用 Pip 安装 Docker Compose
使用 Pip 安装 Docker Compose 。Pip 是 Python 包管理器,用来安装使用 Python 编写的应用程序。
参考链接安装 Pip
安装 Pip 后,运行以下命令安装 Docker Compose。下列命令对于所有 Linux 发行版都是相同的:
pip install docker-compose
- 安装 Docker Compose 后,使用下列命令检查版本:
docker-compose --version
- 你将会看到类似下方的输出:
docker-compose version 2.6.1, build 8a1c60f6
则安装了 Docker 社区版和 Docker Compose 。
如果是 CentOS 系统,参考 CentOS 系统安装 Docker。
使用Docker搭建开发环境
一、建立Ubuntu22.04 的基础docker环境
- 先建立一个本地工作目录duo,方便在docker内外交换文件:
mkdir duo
cd duo
- 拉取ubuntu22.04的docker官方镜像:
docker pull ubuntu:22.04
- 拉取完成后,进一步启动docker环境:
docker run --name duo -it -v /dev:/dev --privileged -v $(pwd):/root/duo -w /root/duo ubuntu:22.04
duo为项目名称。
注意:如果没有-v /dev:/dev --privileged,则在后续执行pack_sd_image打包镜像的时候会出错。
上述具体操作过程如下:
现在,基础的Ubuntu22.04环境,已经建立。
PS:如退出或者重启过docker服务,可通过如下方式重新进入:
# 进入对应docker的bash环境:
docker exec -it duo bash
# 如上一步执行没有进入,或者提示duo没有启动,那就执行下一步好了:
docker start duo -i
二、简单部署一下docker的开发环境
- 先更新系统,安装基础的工具包:
apt update
apt install dialog python3-dev make git bc gcc flex bison ninja-build libssl-dev \
rsync pkg-config device-tree-compiler squashfs-tools parted dosfstools cpio unzip wget \
curl sudo fdisk udev
- 检查cmake版本:
官方安装指导中,需要手动下载cmake3.19版本安装,但上述环境启用后,直接使用apt install cmake即可,安装完检查版本即可,具体命令如下:
apt install cmake
cmake --version
- 安装conda:
下载链接:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
bash ./Anaconda3-2023.07-1-Linux-x86_64.sh
配置环境变量:
打开环境配置文件:
# vim或者gedit都可以
vim ~/.bashrc
# 或者
gedit ~/.bashrc
export PATH="/dir/anaconda3/bin:$PATH"
使之生效:
source ~/.bashrc
测试:使用Docker安装企业微信
使用sudo apt install com.qq.weixin.work.deepin
方式无法安装企业微信,所以用docker的方式来解决。
在ubuntu22.04下只能使用fcitx,不然输入法无法输入中文。
拷贝以下代码:
docker run -d --name wechat --device /dev/snd --ipc host \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v $HOME/WXWork:/WXWork \
-v $HOME:/HostHome \
-v $HOME/wine-WXWork:/home/wechat/.deepinwine/Deepin-WXWork \
-e DISPLAY=unix$DISPLAY \
-e XMODIFIERS=@im=fcitx \
-e QT_IM_MODULE=fcitx \
-e GTK_IM_MODULE=fcitx \
-e AUDIO_GID=`getent group audio | cut -d: -f3` \
-e GID=`id -g` \
-e UID=`id -u` \
-e DPI=96 \
-e WAIT_FOR_SLEEP=1 \
boringcat/wechat:work
保存为.sh脚本,chmod +x xxx.sh 增加执行权限,执行脚本(前提是已安装好docker)。
问题1:企业微信关闭后如何重新打开?
-
docker ps -a 查看所有容器进程
-
找到企业微信对应进程,拿到其对应的容器ID(CONTAINER ID列),执行docker rm
-
重新执行上面的.sh脚本,即可重新呼出企业微信
问题2:企业微信中接收到的文件存放位置?
整体目录在wine-WXWork/drive_c/users/wechat/,下面仍然会有 Desktop,Download…等文件夹,这里的文件夹是在企业微信里点击接收的文件“另存为”时弹出的目录。