docker制作镜像方法是怎样的?docker研发日常制作镜像操作是怎样的?

dock

宁夏ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!er包含了三个概念,分别是镜像,仓库和容器,其中镜像是docker运行容器的一个重要的前提,更是docker的核心,仓库就是存放镜像的地方。docker镜像就好像是一个特殊的文件系统,它除了提供容器运行的程序,资源,配置和库等的文件之外,还包括了一些需要的配置参数,那么docker制作镜像方法是怎样的?docker研发日常制作镜像操作是怎样的呢?下面成都网站建设就给朋友们详细的来说明一下这些问题。
docker制作镜像方法是怎样的?
docker制作镜像一般有2种方法:
使用hub仓库中已有的环境,安装自己使用的软件环境后完成image创建。
通过Dockerfile,完成镜像image的创建。
第一种:使用hub仓库中已有的环境,安装自己使用的软件环境后完成image创建。
制作自己的Docker镜像环境,里面包括:
(1)centos
(2)golang
1、docker pull centos(pull最新的centos系统)
2、docker run -it centos /bin/bash(运行进入容器)
3、在centos环境中创建work用户
[root@132aaafe685d /]# useradd work
[root@132aaafe685d /]# su - work

docker制作镜像
4、下载go的Linux安装包,解压,配置环境变量
[work@132aaafe685d ~]$ mkdir goapp && cd goapp && wget https://studygolang.com/dl/golang/go1.14.1.linux-amd64.tar.gz
[work@132aaafe685d goapp]$ tar zxvf go1.14.1.linux-amd64.tar.gz
[work@132aaafe685d goapp]$ vim ~/.bash_profile
[work@132aaafe685d go]$ source ~/.bash_profile
[work@132aaafe685d go]$ go version
go version go1.14.1 linux/amd64
[work@132aaafe685d go]$ echo $GOPATH
/home/work/goapp
[work@132aaafe685d go]$ echo $HOME
此时,go的最基础环境就算配置好了,让我们写一个go程序,运行一下吧。
5、go 实现"Hello World!"
[work@132aaafe685d ~]$ vim /home/work/goapp/src/main.go
6、go run main.go
[work@132aaafe685d ~]$ go run /home/work/goapp/src/main.go
Hello World!
7、docker commit -m "xxx" -a "authorName" containerID hub的名称/镜像名称:tag
8、docker commit && push到远端仓
C:\Users\Administrator>docker commit -m "centos and go env" -a "wenhan" 132aaafe685d zhangwenhan/gobox:v1
sha256:2f74c2d19210cc38da7267e5e8922dbafc1f33d9bf26ff01b27f335d9e6e8dec
C:\Users\Administrator>docker login
Authenticating with existing credentials...
Login Succeeded
9、查看https://hub.docker.com/里的个人仓,push的image已入库
10、如果要打包报错到本地
docker save -o D:\DockerDesktop\vm-data\DockerDesktop\ebox\sunny_gobox.tar zhangwenhan/gobox:v1.0
第二种:通过Dockerfile,完成镜像image的创建。
1、创建镜像所在文件夹+Dockerfile文件
(1)mkdir ebox && cd ebox
(2)touch Dockerfile
2、在Dockerfile文件中写入指令
FROM ubuntu
RUN apt-get update && apt-get install -y ruby ruby-dev
格式说明:
每行命令都是以 INSTRUCTION statement 形式,就是命令+ 清单的模式。命令要大写,“#”是注解。
FROM 命令是告诉docker 我们的镜像什么。
RUN 命令是在镜像内部执行。就是说他后面的命令应该是针对镜像可以运行的命令。
3、创建镜像
命令:docker build -t zhangwenhan/ebox:v2 .
docker build 是docker创建镜像的命令
-t 是标识新建的镜像属于 zhangwenhan的
ebox是仓库的名称
:v2 是tag
"."是用来指明 我们的使用的Dockerfile文件当前目录的
4、创建完成后,从镜像创建容器
docker run -t -i zhangwenhan/ebox:v2 /bin/bash
Docker研发日常制作镜像操作
一、编写NginxDemo Dockerfile
# Version 0.1
# 基础镜像
FROM nginx
# 维护者信息
MAINTAINER Mr.Hao@51hsw.com
# 将容器的工作目录设置为/app(当前目录,如果/app不存在,WORKDIR会创建/app文件夹)
WORKDIR /app
# 镜像操作命令
RUN xxxx
# 容器启动命令
#指定nginx配置项目,--from=builder 指的是从上一次 build 的结果中提取了编译结果(FROM node:alpine as builder),即是把刚刚打包生成的dist放进nginx中
COPY --from=builder app/nginx.conf /etc/nginx/nginx.conf
#暴露容器80端口
EXPOSE 80
二、编译、安装日常操作
编译
# xx项目 1.0 tag(标签或版本)
docker build -t xx:1.0
查看
#待上面命令执行完成
docker images |grep xx
#查看全部镜像
docker images
运行
#使用xx-project进行运行 8080:本机使用访问的端口 80:Docker内启动的端口 xx-project-docker:指定启动之后容器名称 xx-project:1.0 镜像名称(由上面命令获得或者第一个命令 -t 的参数值)
docker run -p 8080:80 -d --name xx-project-docker xx-project:1.0
打包为tar
docker save -o xx-project.tar xx-project:1.0
加载tar包到其它docker环境
#执行load,将.tar压缩文件加载到线上镜像
docker load --input /home/root/xx-project.tar
推送docker镜像到harbor
#初始
docker tag xx-project:1.0 core.harbor.domain:5000/xx-project/xx-project:1.0
#推送
docker push core.harbor.domain:5000/xx-project/xx-project:1.0

