首页 技术 正文
技术 2022年11月19日
0 收藏 766 点赞 2,527 浏览 3317 个字

docker -help    # 显示帮助docker COMMAND -help    # 帮助信息更详细docker start “容器名称”    # 启动一个或多个容器docker stop “容器名称”    # 停止一个或多个运行的容器docker images    # 列表docker镜像列表docker info    # 显示系统的dokcer信息docker ps    # 列表运行的容器docker version    # 展示docker的版本信息docker rm “CONTAINER ID”    # 删除指定的容器docker rmi “CONTAINER ID”    # 删除指定的imagedocker rmi -f “CONTAINER ID”    # 强制删除指定的imagedocker pull “镜像名称”    # 获取docker镜像(从docker hub上获取)docker push “images name:tag”    # 推送image到docker hub上(登录后才可以push)docker diff “CONTAINER ID”    # 检查容器系统文件的改变docker build    # 构建image(在提供Dockerfile的前提下)docker login    # 登录docker注册中心(dockerhub)docker logout    # 登出docker注册中心docker export    # 根据容器id,导出指定压缩文件,(docker export 容器id > test.tar)docker import    # 导入容器快照    从本地文件导入:cat test.tar| docker import – test/demo:v0.1    从远程文件导入:docker import http://xxx.xxx/domo.tar demo:v0.1docker exec    # 运行镜像时执行command指令    使用方法:docker exec [OPTIONS] CONTAINER COMMAND [ARG…]    domo: docker exec -i -t “CONTAINER ID” /bin/bash    docker exec的参数:        –help    # 打印使用方法        -d(–detach)    # command后台运行        -e(–env list)    # 设置环境变量        -i(—interactive)    # 保持打开标准输出,在没有附加参数的情况        -t(—tty)    # 分配一个伪终端(-t通常和-i一起使用) docker run “images name:tag”    # 在一个新容器中运行一个command    使用方法:docker run [OPTIONS] IMAGE [COMMAND] [ARG…]         demo : docker run -it “image name:tag” –name “指定一个名称” /bin/bash    # 运行image    docker run 的参数:        -p    # 将容器的端口映射到本地        -i(—interactive)    # 保持打开标准输出,在没有附加参数的情况        -t(—tty)    # 分配一个伪tty(-t通常和-i一起使用)        –name        执行一个名称   制作docker镜像有两个方法,一个是使用docker commit;另外一种是使用Dockerfile commit制作image的demo:

例如:要在image(docker.xxx.me/xxx/onebox-dev:v0.)上做一个定制的jenkins image,
、首先在制作一个docker镜像时需要获取一个基础image
docker pull docker.xxx.me/xxx/onebox-dev:v0. # 获取镜像、启动images
docker run -it —name -p : jenkins docker.xxx.me/xxx/onebox-dev:v0. /bin/bash 、在浏览器中打开jenkins,访问地址为:http://127.0.0.1:8080,然后根据自己需求配置jenkins,
、jenkins配置好后,查看容器的进程,根据容器id检查容器系统中变更的文件,最后提交文件变更,生成一个新的容器
docker ps #查看docker容器进程 docker diff “CONTAINER ID” #查看容器系统中变更的文件(A:新增的文件;C:修改的文件;D:删除的文件) docker commit -m “备注” 新容器名称:tag #commit时可以使用-m添加备注,要指定生成的容器的名字以及tag
docker images #查看image列表,新生成的image会显示出来

Dockerfile制作image的demo:首先介绍下Dockerfile的常用指令:

COPY:复制文件指令;
格式:COPY <源路径(本地路径)> <目标路径(image中路径)>
demo:COPY start.sh /root/start.sh
ADD:ADD和COPY的性质和格式是一样的,ADD新增了一些功能,比如ADD会自动解压被复制的压缩文件,ADD的源路径可以是 url,ADD会尝试去下载需要的资源;
格式:ADD <源路径(本地路径)> <目标路径(image中路径)>
demo:ADD start.tar.gz /root/start.sh
CMD:容器启动指令,用户可以容器运行时执行CMD命令来代替image中设置的指令;
shell格式:CMD <shell 命令>
exec格式:CMD [“可执行文件”,“参数一”,“参数二”。。。]
ENTRYPOINT:ENTRYPOINT和CMD命令一样,都是指定容器启动程序及参数,ENTRYPOINT也可以在容器运行时替换image内部的指令,需要—entrypoint来指定替换;当指定了ENTRYPOINT时,CMD将不再是可以指定的命令,只是做ENTRYPOINT的一个参数存在;如:ENTRYPOINT "<CMD>”
格式:ENTRYPOINT [“可执行文件”,“参数一”,“参数二”...]
ENV:设置环境变量;可以在容器运行和构建过程中使用
格式:ENV <key> <value>
ENV <key1>=<value1> <key2>=<value2>...
ARG:构建参数,只能在image过程中使用
格式:ARG <参数名>[=<默认值>]
EXPOSE:声明端口
格式:EXPOSE <端口号1> <端口号2>
USER:指定当前用户
格式:USER <用户名>
RUN:构建时运行指令
格式:RUN <指令1>&&<指令2>

 例如,现在需要在centos7-java:v1(本地已存在)镜像的基础上使用Dockerfile制作一个image,Dockerfile如下:

FROM centos7-java:V1ENV http_port=10001# 创建data目录,赋予全部权限
RUN mkdir -p /data/configserver && chmod -R 777 /data/configserver# 复制编译好的包到镜像中
COPY magina.tar.gz /data/configserver/magina.tar.gz# 解压工程文件
RUN cd /data/configserver && tar -zxvf magina.tar.gz# 删除工程压缩包
RUN rm -rf /data/configserver/magina.tar.gz# 暴露服务端口号
EXPOSE ${http_port}ENTRYPOINT ["/data/configserver/start.sh"]

进入到Dockerfile文件的目录中,执行构建命令:docker build -t image-name:tag .    # 会在终端中输出构建步骤最后使用docker images指令查看是否有新生成的image 

docker build -t image-name:tag .    # 会在终端中输出构建步骤
最后使用docker images指令查看是否有新生成的image

  

 

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,071
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,549
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,397
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,174
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,809
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,889