1、安装docker
卸载旧版本
代码语言:javascript复制sudo apt-get remove docker docker-engine docker.io containerd runc
更新apt源
代码语言:javascript复制sudo apt update
安装 apt 依赖包,用于通过 HTTPS 来获取仓库
代码语言:javascript复制sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg2
software-properties-common
添加 Docker 的官方 GPG 密钥:
代码语言:javascript复制curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥
sudo apt-key fingerprint 0EBFCD88
使用以下指令设置稳定版仓库:
代码语言:javascript复制sudo add-apt-repository
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian
$(lsb_release -cs)
stable"
更新 apt 包索引:
代码语言:javascript复制sudo apt update
安装最新版本的 Docker Engine-Community
和 containerd
,或者转到下一步安装特定版本:
sudo apt-get install docker-ce docker-ce-cli containerd.io
要安装特定版本的 Docker Engine-Community,请在仓库中列出可用版本,然后选择一种安装。列出您的仓库中可用的版本:
代码语言:javascript复制$ apt-cache madison docker-ce
docker-ce | 5:18.09.1~3-0~debian-stretch | https://mirrors.ustc.edu.cn/docker-ce/linux/debian stretch/stable amd64 Packages
docker-ce | 5:18.09.0~3-0~debian-stretch | https://mirrors.ustc.edu.cn/docker-ce/linux/debian stretch/stable amd64 Packages
docker-ce | 18.06.1~ce~3-0~debian | https://mirrors.ustc.edu.cn/docker-ce/linux/debian stretch/stable amd64 Packages
docker-ce | 18.06.0~ce~3-0~debian | https://mirrors.ustc.edu.cn/docker-ce/linux/debian stretch/stable amd64 Packages
...
使用第二列中的版本字符串安装特定版本,例如 5:18.09.1~3-0~debian-stretch
。
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
测试 Docker 是否安装成功,输入以下指令,打印出以下信息则安装成功:
代码语言:javascript复制$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete Digest: sha256:c3b4ada4687bbaa170745b3e4dd8ac3f194ca95b2d0518b417fb47e5879d9b5f
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
2、安装微信
拉取微信镜像
代码语言:javascript复制sudo docker pull bestwu/wechat
创建运行脚本wechat.sh
sudo docker run -d --name wechat --device /dev/snd --ipc="host"
-v /tmp/.X11-unix:/tmp/.X11-unix
-v $HOME/WeChatFiles:/WeChatFiles
-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`
bestwu/wechat
使用脚本
代码语言:javascript复制source wechat.sh
开启关闭
代码语言:javascript复制# 开启
sudo docker start wechat
# 关闭
sudo docker stop wechat
注意:可能会有黑点,可以在微信聊天窗口数据哈哈,会有表情,然后在删掉输入内容就没了
3、安装企业微信
直接编辑脚本 wework.sh
#!/bin/bash
NAME="wework"
VOLUME_BASE="$HOME/docker_data/wework"
mkdir -p $VOLUME_BASE
docker ps -q -a --filter "name=$NAME" | xargs -I {} docker rm -f {}
docker run -d --name $NAME --device /dev/snd --ipc host
-v /tmp/.X11-unix:/tmp/.X11-unix
-v $VOLUME_BASE/WXWork:/WXWork
-v $HOME:/HostHome
-v $VOLUME_BASE/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
--ip 172.19.0.2
boringcat/wechat:work
使用脚本
代码语言:javascript复制source wework.sh
注意:可能会报错(没有权限)
代码语言:javascript复制song@song:~/docker$ source wework.sh
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http:///var/run/docker.sock/v1.40/containers/json?all=1&filters={"name":{"wework":true}}: dial unix /var/run/docker.sock: connect: permission denied
docker: unknown server OS: .
See 'docker run --help'.
解决方案
代码语言:javascript复制sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker
再次source脚本即可
接下来就是漫长的等待,下载完毕后启动
代码语言:javascript复制# 列出正在运行的容器
docker ps
# 显示所有的容器,包括未运行的
docker ps -a
# 查看容器对应的CONTAINER ID 启动
docker start a98873321d4f
# 关闭
docker stop a98873321d4f