最近关于docker的安装以及配置的记录

docker可以理解为跟虚拟机或者wine一类的东西。不过docker运行所需要的资源要稍微小一些,但相比一版是app或者iOS的sandbox来说还是相对大一点。

wechat image 864MB

gitlab image 1.41GB

之前走过一些弯路,就是在Ubuntu16上面安装docker,其实比较不方便,后来是在Ubuntu20上安装,就容易得多。最容易是在MacOS上安装。

参考链接:https://zhuanlan.zhihu.com/p/143156163

安装docker主要源没有问题就很顺利,如果源有问题就需要用对的源。

我对docker感兴趣的原因是2点,第一点是为了尝试在docker上跑gitlab,因为之前在Ubuntu上配置gitlab也走了很多弯路,直到有人说docker配置gilab只需要一句命令,听到这话真是热泪盈眶,相见恨晚啊!

$ docker pull gitlab/gitlab-ce

$ 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

# -d:后台运行

# -p:将容器内部端口向外映射

# --name:命名容器名称

# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

gitlab运行是在容器里面,不过仓库文件是配置在用户定义的目录里,gitlab的启动时间比较长,因为我的机器内存不够,所以我没有看到成功跑起来,后面我要换一台主机再来试验一下。

在docker运行gitlab真的非常简单,不过很快系统就崩溃了,原因是gitlab默认运行需要配置4G的memory,而我因为用虚拟机跑docker,只配置了2G,所以内存耗尽之后崩溃。

第二点是想看看docker版的wechat长什么样子,因为实在是厌烦了网页版的wechat,工作原因,用Ubuntu系统,没有好用的wechat。

https://zhuanlan.zhihu.com/p/323723229

wechat也很容易跑起来,问题只在于配置长长一串参数,写成shell脚本即可。

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

wechat的运行需要依赖gui有关的东西,以及输入法,声卡,摄像头等等,如果配置不对就会出现各种问题,输入法是依赖fcitx,qt等东西,不过在Ubuntu20下面很好解决。按照说明来操作即可,链接:

https://pinyin.sogou.com/linux/help.php

注意要用2.4版,而不是2.3版。

总之so far so good。

总结,最关键是选对平台,选对了平台就没有那么多坑,当然坑还是有的,不过现在已经排除了,比如输入法问题,崩溃问题,这些也考验动手能力,不过主要还是要选对平台。


后记:

后来发现在Ubuntu16也是可以安装docker的,所以顺便记录一下:

https://www.runoob.com/docker/ubuntu-docker-install.html

https://www.runoob.com/docker/docker-mirror-acceleration.html

需要注意,上面说明要选着看,(所以如果没有在Ubuntu20上成功装过一次的经历,直接这样装就容易失败。)用官方脚本安装是不行的,需要手动安装,需要用国内的GPG密匙:

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add

国内的源:

sudo add-apt-repository \   "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \   $(lsb_release -cs) \   stable"

安装完成之后需要配置国内镜像的源,不然pull不下image。

补充最近一点:

由于wechat是在docker里运行的,如果需要下载文件或上传文件,有时候不是特别方便,所以最好是在脚本里用-v参数把常用的目录加载到容器里,这样就会方便一些;举例来说,上面写的脚本:

-v /tmp/.X11-unix:/tmp/.X11-unix \

-v $HOME/WeChatFiles:/WeChatFiles \

只加载了Wechatfiles目录,只需要仿照这个写法把当前的用户home目录加载进去即可更方便:

-v $HOME:/HOME \

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容