Docker的相关操作

最近在研究Docker,终于有了一点点的成果,这里进行笔记一下,用以备忘。

1.对于镜像的基本操作

  使用Docker,需要熟悉对镜像的基本操作,其中常见的包含下列操作:

docker pull 镜像名								  # 从远程仓库拉取镜像
docker save -o [存档名.tar] [需要备份的镜像名称]    # 将镜像存档为tar文件
docker load -i [存档名.tar]                        # 将镜像导入进docker
docker images [-a]                                # 查看Docker中的[全部]镜像
docker rmi [镜像名]                                # 干掉对应镜像名的镜像
docker exec -it [镜像名] /bin/bash                 # 进入镜像中并分配一个伪终端
docker exec -it [容器ID] /bin/bash                 # 进入容器中并分配一个伪终端
docker build -t [镜像名:镜像版本号] .               # 新建一个镜像
docker build -f [Dockerfile路径] .                 # 通过Dockerfile创建镜像
docker ps [-a]									  # 查看该服务器中的[全部]镜像

2.制造自己的镜像

  Dockerfile是自制镜像的基础,若想创建自己的镜像,以及操作镜像,则需要懂得Dockerfile指令的使用。

2.1 前提

  想要制造一个属于自己的镜像,首先需要一个基础镜像。基础镜像,可通过中央镜像库下载获得,若要查询,你可以访问 https://hub.docker.com/search 来查询你需要运行的脚本的前置环境。
  你可以通过 docker pull [镜像名] 的命令将镜像拉取到本地,或者,无论你是制造自己的镜像,还是启动一个你所知的镜像,Docker都会帮助你自动的拉取远程中央镜像库的镜像,将它下载到本地运行(前提是电脑是联网状态的)。
  当要运行服务器没有网络的时候,可以通过Docker镜像的导入导出操作来进行基础镜像的拷贝。
  因此,你需要有一个最基础的镜像,才能够让你的程序在Docker中顺利运行。

2.2 Dockerflie指令

  这里仅仅罗列了Dockerfile的最常用的指令【写在Dockerfile文件中的指令】,用于构建Docker镜像。

FROM <image>[:<tag>]					# 必须在Docker的首行 用于指定基础镜像以及基础版本
MAINTAINER <name>						# 镜像作者信息 【非必要】
RUN <command>							# 在镜像中运行的指令
ADD <w_src> <j_src>						# 将相对于Dockerfile的w_src路径下的文件/文件夹添加到镜像的j_src路径下 【tar包中的内容不会被解压】
COPY <w_src> <j_src>					# 将相对于Dockerfile的w_src路径下的文件/文件夹添加到镜像的j_src路径下 【tar包中的内容会被解压】
CMD <command>							# 启动容器时执行的命令
ENV <key>=<value>						# 在容器中配置环境变量
EXPOSE <port> [<port>...]				# 在容器中配置端口号
VOLUME <path>							# 在镜像中创建目录
WORKDIR <path>							# 切换镜像中的工作目录

3.使用Docker容器

虽然使用容器的方式可以通过Docker命令的方式直接启动容器,但并不推荐这么操作。这里推荐使用docker-compose来进行Docker容器的启动,关闭,重启等一系列的操作。

3.1 docker-compose指令

  常用的docker-compose指令【直接执行的指令】如下:

docker-compose ps								# 列出所有运行的容器
docker-compose logs								# 查看服务日志输出
docker-compose build							# 通过当前目录下的docker-compose.yml文件构建容器
docker-compose start [容器名]					# 启动指定服务已存在的容器
docker-compose stop [容器名]						# 停止已经运行的服务的容器
docker-compose rm [容器名]						# 删除指定服务的容器
docker-compose up								# 依据docker-compose.yml文件来构建并启动容器
docker-compose down								# 依据docker-compose.yml文件来关闭并删除容器

3.2 docker-compose基本语法

services:										# 下面跟着各个的服务配置
container_name: '[容器名]'						# 指定容器名				【非必要】
image: '[镜像名]'								# 指定启动时所使用的镜像名
restart: always									# 指定镜像是否是一致重启
ports:											# 指定映射出的端口号对应
	- [外部端口][镜像内端口]
volumes:										# 指定映射出的文件系统路径
	- [外部路径][镜像内路径]
environment:									# 容器中的环境变量
	- [环境变量名]:[环境变量值]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值