还我漂漂机--docker的艺术
引
早就听闻docker之名,能带来怎么怎么好,一直没有使用。如今来研究研究它,那么docker是什么有什么用呢?
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发
布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,以上是百度百科的解释。
那么说说我理解的docker,docker是容器有点类似于虚拟机,docker里面可以放很多程序。
那么我们可以做什么呢,我们在写程序的时候配置环境是最烦人的,什么python2,python3,java系的各种配置环境;
还有安装各种开发软件。当你后来不需要他们卸掉的时候,电脑里有可能有各种程序的残留。
残念
如果能把这些东西都放入docker中,我的系统保持不变,然而所有的软件为我所用。我的电脑什么都没有,借各种软件为我所用,有种本来无一物,何处惹尘埃的禅意。
安装docker
关闭 selinux:
输入selinux 0是临时关闭,重启后selinux又由处于开启状态
永久关闭selinux可以使用vi命令打开/etc/sysconfig/selinux 文件将SELINUXTYPE=(disable或permissive)
使用DaoCloud的安装脚本
curl -sSL https://get.daocloud.io/docker | sh
systemctl start docker 启动
systemctl enable docker 设置开机启动
安装完成后,国内访问 Docker Hub 有时会遇到困难,可以配置镜像加速。
推荐阿里云加速镜像和163的,DaoCloud我用的比较慢。
以下地址需登录
阿里云docker安装及加速
https://cr.console.aliyun.com/#/accelerator
163镜像
https://c.163.com/hub#/m/home/
docker官网中文也有加速了,我没有试过,有兴趣的可以试试
https://www.docker-cn.com/registry-mirror
常用的docker命令
docker images 查看本地镜像
docker ps 正在使用的docker
docker ps -a 没有在使用的docker
docker rmi xx 删除镜像
docker run -it centos /bin/bash 进入生成新的容器
docker exec -it xx bash 进入已经有的容器
docker run --name my-web -d -p 8080:80 mynginx 打开容器8080端口映射80
docker run --name my-web -d -p 8080:80 -v /etc/docker/mynginx/nginx/conf:/etc/nginx/conf.d mynginx 打开容器8080端口映射80
docker stop xx 停止容器
docker rm -v xx 删除容器
docker build xx . 构造镜像
docker logs xx(容器id) 查看日志
我的构建
nginx的Dockerfile文件
图例
代码
FROM centos RUN yum -y update
&& echo -e '[nginx]\nname=nginx repo\nbaseurl=https://nginx.org/packages/centos/$releasever/$basearch/\ngpgcheck=0\nenabled=1 ' > /etc/yum.repos.d/nginx.repo
&& yum -y install nginx
&& yum clean all EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]
docker build -t nginx
构建火狐的Dockerfile文件
图例
代码
FROM centos RUN yum -y update && yum -y install firefox &&
export uid=1000 gid=1000 &&
mkdir -p /home/developer &&
mkdir -p /etc/sudoers.d/ &&
systemd-machine-id-setup &&
echo "developer❌${uid}:${gid}:Developer,,,:/home/developer:/bin/bash" >> /etc/passwd &&
echo "developer❌${uid}:" >> /etc/group &&
echo "developer ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/developer &&
chmod 0440 /etc/sudoers.d/developer &&
chown ${uid}:${gid} -R /home/developer USER developer ENV HOME /home/developer CMD /usr/bin/firefox
构建命令docker build -t firefox
执行火狐镜像
docker run -ti --rm
-e DISPLAY=$DISPLAY
-v /tmp/.X11-unix:/tmp/.X11-unix
firefox
-e DISPLAY=$DISPLAY
-v /tmp/.X11-unix:/tmp/.X11-unix
firefox
理想状态
参考地址
http://www.aizhuanji.com/a/rw02dqQW.html
http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker/
http://www.runoob.com/docker/docker-tutorial.html
https://docs.docker-cn.com/ docker官网中文地址
最后更新于 2017-08-19 17:25:07 并被添加「」标签,已有 3528 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处