频道栏目
首页 > 资讯 > 云计算 > 正文

Docker初体验docker安装

17-06-29        来源:[db:作者]  
收藏   我要投稿

安装docker

有多系统现在默认装了docker,可以运行docker启动命令尝试下,如果没有安装显示如下:

$ sudo /bin/systemctl start  docker.service
Failed to start docker.service: Unit docker.service failed to load: No such file or directory.
# 也可以运行 rpm -qi docker 进行查看是否安装docker
$ rpm -qi docker
package docker is not installed

docker的安装比较简单,有现成的脚本直接执行就ok curl -sSL https://get.docker.com/ | sh

脚本执行成功之后,安装并没有结束,需要将当前用户加入到docker用户组中,执行命令sudo usermod -aG docker username

现在就可以启动docker来验证下是否安装成功,可以执行sudo /bin/systemctl start docker.service 或者 sudo service docker start
如果执行docker命令报Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.29/info: dial unix /var/run/docker.sock: connect: permission denied错误的话,退出重新登录下就OK了。

docker常用命令

查看docker相关信息 docker info 查看本地镜像 docker image 从远程仓库里拉取image docker pull ubuntu:14.04 查看存活的容器 docker ps,查看所有的容器docker ps -a,docker ps -q只显示容器ID 删除image docker rmi,强制删除docker rmi --force,批量删除docker rmi $(sudo docker images | grep "" | awk '{print($3)}') 查看容器log docker logs containerID 启动容器tomcat docker run -p 8080:8080 test/tomcat,进入终端docker run -t -i -v /etc/localtime:/etc/localtime -p 8080:8080 test/tomcat /bin/bash

自定义docker镜像

从远程仓库拉取的image自己难免要进行一些个性化的修改,对image进行修改有两种方法,一种是在容器里直接修改然后执行docker commit将修改后的image进行保存,另一种是通过Dockerfile进行修改。
第一种虽然可以比较直观的帮助理解镜像分层存储的概念,但是实际环境中并不会这样使用。因为这样会使很多多余的文件也保存到image中,将会导致镜像极为臃肿,也不利于别人对image的理解。
第二种会将对原始image的修改都记录在Dockerfile中,体现更好的逻辑性和层次性。

下面就来看下在官方ubuntu的基础上进行修改的Dockerfile文件

FROM ubuntu

ADD start.sh /
RUN chmod 777 /start.sh
#RUN apt-get update
#RUN apt-get install vim
CMD /start.sh

上述的Dockerfile上将start.sh脚本复制到容器的/目录下,然后执行RUN命令在build image时更改脚本的权限,最后执行CMD命令设置容器启动时的默认执行命令。
start.sh脚本中可以写任何你希望容器在启动成功之后执行的命令,比如启动mysql服务什么的,这里只是echo 了个hello world。

Dockerfile文件编辑好之后,在当前目录下执行build命令,docker build -t hunhun/ubuntu .,这里通常都会提醒你注意最后的那个.。

虽然可以通过Dockerfile自定义镜像,并在启动容器的执行自定义的命令对容器进行初始化,但在测试时,对于新手可能有些镜像使用Dockerfile无法构建,那么就可以退而求次使用commit命令在基础镜像中进行修改然后执行commit命令,之后可以将image进行保存,命令docker save ubuntu_mysql:v0.2 > ubuntu_mysql_0.2.tar。

相关TAG标签
上一篇:社区发现评估指标-NMI
下一篇:跨域资源共享(CORS)问题解决
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站