docker制作镜像
三、停止、删除相关操作
查看所有运行的容器
#列出所有的容器 ID
docker ps -aq
#列表进程
docker ps -a
杀掉某个容器
#kill 指定容器
docker kill 容器ID 容器ID 容器ID ...
#stop 指定容器
docker stop 容器ID 容器ID 容器ID ...
#停止所有容器
docker stop $(docker ps -aq)
删除容器
#删除指定容器
docker rm 容器ID
#强删除
docker rm -f 容器ID
#删除所有容器
docker rm $(docker ps -aq)
#强删除所有容器
docker rm -f $(docker ps -aq)
删除镜像
#查询所有镜像
docker images
#删除指定镜像
docker rmi 镜像ID
#强删除
docker rmi -f 镜像ID
#删除所有镜像
docker rmi $(docker images -q)
#强删除所有镜像
docker rmi -f $(docker images -q)
其它清空快捷操作
# 清空所有不使用的镜像
docker image prune --force --all
# 或
docker image prune -f -a
# 清空所有停止的容器
docker container prune -f
awk删除操作
#停止容器
docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }')
#删除容器
docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }')
#删除镜像
docker rmi $(docker images | grep "none" | awk '{print $3}')
管理image镜像难吗? 需要哪些依赖?
管理image镜像难吗?
docker cli提供了丰富的api接口, 可以非常方便地操作image镜像。
需要哪些依赖?
安装docker的系统(Windows或者Linux)。
一旦容器从镜像启动后,二者之间就变成了互相依赖的关系,并且在镜像上启动的容器全部停止之前,镜像是无法被删除的。尝试删除镜像而不停止或销毁使用它的容器,会导致出错。
docker制作镜像方法是怎样的?大家在使用docker制作镜像的时候,就可以按照上面的步骤去操作,什么叫软文营销?这个步骤有些复杂,需要一点点的去理解和操作,什么叫软文营销?对于docker研发日常制作镜像操作方法,我们也可以去了解一下,如果大家还有什么不明白的问题,都可以咨询创新互联网站建设的专业工作人员。

名称栏目:docker制作镜像方法是怎样的?docker研发日常制作镜像操作是怎样的?
当前地址:https://www.cdcxhl.com/article8/sdpiop.html

成都网站建设公司_创新互联,为您提供建站公司网站设计做网站云服务器品牌网站建设搜索引擎优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设