站长资讯网
最全最丰富的资讯网站

ubantu安装docker教程

Ubuntu

添加ubuntu-docker源

首先添加你的ubuntu-docker源: 打开你的/etc/apt/sources.list加入下面的源

ubuntu12.04

deb http://rnd-mirrors-langfang.huawei.com/docker/apt/repo ubuntu-precise main

ubuntu14.04

deb http://rnd-mirrors-langfang.huawei.com/docker/apt/repo ubuntu-trusty main

ubuntu15.04

deb http://rnd-mirrors-langfang.huawei.com/docker/apt/repo ubuntu-vivid main

然后执行下面的命令就能安装最新的docker

shell apt-get update apt-get install docker-engine

如果需要安装某个版本的docker,运行下面这个命令即可

shell apt-get install docker-engine=1.11(1.11为示例)

docker常用操作 配置docker代理 # vim /etc/default/docker export http_proxy=“******” export https_proxy=“******” # service docker restart

导入环境变量:http_proxy,https_proxy

配置docker仓库地址(默认为官方镜像仓库)

注意:从第三方镜像仓库获取镜像可能出现https证书问题

解决方案:

进入/etc/default目录,找到docker文件,在其中添加如下代码: DOCKER_OPTS="–insecure-registry dl.dockerpool.com:5000(实际第三方镜像库的地址)" 之后重启docker服务:sudo service docker restart 下载docker镜像并安装服务

此处以ubuntu为例,也可直接下载公司内部提供的欧拉docker镜像。

# sudo docker pull ubuntu

查看容器中镜像:

# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

ubuntu latest 104bec311bcd 4 days ago 129 MB

直接启动镜像:

# docker run -it -d ubuntu:latest

使用22映射端口号run镜像启动容器:

# docker run -d -p :22 ubuntu:latest

挂卷启动:

# dockerrun-it-v/home/xul:/mntubuntu:latest

冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。

查看运行的容器:

# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS

c3b1a9a03326 ubuntu:latest "/bin/bash" 9 minutes ago Up 9 minutes 进入容器:

# sudo docker exec -it c3b1a9a03326 /bin/bash

进入容器后,可以在容器中安装服务。

在宿主机执行docker commit,合并生成新的镜像。

#docker commit -m "ccs"(注释说明) -a "huawei"(修改者) c3b1a9a03326 css:v1.0(新镜像名称)

编写dockerfile,集成服务所需要的配置和启动脚本,合并到新的镜像。(备注:也可以将安装等步骤都合并在dockerfile中一次完成,只是dockerfile文件的编写复杂一些)

保存镜像:

#docker save -o .tar ubuntu:latest(镜像名称及tag)

加载本地镜像:

#docker load < /***/***/.tar (import)

设置镜像名称及tag

#docker tag name:tag

Dockerfile

Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile。Docker程序将读取Dockerfile,根据指令生成定制的image。

FROM  

dockerfile里的第一条指令,后面跟有效的镜像名。

ADD:挂载文件

格式为ADD path1 path2

该命令将复制path1指定的到容器中的path2。 其中path1可以是Dockerfile所在目录的一个相对路径;也可以是一个URL;还可以是一个tar文件(自动解压为目录),eg:

ADD /home/redhat/test /home/test

ARG

定义变量,只在build时有效,不会被保存在镜像中

RUN

后跟要执行的linux命令,每一条RUN指令(可能会有多条linux命令)会在当前容器最上面的可读写层执行并且提交成一个新的镜像层,接下来的指令会在这个新的镜像层里执行。

CMD

CMD指令指定你制作出来的镜像在启动成容器时运行命令的默认的参数。

ENTRYPOINT

容器的进入点。这个指令会覆盖它前面的CMD指令,而多个 ENTRYPOINT指令只有最后一个生效。同时也可以在在启动container 的时候指定–entrypoint参数来覆盖dockerfile里的ENTRYPOINT。

EXPOSE

EXPOSE指定容器对外暴露的端口号。

ENV

指定环境变量的值,保存在镜像中。

赞(0)
分享到: 更多 (0)

网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号