《Docker技术入门与实践》Docker入门

官方文档

1.安装

ubuntu:
apt-get update

apt-get install -y docker.io

ln -sf /usr/bin/docker.io /usr/local/bin/docker

sed -i "$acomplete -F _docker docker' /etc/bash_completion.d/docker.io

或者

apt-get install -y lxc-docker


centos:
#建议直接使用centos7
docker install -y docker

2.获取镜像

sudo docker pull ubuntu:14.01
sudo docker pull dl.dockerpool.com:5000/ubuntu

利用镜像创建容器
docker run -t -i ubuntu /bin/bash
查看本地镜像
docker images
删除本地镜像
docker rmi $image_id
为镜像打标签
docker tag dl.dockerpool.com:5000/ubuntu:latest ubuntu:latest
获取镜像详细信息
docker inspect $image_id

3.镜像

寻找镜像
docker search $image_name

  1. 基于已有镜像创建镜像

     docker commit  [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
    

    1.1 基于本地模板导入

     sudo cat ubuntu_14.04.tar  |docker import  -u ubuntu:14.0
    

    1.2 导出

     docker export $image_id >ubuntu_14.04.tar
    
  2. 存入和载出镜像

     docker save -o xx.tar $repository:$tag   
     docker load --input ubuntu_14.04.tar
     docker load < ubuntu_14.04.tar
    
  3. 上传镜像

     sudo docker tag test:latest user/test:latest
     sudo docker push usr/test:latest
    

    在这里插入图片描述

4.容器

  1. 创建容器

     sudo docker create -it ubuntu:latest
    

    创建后处于停止状态,可以使用docker start $container_id 来启动
    docker run = docker create + docker start
    推荐使用run 每次开启一个新的容器。
    eg: docker run ubuntu /bin/echo “Hello World”

    在这里插入图片描述
    -t 分配一个伪终端(pseudo-tty)
    -i 让容器的标准输入打开
    ctrl +d 或者 exit退出容器。 注意,退出后 容器也停止了。
    守护运行
    -d 守护状态

在这里插入图片描述

  1. 终止容器
    docker stop $container_name
    可以再使用docker start $container_name来启动
    重启容器
    docker restart $container_name

  2. 进入容器
    docker attach $container_name
    这里attach command, 如果command 不是/bin/bash 也进入不了容器
    在这里插入图片描述

    docker exec -ti $container_name /bin/bash
    在这里插入图片描述

    查看容器进程

     docker inspect --format "{{.State.Pid}}" $container_id
    

    在这里插入图片描述

  3. 删除容器

     docker rm $container_id
    

    注意验证 grep的精确性,否则会误删

    docker rm $((docker ps -a )|grep xx| awk '{printf "%s
    ",$1}')
    ps -a  |grep xx | awk '{printf "%s
    ",$1}'  | xargs  -i  docker rm  {}
    
  4. 导入导出容器
    docker ps -a
    导出
    docker export $container_name >xx.tar
    导入
    cat xx.tar |sudo docker import test/xx:v1.0

5.仓库

  1. Docker Hub
    登陆
    docker login

    从私有下载镜像
    docker pull my.com:5000/ubuntu:12.04

    更新镜像标签
    docker tag my.com:5000/ubuntu:12.04 ubuntu:12.05

  2. 创建私有仓库
    通过registry镜像来搭建

         sudo docker run -d -p 5000:5000 registry
    

    运行镜像,将上环的镜像放在/var/data/registry目录(默认在/tmp/registry下)

       sudo docker run -d -p 5000:5000 -v /var/data/registry:/tmp/registry registry
    

    查看仓库

        curl http://localhost:5000/v2/_catalog
    

    打标签并推送到私有仓库

         docker tag member:v1 127.0.0.1:5000/member
         docker push 127.0.0.1:5000/member
    

在这里插入图片描述

使用任意一台机器访问下载镜像
这里如果不指定端口会默认下载https

    docker pull my.com:5000/$container_id:$version

在这里插入图片描述

原文地址:https://www.cnblogs.com/thewindkee/p/12873148.html