docker学习一

1. docker安装

  • 安装环境

    centos7.4

  • 开始安装

    下载docker官方yum源

    curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.repo

    开始安装:yum install -y docker-ce

2.docker镜像管理

  • docker镜像下载

    下载命令

    docker pull xxx xxx表示镜像名称,如下载centos镜像就是ocker pull centos

    如果下载速度很慢可以配置docker下载加速器

    vi /etc/docker/daemon.json 加入以下内容:

    {
    "registry-mirrors": ["https://dhq9bx4f.mirror.aliyuncs.com"]

    }

  • docker常用命令

    1.查看本地的镜像:docker images

    2.搜索镜像,其中xxx是关键词:docker search xxx

    3.给镜像打标签:docker tag centos test123:222333

    4.镜像启动为容器,-i表示让容器的标准输入打开,-t表示分配一个伪终端,-d表示后台启动,要把-i -t -d 放到镜像名字前面:docker run -itd centos

    5.查看docker启动中的容器,加上-a选项后可以查看所有容器,包括未运行的:docker ps

    6.用来删除指定镜像,其中后面的参数可以是tag,如果是tag时,实际上是删除该tag。当后面的参数为镜像ID时,则会彻底删除整个镜像,所有标签也会一同删除:docker rmi xxx

3.Docker通过容器创建镜像

  1. 进入容器

    docker exec -it xxxxx bash 是进入容器的命令,其中xxxxx为容器id,这个id可以用docker ps查看,最后面的bash为进入容器后我们要执行的命令

  2. 在容器内安装net-tools

    在容器内执行:yum install -y net-tools

  3. 提交新镜像

    docker commit -m "change somth" -a "somebody info" container_id new_image_name 参数说明:container_id通过docker ps -a获取,后面的new_image_name为新镜像名字

    示例:

    docker commit -m "install net-tools" -a "wxy" 82d0ec485063 centos_net-tolls

    这个命令有点像svn的提交,-m 加一些改动信息,-a 指定作者相关信息,82d0ec这一串为容器id,再后面为新镜像的名字

    提交完成后,使用docker image查看:

4.Docker使用模板创建镜像

  1. 下载一个模板

    wget http://download.openvz.org/template/precreated/centos-6-x86-minimal.tar.gz

  2. 导入该镜像

    cat centos-6-x86-minimal.tar.gz |docker import - centos6

  3. 以现有的镜像导出一个文件

    docker save -o centos_net-tolls.tar centos_net-tolls

  4. 把原有的进行删除,把导出的镜像导入进去

    docker images 获取镜像id

    docker rmi acaf23cc3076

    重启导入镜像

    docker load --input centos_net-tolls.tar 或者docker load < centos_net-tolls.tar也可以

5.docker镜像管理

  1. 启动容器

    创建一个容器,但是不启动: docker create -it centos6 /bin/bash

    启动容器:docker start 30034995f99a

    启动完成后可以docker ps查看

    可以使用docker run来进行启动,它相当于先create后再start容器

    docker run -it centos6 /bin/bash

    docker -d可以让容器在后台运行,如:

    docker run -itd centos6 /bin/bash

  2. 启动容器时给容器自定义名称

    docker run -itd --name "centos_1" centos6 /bin/bash

  3. 容器退出后直接删除

    可以让docker容器运行一个命令后退出并删除容器,如让一个容器运行sleep 30,等待30秒后容器会停止并删除。

    docker run --rm -itd centos /bin/bash -c "sleep 30"

  4. docker容器log查看

    启动容器,并运行一个命令

    docker run -itd 80d356edba18 bash -c "echo 123"

    使用docker logs查看

    docker logs 3d995b4d

  5. 临时docker打开虚拟终端

    使用docker exec 可以打开容器的临时终端,exit后容器还是正常运行

    docker exec -it f3381b9c3b2e /bin/bash

    docker attach  container_id 这种方式也可打开终端,但是exit后容器就中断了,所以这种方式一般不用

  6. 删除容器

    docker rm  container_id 可以删除容器,container_id是ps的时候查看到的,这样就可以把container删除,如果是运行的容器,可以加-f

    docker rm -f f3381b9c3b2e

  7. 导出容器

    docker  export  container_id  > file.tar 这样可以导入容器,生成一个文件。可以迁移到别的机器进行导入

    docker export 831cf59980c4 > wxy_test.tar

  8. 导入容器

    cat file.tar |docker import - wxy_test 这样会生成新的镜像

    cat centos-6-x86-minimal.tar.gz |docker import - wxy_test

6.docker仓库管理

  1. 下载registry镜像

    registy为docker官方提供的一个镜像,我们可以用它来创建本地的docker私有仓库。

    docker pull registry

  2. 启动registry镜像

    docker run -d -p 5000:5000 registry

    启动registry镜像,-p的意思是把容器端口映射到宿主机上,左边为宿主机端口,右边为容器监听端口

    访问registry

    curl 127.0.0.1:5000/v2/_catalog

  3. 把镜像上传到私有仓库

    首先给私有仓库tag一下,tag必须要有私有仓库的ip:port

    docker tag wxy_test 172.18.11.153:5000/centos

    修改配置文件

    vi /etc/docker/daemon.json

    改为以下内容:

    { "insecure-registries":["172.18.11.153:5000"] }

    完成后重启docker

    systemctl restart docker `
    启动容器

    docker start 64584c4300f1

    进行push

    docker push 172.18.11.153:5000/centos

    查看推送的镜像

    curl 127.0.0.1:5000/v2/_catalog

  4. 在其他机器上下载刚上传的镜像

    在其它安装docker的服务器上修改配置文件

    /etc/docker/daemon.json

    修改以下内容:

    { "insecure-registries":["47.106.84.56:5000"] }

    ip为之前上传镜像的registry的服务器ip,这里跟之前的ip不一样是因为用了云服务器。

    修改完成后重启docker,然后进行pull

    docker pull 47.106.84.56:5000/centos

转载于:https://my.oschina.net/u/3755326/blog/3073994

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值