翼度科技»论坛 云主机 LINUX 查看内容

Docker学习

2

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
1. 概念


1. 镜像

包含文件系统的面向Docker引擎的只读模板,给应用程序提供运行环境。CentOS、Ubuntu镜像指装载有该操作系统的模板,也可以在这之上装一些软件,例如Nginx镜像,Flask镜像等。

2. 容器

容器是指镜像创建的实例,相当于一个轻量级的虚拟机,Docker利用容器来运行程序,并隔离每个应用。

3. 仓库

指镜像仓库,集中存取Docker镜像文件的仓库,每个仓库一般只存放一类镜像,使用tag区分。

2. 基础操作


1. 安装/删除操作

官方注册服务器:hub.docker.com
每个仓库有多个镜像,在仓库pull时需要用tag标识,不加默认pull latest镜像文件
  1. docker search nginx                                        #查看nginx镜像文件
  2. docker pull nginx                                                #pull镜像
  3. docker images                                                                #查看当前系统镜像
  4. docker rm -f <containerid>        #删除指定容器
  5. docker save -o 镜像名 username/仓库名:tag    # 保存镜像
  6. docker load -i 镜像名    # 加载镜像
复制代码
2. 运行等操作
  1. docker run -it nginx:latest /bin/bash                                        #启动一个容器
  2. #-i表示打开并保持stdout,-i表示分配一个终端
  3. [ctrl+p]                [ctrl+q]                                                                                                        #退出当前容器
  4. docker ps -a                                                                                                                                        #查看docker中正在运行的容器
  5. docker start-i和-t。前者表示打开并保持stdout,后者表示分配一个终端                        #启动一个容器但不进入
  6. docker attach container_name/container_id                        #进入一个容器
  7. docker stop container_name/container_id                                #暂停
  8. docker restart container_name/container_id                #重启
复制代码
3. 打包容器
  1. docker commit -m "message" -a "username" <containerID> 用户名/仓库名:tag        #打包一个容器为镜像
  2. docker login                                                                                        #登录dockerhub
  3. docker push 用户名/仓库名:tag                        #push到dockerhub
复制代码
4. dockerfile相关

dockerfile是docker的配置文件,指定docker build操作的时候执行的操作
  1. # 说明该镜像以哪个镜像为基础
  2. FROM ubuntu:latest
  3. # 构建者的基本信息
  4. MAINTAINER username
  5. # 在build这个镜像时执行的操作
  6. RUN apt-get update
  7. RUN apt-get install vim
  8. # 拷贝本地文件到镜像中
  9. COPY ./* /usr/share/gitdir/
复制代码
使用docker build构建镜像
  1. docker build -t="username/仓库名:tag" .
  2. #-t 指定新镜像的用户信息,仓库名tag,最后一个参数表示在当前目录找dockerfile文件
  3. docker build  -t ImageName:TagName dir
  4. #-t表示给镜像加tag,dir表示docker文件的位置
复制代码
3. Docker Compose

Docker Compose是一个Docker容器管理工具,通过docker-compose.yml文件管理,可以同时启动多个容器

1. 安装


  • 下载
  1. sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
复制代码

  • 文件改为可执行
  1. sudo chmod +x /usr/local/bin/docker-compose
复制代码

  • 确认是否成功
  1. sudo docker-compose --version
复制代码
2. 使用


  • 配置docker-compose.yml
  1. version: '3'
  2. services:
  3. # nginx 服务
  4. nginx:
  5.   # 推荐使用官方镜像
  6.   image: nginx:latest
  7.   # 映射端口,把容器端口映射到宿主机对外接口,格式:对外端口:容器端口
  8.   ports:
  9.   - "80:80"
  10.   - "443:443"
  11.   # 所依赖的服务,php会先启动
  12.   depends_on:
  13.   - php
  14. # php 服务
  15. php:
  16.   # 官方镜像
  17.   image: php:7-fpm
复制代码

  • 启动多个服务
  1. sudo service docker start                                #docker启动
  2. sudo docker-compose up -d                                #运行docker-compose,并切换到docker-compose.yml文件所在目录
  3. #这时候会自动下载并运行nginx,php这两个容器
  4. docker ps                                                                                                #查看正在运行的容器
复制代码
来源:https://www.cnblogs.com/iven98/p/16989145.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具