成都网站建设设计

将想法与焦点和您一起共享

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研发日常制作镜像操作是怎样的?
文章位置:http://chengdu.cdxwcx.cn/article/sdpiop.html