[docker] Docker容器化应用入门

阅读更多

1. 熟悉docker常用命令

1. 镜像常用命令

[1] docker image pull centos:latest #拉取镜像
[2] docker image ls 	            #镜像列表
[3] docker image inspect centos     #展示镜像的细节,包括元数据和镜像层数
[4] docker image rm                 #删除镜像
[5] docker buid -t web:latest .     #构建当前目录的Dockfile

2. 容器的常用命令

[1] docker container ls             			#列出全部容器的运行状态
[2] docker container run -it centos /bin/bash   #运行一个centos容器,并运行bash shell
[3] docker container exec -it  bash #用于运行状态的容器中,启动一个新进程
[4] docker container stop           #停止容器
[5] docker container start 			#启动容器			
[6] docker container rm 			#删除容器
[7] docker container inspect        #容器的配置细节和运行信息  

 

2. 编写Dockfile文件

#设置基于哪个基础镜像
FROM centos

#设置构建者信息
LABEL maintainer="[email protected]"

#安装依赖工具
RUN curl --silent --location https://rpm.nodesource.com/setup_10.x | /bin/bash - && yum -y install nodejs && npm install -g n latest

#复制代码进镜像里面
COPY . /home/wwwroot

#设置工作目录
WORKDIR /home/wwwroot

# 执行程序安装
RUN npm install

#端口映射
EXPOSE 8080

# 程序初始化命令
ENTRYPOINT ["node", "./app.js"]

3.构建镜像

docker image build --rm -t web:latest .

 

4. 运行容器

docker container run -d --name nodejs1 -p 8080:8080 nodejs:latest

 5. 附件,nodejs项目文件, 略。

 

 6. Dockfile语法规则

Dockerfile语法规则

1. 基本结构,由四部分组成

[1] 基础镜像信息:FROM centos

[2] 维护者的信息:LABEL maintainer="[email protected]"

[3] 镜像操作指令:Run echo "Helll World"
				  Run yum -y install gcc
				  WORKDIR /home/wwwroot
				  COPY . /home/wwwroot
				  
[4] 容器启动命令:CMD /usr/sbin/nginx

2. 详细指令介绍
[1] FROM							# 基础镜像
[2] LABEL maintainer="[email protected]"	# 维护者信息
[3] RUN								# shell中执行命令
[4] CMD								# 程序初始化命令,每个Dockfile只能有一条CMD命令
[5] EXPOSE 22 80 443                # 告诉docker服务端容器暴露的端口号,供互联系统使用,启动容器时, 需要通过-P或-p分配
[6] ENV  				# 指定环境变量
[7] ADD                  # 将复制指定的到容器中的
[8] COPY                            # 复制本地主机为容器中的,目标路径不存在时, 推荐使用COPY
[9] ENTRYPOINT                      # 配置容器启动后执行的命令     
[a] VOLUME                          # 创建一个可以从本地主机或其他容器挂载的卷,一般用来存放数据库和需要保持的数据等
[b] USER                            # 指定运行容器时的用户名或UID
[c] WORKDIR                         # 为后续的RUN,CMD, ENTRYPOINT指令配置工作目录	
[d] ONBUILD                         # 配置当前所创建的镜像作为其他新创建镜像的基础镜像时, 所执行的操作指令
[e] ARG                             # 构建参数和 ENV 的效果一样,都是设置环境变量。ARG 所设置的构建环境的环境变量,在将来容器运行时是不会存在这些环境变量的。
[f] HEALTHCHECK                     # 指令是告诉 Docker 应该如何进行判断容器的状态是否正常

3.程序容器化
docker image build --rm -t web:latest .

4. 启动容器 

docker container run -d --name nodejs1 -p 8080:8080 -v /home/wwwroot:/home/wwwroot --restart=always nodejs:latest 

 

  • demo.zip (3.2 KB)
  • 下载次数: 0

你可能感兴趣的:([docker] Docker容器化应用入门)