docker笔记


阿里云镜像安装

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start

docker 加速

https://www.daocloud.io/mirror
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
    sudo systemctl daemon-reload 
    sudo service docker restart

关闭centos7防火墙

sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service

docker端口映射的报错

docker: Error response from daemon: driver failed programming external connectivity on endpoint loving_bassi (37b4c399f676cf46e35fd26b2298ad81aac87739d8aee416f449e36c6cb22503): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 90 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.

  • 解决方式

    • pkill docker

      iptables -t nat -F
      ifconfig docker0 down
      brctl delbr docker0
      service docker restart

阿里镜像操作

https://cr.console.aliyun.com/cn-qingdao/instances

Dockerfile

  • 测试的dockerfile

     FROM centos        
      LABEL maintainer="Chao Yu<yc_uuu@163.com>"
      ADD CentOS-Base.repo /etc/yum.repos.d/
      ADD epel.repo /etc/yum.repos.d/
      RUN yum clean all
      RUN yum install python-pip -y
      RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask
      COPY myflask.py /app/
      WORKDIR /app
      EXPOSE 8080
      CMD ["python","myflask.py"]
      1.引入一个centos镜像,为基础镜像
      2.作者注释信息
      3.添加本地的两个yum文件,到容器的/etc/yum.repos.d/底下
      4.清空yum缓存
      5.yum安装pip工具
      6.pip安装flask模块,指定清华源
      7.拷贝本地的flask代码,到容器的/app/目录下
      8.切换工作目录,到/app底下
      9.暴露容器的8080端口,然后在运行镜像时候,加上-p参数,指定端口映射
      10.执行命令,运行flask 

docker 常用命令

docker images                          //查看所有的镜像
docker search  镜像名字                 //查询镜像
docker pull 镜像名字:版本               //下载镜像
docker rmi  -f   镜像ID               //删除镜像
docker tag 70ff7873d7cd 镜像名称      //修改镜像tag名称

docker run -d -p 9200:9200 -p 9300:9300    //指定端口
-e  "ES_JAVA_OPTS=-Xms512m -Xmx512m"       //配置参数
--name es                                  //别名
elasticsearch                              //镜像名称或者镜像ID

docker rename 镜像ID <new_container>       //修改容器别名
--name="容器新名字": 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;   
-P: 随机端口映射;
-p: 指定端口映射,有以下四种格式
      ip:hostPort:containerPort
      ip::containerPort
        hostPort:containerPort
        containerPort
docker ps                            //显示当前运行容器
docker ps -a                         //显示所有容器
exit                                 //容器停止退出
ctrl+P+Q                             //容器不停止退出
docker start  容器ID                 //启动容器
docker restart  容器ID               //重启容器
docker stop  容器ID                  //停止容器
docker kill  容器ID                  //强制停止容器
docker rm -f  容器ID                 //删除容器
docker logs -f --tail=30 容器ID     //查看容器日志
docker top 容器ID                   //查看容器内运行的进程
docker exec -it 容器ID /bin/bash    //进入容器 

docker hub的使用

docker login
docker tag 1641 gyarmy/centos-gy-vim:v1
docker push gyarmy/centos-gy-vim:v1
docker search gyarmy
docker pull gyarmy/centos-gy-vim

# 如果设置了加速器,就需要修改为
docker pull registry.hub.docker.com/gyarmy/centos-gy-vim:v1
docker tag registry.hub.docker.com/gyarmy/centos-gy-vim:vim gyarmy/vim

原文链接: docker笔记 版权所有,转载时请注明出处,违者必究。
注明出处格式:流沙团 ( https://gyarmy.com/post-682.html )

发表评论

0则评论给“docker笔记”