经验交流

作者: 单机游戏资讯  发布:2019-05-23

经验交流。经验交流。对于这个需求,网上有一些 Docker in Docker 的方法,具体需要修改宿主机的配置。这种方式在单机环境下、对安全要求不高的情况下可以实施,但是在Kubernetes 集群中、以及安全要求高的情况下可能存在问题和风险。

构建镜像

docker build [经验交流。选项]经验交流。 <上下文路径/URL/->
经验交流。-f ../xxx 可以将指定文件作为Dockerfile
在 Dockerfile 文件所在目录执行:

$ docker build -t nginx:v3 .
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM nginx
---> e43d811ce2f4
Step 2 : RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
---> Running in 9cdc27646c7b
---> 44aa4490ce2c
Removing intermediate container 9cdc27646c7b
Successfully built 44aa4490ce2c

其实,可以通过下述工作变通的实现这个功能:

查看machine ip

  • docker-machine ip <machine-name>
    经验交流。docker exec 命令进入容器,修改其内容
    参数:
- -it :这是两个参数,一个是 -i :交互式操作,一个是 -t 终端。我们这里打算进入bash执行一些命令并查看返回结果,因此我们需要交互式终端。
- -rm :这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm 。

2. Docker 容器执行 docker 命令时加 -H 参数

如:docker -H tcp://192.168.1.10:2376 build -f Dockerfile -t test .

这样就可以了:)

加了这个参数后,Dockerfile 里的命令都按照我们设想的运行。比如:COPY,会把容器内的文件COPY 到制作好的镜像里。而镜像储存在 192.168.1.10上;最后可以用 docker -H tcp://192.168.1.10:2376 push 把做好的镜像推送到公司内网镜像服务器里。

镜像加速

创建一台安装有Docker环境的Linux虚拟机,指定机器名称为study,同时配置Docker加速器地址。

docker-machine create --engine-registry-mirror=https://8su7gtbj.mirror.aliyuncs.com -d virtualbox default  

查看机器的环境配置,并配置到本地。然后通过Docker客户端访问Docker服务。

docker-machine env default 
eval "$(docker-machine env test)" 
docker info
  • windows环境下很多docker指令需要在指令前加winpty

最近在做CI持续集成环境的容器化,其中一个工作是:在容器中构建容器镜像。

其它 docker build 的用法

docker build 支持从URL构建:

$ docker build https://github.com/twang2218/gitlab-ce-zh.git#:8.14
docker build https://github.com/twang2218/gitlab-ce-zh.git#:8.14
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM gitlab/gitlab-ce:8.14.0-ce.0
8.14.0-ce.0: Pulling from gitlab/gitlab-ce
aed15891ba52: Already exists
773ae8583d14: Already exists
...

用给定的 tar 压缩包构建:

$ docker build http://server/context.tar.gz
如果所给出的 URL 不是个 Git repo,而是个 tar 压缩包,那么 Docker 引擎会下载这个包,
并自动解压缩,以其作为上下文,开始构建。

1. 建立一台独立的 Docker 服务器

假定 IP 为:192.168.1.10;

该服务器的 docker 加参数 -H tcp://192.168.1.10:2376 运行,开通 REST API,专门提供给容器使用,用于构建容器镜像;

Dockerfile

dockerfile就是记录在基础镜像之上进行构建过程的脚本文件,使后期镜像更好去维护,并且过程更好去追溯。

常用指令

查看对容器的储存层所做的修改

  • docker diff <machine-name>

本文由bg游戏资讯发布于单机游戏资讯,转载请注明出处:经验交流

关键词: 单机 日记本