docker 应用-1(安装以及基础命令)

来源:互联网 发布:apt get install java 编辑:程序博客网 时间:2024/05/29 11:41

Docker 安装

1
2
3
4
5
6
7
还是看官方文档吧TAT
https://docs.docker.com/engine/getstarted/step_one/
 
理解docker镜像和容器
镜像就是docker容器在运行的时候所使用的文件系统以及系统内核,以及其他参数。当然,docker镜像一般都会比实际的操作系统+软件要轻便的多。
 
容器就是一个镜像的运行实体。

 

Docker基础命令

# 安装docker

$ yum -y install docker

$ systemctl start docker

$ systemctl enable docker

 

# 安装私有仓库

$ docker pull registry

 

# 安装私有仓库

$ docker pull registry

$ docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --privileged=true registry

 

# 切换国内镜像

$ vi/etc/docker/daemon.json

{"registry-mirrors": ["https://9qydgwmk.mirror.aliyuncs.com"]}

 

# docker开机启动

$ sudo systemctl daemon-reload

 

# docker重新启动

$ sudo systemctl restart docker

 

# 客户端添加私有仓库
$ vi /etc/sysconfig/docker
  OPTIONS='--insecure-registry 192.168.37.101:5000'
  ADD_REGISTRY='--add-registry 192.168.37.101:5000'

 

# 查看私有仓库的所有镜像
$ curl  http://192.168.37.101:5000/v2/_catalog
$ curl  http://192.168.37.101:5000/v2/tonybai/busybox/tags/list

 

# 查看安装docker的信息

$ docker info

 

# 查看本机Docker中存在哪些镜像

$ docker images

 

# 检索image

$ docker search ubuntu:14.04

 

# 在docker中获取ubuntu镜像

$ docker pull ubuntu:14.04

 

# 显示一个镜像的历史

$ docker history debugman007/ubt14-hadoop-hbase:v1

 

# 列出一个容器里面被改变的文件或者目

$ docker diff debugman007/ubt14-hadoop-hbase:v1

 

# 从一个容器中取日志

$ docker logs debugman007/ubt14-hadoop-hbase:v1

 

# 显示一个运行的容器里面的进程信息

$ docker top debugman007/ubt14-hadoop-hbase:v1

 

# 从容器里面拷贝文件/目录到本地一个路径

$ docker cp ID:/container_path to_path 

 

# 列出当前所有正在运行的容器

$ docker ps

 

# 列出所有的容器

$ docker ps -a

 

# 列出最近一次启动的容器

$ docker ps -l

 

# 查看容器的相关信息

$ docker inspect $CONTAINER_ID

 

# 显示容器IP地址和端口号,如果输出是空的说明没有配置IP地址(不同的Docker容器可以通过此IP地址互相访问)

$ docker inspect --format='{{.NetworkSettings.IPAddress}}' $CONTAINER_ID

 

# 保存对容器的修改

$ docker commit -m "xxxxx" -a "debugman007" 容器ID debugman007/ubt14-hadoop-hbase:v1

# 参数:

# -m参数用来来指定提交的说明信息;

# -a可以指定用户信息的;

# 容器ID代表的时容器的id;

# debugman007/ubt14-hadoop-hbase:v1指定目标镜像的用户名、仓库名和 tag 信息。

 

#修改镜像tag
$ docker tag centos 192.168.37.101:5000/centos

 

# 构建一个容器

$ docker build -t="debugman007/ubt14-hadoop-hbase:v1" 

# 参数:

# -t为构建的镜像制定一个标签,便于记忆/索引等

# . 指定Dockerfile文件在当前目录下,也可以替换为一个具体的 Dockerfile 的路径。

 

# 在docker中运行ubuntu镜像

$ docker run <相关参数> <镜像 ID> <初始命令>

 

# 守护模式启动

$ docker run -it ubuntu:14.04

 

# 交互模式启动

$ docker run -it ubuntu:14.04 /bin/bash

 

# 指定端口号启动

$ docker run -p 80:80 debugman007/ubt14-hadoop-hbase:v1

 

# 指定配置启动

$ sudo docker run -d -p 10.211.55.4:9999:22 debugman007/ubt14-hadoop-hbase:v1 '/usr/sbin/sshd' -D

# 参数:

# -d:表示以“守护模式”执行,日志不会出现在输出终端上。

# -i:表示以“交互模式”运行容器,-i 则让容器的标准输入保持打开

# -t:表示容器启动后会进入其命令行,-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上

# -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>,-v 标记来创建一个数据卷并挂载到容器里。在一次 run 中多次使用可以挂载多个数据卷。

# -p:表示宿主机与容器的端口映射,此时将容器内部的 22 端口映射为宿主机的 9999 端口,这样就向外界暴露了 9999 端口,可通过 Docker 网桥来访问容器内部的 22 端口了。

# 注意:这里使用的是宿主机的 IP 地址:10.211.55.4,与对外暴露的端口号 9999,它映射容器内部的端口号 22。ssh外部需要访问:ssh root@10.211.55.4 -p 9999

# 不一定要使用“镜像 ID”,也可以使用“仓库名:标签名”

 

# start 启动容器

$ docker start 容器名或者容器ID

 

# stop 停止正在运行的容器

$ docker stop 容器名或者容器ID

 

# restart 重启容器

$ docker restart 容器名或者容器ID

 

# rm 删除容器

$ docker rm 容器名或者容器ID

 

# rmi 删除镜像

$ docker rmi 镜像名+tag或者镜像ID

 

# 登录Docker Hub中心

$ docker login

 

# 发布上传image(push)

$ docker push debugman007/ubt14-hadoop-hbase:v1

 

# 创建网络
$ docker network create --subnet=192.168.0.0/16 zknet
$ docker network ls

 

# 源服务器上导出tar包
$ docker save zookeeper:latest > /home/zookeeper.tar

# 目标服务器上拷贝并且导入
$ docker load  < /home/zookeeper.tar




阅读全文
0 0
原创粉丝点击