docker简单使用和遇到的坑(代码片段)

一锅煮不下 一锅煮不下     2022-10-27     182

关键词:

安装环境: alios7.2 

安装:

1安装源

# yum install epel-release –y
# yum clean all
# yum list

2:安装docker

# yum install docker-io –y
# systemctl start docker

3:检查docker

# docker info

4启停查看

# systemctl start docker     #运行Docker守护进程
# systemctl stop docker      #停止Docker守护进程
# systemctl restart docker   #重启Docker守护进程

使用

1创建dockerfile

FROM reg.docker.alibaba-inc.com/alibase/alios7u2:latest #这里是使用alios作为基础镜像

#下载一个yum源
RUN yum clean all
RUN yum install -y python-devel mysql-devel zlib-devel opnssl-devel
RUN rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
RUN wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
RUN yum makecache

#下面部分是docker启动后会运行的命令
CMD systemctl start nginx
CMD systemctl start redis
CMD rabbitmq-server start

2:根据daockerfile创建daocker镜像

docker build <path> #path代表dockerfile所在的文件夹路径

3:

基础命令 sudo docker images

这一条是查看当前设备宿主机中有几个docker 镜像 当然这些是没有启动

repository 代表docker的名字

tag 代表当前版本号

image id 代表当前宿主机内镜像的唯一id

created 代表创建了多久了

size 代表镜像的大小

基础命令 sudo docker ps 

查看当前正在运行的docker

container id 代表运行中的唯一id

4:

启动命令

需要知道docker images id

sudo docker run -d -p 宿主机端口:docker端口 -p 宿主机端口2:docker端口2 -p 宿主机端口3:docker端口3<docker image id> /usr/sbin/init

这里的/usr/sbin/init 是为了开启之后可以使用systemctl方法

5:

进入docker容器中

docker exec -i -t <docker_name>  bash

 为什么要用bash呢 因为bash后 里面的是彩色的呀,因为好看呀

6:daocker上传这个可以找一个dockerhub看看

7:

从主机复制到容器

​ sudo docker cp host_path containerID:container_path

sudo docker cp 我是宿主机的路径   docker ps能够看到的id:我是容器中的路径

从容器复制到主机

​ sudo docker cp containerID:container_path host_path

sudo docker cp  docker ps能够看到的id:我是容器中的路径 我是宿主机的路径

启动一个容器

​ sudo docker start <docker_name>

停止一个容器

​ sudo docker stop <docker_name>

删除一个容器

sudo docker rm <docker_name>

通过docker的docker <image id> 删除容器

​ sudo docker rmi -f <image id>>

 

8:问题

为什么我们在安装好docker.io启动的时候启动不起来

首先确认是否是阿里云的ecs中安装docker

如果是的 可以route查看是否使用了172.16.0.0网段 如果有那么删除了

虽然不知道为啥 阿里ecs出现这个问题但是删了之后systemctl start docker之后应该就可以了

注意事项

dockerfile中的cmd命令通常在build的时候是检测不出来错误的

但是当你run的时候发现docker ps 没有起来

是不是很蒙逼, 你可以docker ps -a 来查看所有的 

然后在docker logs containerID

关于 docker build报错/bin/sh: 1: ./configure: not found 问题

docker build命令根据Dockerfile文件构建镜像的过程中,除了FROM指令外,其他的每一条指令都是在一个新的容器里面运行

今天把Dockerfile文件写成了如下的样子

  1. RUN cd /app
  2. RUN ./configure

结果就报configure文件不存在,但是文件的的确确是存在的,原因就是运行第2条指令时在新的容器里面,第1条指令的切换目录失效了

解决的办法就是将上面的2条指令合并在一起    

 

在就没啥 要说的

有啥要说的我会补充

 

kafka安装使用和遇到的坑(代码片段)

下载安装参考:https://segmentfault.com/a/1190000012730949?https://kafka.apache.org/quickstart关闭服务关闭zookeeperbin/zookeeper-server-stop.sh关闭kafkabin/kafka-server-stop.sh遇到的坑问题1[2018-04-0811:20:32,999]WARNSessi 查看详情

windows下使用性能计数器遇到的坑(代码片段)

...志文件中读取计数器数据。功能可为强大,而且使用简单。可以用来做什么可以用来监控记录当前CPU的使用率、memory使用率、CPU占有率、memory占有率,获取系统和进程的物理内存ÿ 查看详情

云原生|docker篇实战dockerfile(代码片段)

 文章目录实战Dockerfile前言运行实例命令第一例、这是我第一个Dockerfile第二例、ARG指令和ENV指令简单使用第三例、ARG指令可任意位置定义第四例、ENV的坑--构建期间就已经确定好值第五例、ADD与COPY指令简单使用第六例、COPY的文... 查看详情

爬虫第一步遇到的坑(代码片段)

...学习,视频上爬取36kr这个网站,我也跟着写了,感觉挺简单的,使用Jsoup很快就拿到页面上的文字。谁知再分析网页获得自己需要的数据的时候,只能获得一个根标签,里面什么也没有,第一次爬虫遇到这样的问题,顿时懵逼了... 查看详情

