CS_Docker

初始化

参考

大数据实验室
使用Docker搭建Hadoop分布式集群
使用镜像搭建hadoop
centos7下安装参考
文档公约

安装docker

curl -fsSL https://get.docker.com/| sh

如果报错:Delta RPMs disabled because /usr/bin/applydeltarpm not installed.

yum provides '*/applydeltarpm'
yum install deltarpm

如果之前安装过docker,再安装就会发生冲突,这时先查看当初安装的docker列表

yum list installed | grep docker

输出

[root@izuf63ogbm79z4tbul86e1z ~]# yum list installed | grep docker
docker-ce-cli.x86_64                 1:18.09.8-3.el7                   @docker-ce-stable
[root@izuf63ogbm79z4tbul86e1z ~]# yum -y remove docker-ce-cli.x86_64
已加载插件:fastestmirror
正在解决依赖关系
--> 正在检查事务
---> 软件包 docker-ce-cli.x86_64.1.18.09.8-3.el7 将被 删除
--> 解决依赖关系完成
......

然后删除对应的残留软件

yum -y remove docker-ce-cli.x86_64

然后再安装docker

docker加速配置

阿里云镜像加速器
配置镜像加速器
针对Docker客户端版本大于 1.10.0 的用户
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://oarl7h79.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

安装docker-compose

  1. 从docker寻找https://docs.docker.com/compose/install/#install-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  1. 添加目录权限
sudo chmod +x /usr/local/bin/docker-compose
  1. 查看版本
docker-compose --version

基础命令

images

搜索镜像

docker search [OPTIONS] TERM

删除镜像

docker rmi [OPTIONS] IMAGE [IMAGE...]

IMAGE就是要删除的镜像的名字
You can remove an image using its short or long ID, its tag, or its digest. If an image has one or more tags referencing it, you must remove all of them before the image is removed. Digest references are removed automatically when an image is removed by tag.

Container

查看所有容器

docker ps -a

没有-a就是运行中的容器

运行交互式容器

docker run -t -i -d --name hello docker.io/nginx /bin/bash

-d 守护态(Daemonized)
-t 让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
-i 让容器的标准输入保持打开
-p 80:80 表示将 docker container 的80 端口映射的主机的80 端口
–name 给容器起个别名

退出到宿主机
Ctrl + Q + P //让docker 在后台运行
Ctrl + D //关闭docker进程

进入已经运行的容器

docker exec -it web1 bash 

web1是容器名字

docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器

删除容器

docker rm -f db01 db02

-f 强制删除 db01 ,db02 容器名字

有状态容器都有数据持久化需求。前一篇文章中提到过,Docker 采用 AFUS 分层文件系统时,文件系统的改动都是发生在最上面的容器层。在容器的生命周期内,它是持续的,包括容器在被停止后。但是,当容器被删除后,该数据层也随之被删除了。因此,Docker 采用 volume (卷)的形式来向容器提供持久化存储。Docker volume 有如下几种形态。

主机和宿主机文件交互

把文件从主机复制到容器里面

docker cp hello.html c0462d5e1878:/usr/share/nginx/html
docker exec -it c0462d5e1878 bash

挂载本地文件和容器中的文件

docker run -it \
-v /home/dock/Downloads:/usr/Downloads \
-v /home/dock/Downloads:/usr/Downloads web1 /bin/bash

-v 本机路径:容器路径 多个文件挂载多个-v
/bin/bash 是挂载并且启动交互式容器

查看container的volume和本地的挂载

docker inspect -f "{{.Mounts}}" web1 

web1是容器名字

容器互联

docker run -itd \
--name web1 -p 80:80 \
--link mongo:mongo nginx

\代表换行,在命令很长的时候使用
–link 连接的容器:容器的别名(alias)

查看环境变量

env

Dockerfile

执行dockerfile

一定要有点

docker build .

给镜像打tag

tag后面是镜像id

docker tag b86282a8ba4c node-demo:v1.0.1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值