docker镜像创建及使用

目录

1、创建镜像所在文件夹和Dockerfile文件

2、创建镜像

3、根据创建好的镜像中创建容器

4、docker cp :用于容器与主机之间的数据拷贝


创建镜像【使用Dockerfile】

1、创建镜像所在文件夹和Dockerfile文件

    命令:

     mkdir docker

     cd docker

     touch Dockerfile

    在Dockerfile在输入下列信息

# This is a comment
FROM ubuntu:18.04
RUN apt-get update && apt-get install -y ruby ruby-dev vim
RUN gem install docker

#切换工作目录,进入docker后,会自动进入/home目录
WORKDIR /home

# 创建docker环境的相对文件夹
RUN mkdir -p /home/lib
RUN mkdir -p /home/SDK
RUN mkdir -p /home/code
RUN pwd

#建立 fw用户,并切换至fw用户
RUN groupadd -r fw && useradd -r -g fw fw
USER fw

    格式说明:

    每行命令都是以INSTRUCTION statement形式,就是命令+清单的模式。命令要大写,“#”是注解。

    FROM 命令是告诉docker 我们的镜像什么。

    MAINTAINER 是描述 镜像的创建人。

RUN 命令是在镜像内部执行。就是说他后面的命令应该是针对镜像可以运行的命令

Dockerfile常用命令

命令

作用

FROM image_name:tag

定义了使用哪个基础镜像启动构建流程

MAINTAINER user_name

声明镜像的创建者

ENV key value

设置环境变量 (可以写多条)

RUN command

是Dockerfile的核心部分(可以写多条)

ADD source_dir/file dest_dir/file

将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压

COPY source_dir/file dest_dir/file

和ADD相似,但是如果有压缩文件并不能解压

WORKDIR path_dir

设置工作目录

EXPOSE port1 prot2

用来指定端口,使容器内的应用可以通过端口和外界交互

CMD argument

在构建容器时使用,会被docker run 后的argument覆盖

ENTRYPOINT argument

和CMD相似,但是并不会被docker run指定的参数覆盖

VOLUME

将本地文件夹或者其他容器的文件挂载到容器中

2、创建镜像

命令: docker build -t gcs/docker_img:v1 .

docker build 是docker创建镜像的命令
-t 是标识新建的镜像属于 gcs
docker_img是仓库的名称
:v1 是tag
“.”是用来指明 我们的使用的Dockerfile文件当前目录的

docker镜像创建及使用_第1张图片通过docker images显示此镜像已创建OK

3、根据创建好的镜像中创建容器

3.1创建容器( 并直接进入docker容器中

命令:docker run -it --name gcs.tesr-ngx gcs/docker_img:v1 /bin/bash

docker镜像创建及使用_第2张图片3.2 根据镜像创建容器,返回容器id 【需要start后才能进入容器中】

docker create gcs/docker_img:v1

# start, 容器从 Exited --> Running
docker start [docker_name|docker_id]

# stop, 容器从 Running --> Exited
docker stop [docker_name|docker_id]

# 进入容器进行操作
docker exec -it docker_name /bin/bash

# 为容器重命名
docker rename docker_name new_docker_name

# 删除容器
docker rm 容器id

# 删除镜像
docker rmi 镜像ID

4、docker cp :用于容器与主机之间的数据拷贝

        4.1、从宿主机拷文件到容器里面

                docker cp 本地路径 容器名或者id:容器存储路径

        4.2、从容器拷文件到宿主机里面

                docker cp 容器名或者id:容器路径 本地路径

docker镜像创建及使用_第3张图片

以上即为基于dockerfile文件所创建的dockr镜像,

你可能感兴趣的:(docker,容器,运维)