Docker 使用

Docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker的应用场景

  • Web 应用的自动化打包和发布。

  • 自动化测试和持续集成、发布。

  • 在服务型环境中部署和调整数据库或其他的后台应用。

  • 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

Docker 安装

使用国内 daocloud 一键安装命令兼容大部分的linux

curl -sSL https://get.daocloud.io/docker | sh

#启动docker
sudo systemctl enable docker
sudo systemctl start docker

#查看是否安装完成显示版本
docker -v

Docker 使用

#直接使用docker 可以看所有的命令选项
docker 

Docker 把应用程序及其依赖,打包在 镜像文件里面。只有通过这个文件,才能生成 Docker 容器。镜像文件可以看作是容器的模板。Docker 根据 镜像 文件生成容器的实例。同一个 镜像文件,可以生成多个同时运行的容器实例。

镜像是二进制文件。实际开发中,一个 镜像文件往往通过继承另一个 镜像文件,加上一些个性化设置而生成。举例来说,你可以在 Ubuntu 的 镜像基础上,往里面加入 Apache 服务器,形成你的 镜像。官网的Docker镜像仓库

  1. 获取镜像
# 获取ubuntu 的镜像
docker pull ubuntu
#列出本地镜像
docker images 
#REPOSITORY:表示镜像的仓库源
#TAG:镜像的标签
#IMAGE ID:镜像ID
#CREATED:镜像创建时间
#SIZE:镜像大小

#查找镜像
docker search java

#删除镜像
docker rmi 镜像名
  1. 启动容器
docker run -it ubuntu /bin/bash

# -i: 交互式操作。
# -t: 终端。
# ubuntu: ubuntu 镜像。
# /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。


#退出容器
exit
  1. 查看容器
#查看启动的容器
docker ps 
#查看所有容器
docker ps -a

#启动容器
docker start 容器名/容器id
#停止容器
docker stop 容器名/容器id
#重启容器
docker restart 容器名/容器id

#删除容器
docker rm 容器名/容器id

  1. 后台运行
docker run -itd --name ubuntu-test ubuntu /bin/bash
# 加了 -d 参数默认不会进入容器

#进入容器
docker exec -it 容器名/容器id  /bin/bash
#/bin/bash后面是命令  进入mysql/redi/...等可以修改为相应的命令,例如
docker exec -it 容器名/容器id  mysql -uroot -p
docker exec -it 容器名/容器id  redis-cli

  1. 导入、导出
#导出
 docker export 1e560fca3906 > ubuntu.tar
#导入
 cat docker/ubuntu.tar | docker import - test/ubuntu:v1
  1. 查看docker 日志
docker logs -f -n 200 容器名/容器id
  1. 构建镜像
    我们使用命令 docker build , 从零开始来创建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。
FROM    centos:6.7
MAINTAINER      Fisher "fisher@sudops.com"

RUN     /bin/echo 'root:123456' |chpasswd
RUN     useradd runoob
RUN     /bin/echo 'runoob:123456' |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE  22
EXPOSE  80
EXPOSE  443
CMD     /usr/sbin/sshd -D

然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。

# -t :指定要创建的目标镜像名
# . :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
# 6.7是镜像的标签 也可用 docker tag 镜像id  centos:dev 设置
docker build -t centos:6.7 .
#启动
docker run -t -i centos:6.7  /bin/bash
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值