docker的安装及使用
docker
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
沙箱机制就相当于一个轮船运载的集装箱, 并不关心内部是怎么样的, 只关心把这个箱子打包好, 完成运输
docker 安装
ubuntu 16.04 安装最新的 docker
docker有两个版本, 一个是docker-ce(社区版), 一个是docker-ee(企业版)
docker-compse:可运行和管理多个docker容器。
docker-machine:docker官方提供的docker管理工具。可管理多个docker主机,可搭建swarm集群。
1.卸载旧版本的docker
全新安装时,无需执行该步骤
$ sudo apt-get remove docker docker-engine docker.io
2.更新系统软件
$ sudo apt-get update
3.安装依赖包
$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
4.安装官方密钥
执行该命令时,如遇到长时间没有响应说明网络连接不到docker网站,需要使用代理进行。
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
显示OK,就代表添加成功.
5.添加仓库
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
6.再次更新软件
$ sudo apt-get update
7.安装docker
如果想指定安装某一版本,可使用 sudo apt-get install docker-ce=<VERSION> 命令,把<VERSION>替换为具体版本即可。
默认是安装最新版本
$ sudo apt-get install docker-ce
8.查看docker的版本
$ docker -v
显示“Docker version 17.09.0-ce, build afdb6d4”字样,表示安装成功。
docker的基本操作
docker images 查看本地的镜像 docker search 镜像名 搜索网上的相关镜像 docker pull 镜像名 拉取你要的镜像 docker rmi 镜像名 删除镜像 docker save 镜像名|gzip>>保存的文件名.tar.gz docker load 保存的文件名.tar.gz docker run -it 镜像名 进入时使用的shell方式 bash sh --name 名字 可以给我们的容器起一个名字 docker ps 查看正在运行的容器 -a 能显示那些已经关掉的容器 docker rm 容器id或者容器名字 docker exec -it 容器的名字 bash 进入到一个正在启动的容器 exit 可以退出当前的容器
网络映射
docker run -d -p 主机端口:容器端口 容器名 命令(比如nginx)
数据卷
-v 宿主机目录:容器目录
数据卷容器
--volumes-from + 容器名
容器互联
先启动一个容器 docker run -d --name web1 -p 80:80 mynginx ningx 在启动一个容器: docker run -d --name web2 --link web1 -p 8080:80 mynginx ningx
Dockerfile
FROM ubuntu MAINTAINER louyifei abc835352@163.com RUN apt-get update RUN apt-get install nginx -y RUN echo "daemon off;">>/etc/nginx/nginx.conf #设置开放端口 EXPOSE 80 # 默认在容器启动的时候执行的命令 CMD ["nginx"]
sudo docker build -t tag ./
常见命令
FROM: 目地:指定基础的image,表示新程序基于哪个image构建新image 语法: FROM <image>:<tag>tag:版本号,如果没有,则使用最新版本 MAINTAINER 指定镜像创建者信息 语法:MAINTAINER <name> RUN RUN可以运行任何被基础image支持的命令 语法: . CMD 容器启动时运行的操作。该指令只能在文件中存在一次,如果有多个,则只执行最后一条 USER 设置启动容器的用户,默认是root用户。指定 memcached 的运行用户daemon ENTRYPOINT 设置容器启动时执行的操作。该指令只能在文件中存在一次,如果有多个,则只执行最后一条 EXPOSE 指定容器需要映射到宿主机器的端口 ENV 在image中设置一个环境变量。 ADD 从src复制文件到容器的的dest路径 VOLUME 指定挂载点. WORKDIR 切换目录。可以多次切换工作目录(相当于cd命令)
1 docker login 可以加你的docker网址 默认是https://hub.docker.com
2 给你的镜像打标签 docker tag 镜像名/id 用户名/存到远端叫什么:tag标签
3 docker push 第2步 镜像名/id后边跟的 名字
sudo docker login sudo docker images sudo docker tag 77b3321ee9b8 louyifei8888/project sudo docker push louyifei8888/project