docker 简单使用以及利用Dockerfile构建属于自己的镜像

安装docker

 vim /etc/apt/sources.list  加入以下代码:

deb http://http.debian.net/debian wheezy-backports main

然后刷新源: apt-get update 
如果有安装过docker,则先删除旧版本docker

apt-get purge lxc-docker*

apt-get purge docker.io*

apt-get update

确认apt添加了https方法和CA cerificates

apt-get install apt-transport-https ca-certificates

添加一个新的GPG key

apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76

编辑文件:

vim /etc/apt/sources.list.d/docker.list, 因为基于Debian Wheezy版本

deb https://apt.dockerproject.org/repo debian-wheezy main

扫描二维码关注公众号,回复: 4228233 查看本文章

 apt-get update

确认正确安装repository

apt-cache policy docker-engine

正式安装:

apt-get update

apt-get install docker-engine

systemctl start docker

docker run hello-world

docker 的一些命令

docker search ubuntu查找镜像

docker pull 拉取镜像

docker run -it imageID i 交互式 t terminal 退出ctrl p+ctrl +q

后台运行 加上个-d daemon重新进入后台的docker docker attach containID

但有时attach进不去,可以使用 docker exec -it containID /bin/bash 

更新:attach退出后会导致容器死掉,所以采用docker exec -it xxx /bin/bash

docker stop containID 每次run 一次就是一个新的容器,docker ps -a查看还可运行时指定container 的名称 --name

利用Dockerfile构建docker镜像 Dockerfile文件

利用docker build -t  镜像名称:标签名称  .    -t指tag 后面有个 点表示要将Dockerfile放在当前目录下且Dockerfile名称就为Dockerfile

docker images查看本地镜像 ,运行已构建好的镜像

docker run -d -p 8888:8888 -v local:docker --name xxx image:tag

-d 后台 -p本地端口-vdocker和本地互通的位置 :前面为本机 后面为docker的

进入docker docker exec -it containerId /bin/bash 

Dockerfile 文件内容:每个docker命令需大写:具体含义

FROM ubuntu:lastest #从哪个镜像
MAINTAINER xxx 作者
RUN 构建docker镜像运行的命令
ADD 本地 docker 添加本地的东西到docker内
ENV JAVA_HOME /usr/jdk1.8 设置环境变量
EXPOSE 8443 对外暴露哪个端口
WORKDIR xxx 切换到docker内的指定目录
ADD start.sh start.sh
RUN chmod +x start.sh
CMD "./start.sh" 每次run docker时执行的命令 这里有一个大坑!!!

运行docker容器后如果docker命令执行完之后,就会自动exit,它自己就会觉得没什么事做,就exit了,尽管加了 -d 后台

所以,须在CMD start.sh 中执行指定命令后加入一个死循环,以保持容器一直运行,比如说

while true:

do

sleep 10s

done
 

猜你喜欢

转载自blog.csdn.net/qq_38250124/article/details/84025898