grpc和grpc-gateway的使用以及遇到的坑(代码片段)

...不易,未经允许,请勿转载。文章目录一、gRPC的使用1.1gPRC和Protobuf的安装1.2编写proto文件1.3编写服务端接口程序1.4编写客户端程序二、gRPC-Gateway的使用2.1安装grpc-gateway2.2编写proto文件2.3编写服务端代码2.4编写http转发代码2.... 查看详情

grpc和grpc-gateway的使用以及遇到的坑(代码片段)

...不易,未经允许,请勿转载。文章目录一、gRPC的使用1.1gPRC和Protobuf的安装1.2编写proto文件1.3编写服务端接口程序1.4编写客户端程序二、gRPC-Gateway的使用2.1安装grpc-gateway2.2编写proto文件2.3编写服务端代码2.4编写http转发代码2.... 查看详情

使用逆向工程遇到的坑(代码片段)

...成JAVAPOJO类,并同时生成Mapper.xml和Mapper接口的东东。2,使用方法 1)由于建立的是maven工程,所以先在pom.xml文件中导入jar包,如图: 2)根据mybatisgenerator官方文档,新建mpg.xml并copy相关代码。<?xmlversion="1.0"encoding 查看详情

constractlayout遇到的坑(代码片段)

总结下ConstraintLayout的使用:1.位置约束因为ConstraintLayout采用约束的方式控制控件的位置,所以至少要保证水平和垂直方向都至少有一个约束才能确定控件的位置。例如让TextView的顶部和界面顶部对齐,左部和界面左部... 查看详情

稍微记录下django2.2使用mariadb和mysql遇到的坑(代码片段)

现在演示一下整个流程吧1.创建项目和应用PS:你也可以使用PyCharm直接创建项目2.注册应用先把刚刚创建的应用添加进去3.配置MySQL或者MariaDB4.PyMySQL替换默认的MySQLdbDjango使用的MySQLdb对Python3支持力度不够,我们用PyMySQL来代替这句... 查看详情

map中使用箭头函数遇到的坑(代码片段)

...返回值的lambda表达式。这对于功能样式代码很方便,比如使用函数映射数组:constnumbers=[1,2,3,4];numbers.map(n=>n*n);这个箭头函数将按照预期的方式工作,它将值自身相乘并返回到包含的新数组[1,4,9,16]但是,如果你尝试映射到对... 查看详情

第一次使用dockerforwindows遇到的坑

原文:第一次使用dockerforwindows遇到的坑 1.目前win10安装docker,不需要安装其他工具,可直接到官网下载2.此版本的docker可同时运行Windowscontainer和Linuxcontainer。在powershell里运行&‘C:ProgramFilesDockerDockerDockerCli.exe‘-SwitchDaemon... 查看详情

开发中遇到的坑(代码片段)

在将float和double类型的数据转成 BigDecimal是应该先转成字符串newBigDecimal(String.valueOf(a)) 查看详情

retrofit开发中遇到的坑(代码片段)

持续更新中1、使用@FormUrlEncoded的话,服务端需要使用Request.Form,如果不使用@FormUrlEncoded本地需要由@FieldMapMap<String,Object>map改成@QueryMapMap<String,Object>map,服务端改为使用Request.QueryString.   2、java.i 查看详情

dockercompose简介+使用+遇到的坑

git地址:https://github.com/docker/compose安装+文档:https://docs.docker.com/compose/install/官方示例:https://docs.docker.com/compose/gettingstarted/示例做了什么:1.主要看两个文件,一个dockerFile,一个docker.yml2.dockerfile就是创建了一个python+flask的网站启... 查看详情

docker容器虚拟化技术(代码片段)

...运行环境的坑简直不要太多了(● ̄(?) ̄●),并不仅限于docker、Nginx、PHP、Python等等,我会尽详细写出实际过程中遇到的各种各样的奇葩问题1.docker适用环境其实docker本身也没有太多在Windows下花功夫。目前,docker仅支持Linux与Window... 查看详情

使用list中的remove方法遇到的坑(代码片段)

场景...remove方法list中根据判断条件符合的就remove掉一个数据publicstaticvoidmain(String[]args)List<CaseHead>list=newArrayList<CaseHead>();CaseHeadcaseHead1=newCaseHead();caseHead1.setCaseid("a");CaseHeadcaseH 查看详情

mybatis中mapper.xml文件使用注释遇到的坑(代码片段)

Mybatis中Mapper.xml文件使用注释遇到的坑问题复现今天在进行根据ProductName进行查询的时候,出现了报错,报错信息如下:Causedby:org.apache.ibatis.type.TypeException:Couldnotsetparametersformapping:ParameterMappingproperty=& 查看详情

docker原理与使用(代码片段)

本文包括:Docker简单概念如何安装(centos7)container和image操作命令Dockfile简单实用dockerHub简单使用Docker简单概念Docker为C/S架构模式,使用远程API管理和创建容器。使用docker前,必须确保有启动状态的docker-daemon作为服务端... 查看详情