Docker快速入门教程

介绍

Docker是开发人员和系统管理员使用容器开发,部署和运行应用程序的平台。
使用Linux容器部署应用程序称为容器化。使用docker提供的管理工具,可以将应用与它的依赖环境通过编排文件打包在一起,运行这个文件就能运行应用,可以像代码一样实现版本控制。

安装

参考官方文档:https://docs.docker.com/install/

基本使用

docker有三个概念:仓库,镜像,容器

  1. 仓库:存储镜像,类似github的仓库。
  2. 镜像:一个可执行包,包含运行应用程序所需的所有内容,代码,依赖,环境变量和配置文件。
  3. 容器: 运行中的镜像的一个实例。

修改/etc/docker/daemon.json配置,使用中国镜像加速

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

重启service docker restart后生效

镜像

基础使用

搜索一个镜像

$ docker search nginx

运行一个镜像

$ docker run nginx[:tag]    ##tag版本号可选,默认不加为latest最新版

docker run首先看本地有没有镜像,没有则相当于执行了docker pull image && docker run image

example:

$ docker run --rm -p 8080:80 --name my-nginx nginx
## --rm 退出后删除容器,-p 8080:80 端口转发,--name my-nginx容器命名,[-d]后台运行

运行后,在本地浏览器打开127.0.0.1:8080就能看到nginx的欢迎界面了

本地镜像

##查看
$ docker image ls ##或者docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              7042885a156a        2 weeks ago         109MB
##删除
$ docker image rm IMAGE-ID  ##或者docker rmi IMAGE-ID
##IMAGE-ID不用写全,随便写几位只要没有重复的就行
Dockerfile

使用Dockerfile基于基础镜像定制属于自己的镜像

##指定基础镜像
FROM nginx
##运行命令
RUN echo "hello world" > /usr/share/nginx/html/index.html
##容器启动命令
CMD ["nginx", "-g", "daemon off;"]

保存为Dockerfile文件,在该目录下运行docker build -t my-nginx:1.0 .构建镜像,末尾.代表当前目录

查看本地镜像,并运行试试

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
my-nginx            1.0                 f3d6c4882e97        About a minute ago   109MB
nginx               latest              7042885a156a        2 weeks ago          109MB
$ docker run --rm -p 8080:80 --name my-nginx my-nginx:1.0

这里只写了几个简单的dockerfile命令,完整地可以参考官方文档

docker-compose

容器编排工具,有时一个项目需要多个容器组合,借助wordpress来了解使用docker-compose

version: "3"
services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:

新建文件夹wordpress进入,将以上保存为docker-compose.yml,然后在命令行该目录下docker-compose up -d,Compose 就会拉取镜像再创建我们所需要的镜像,然后启动 wordpress 和数据库容器。 接着浏览器访问 127.0.0.1:8000 端口就能看到 WordPress 安装界面了。

docker-compose常用命令
$ docker-compose up -d                      ##后台启动
$ docker-compose ps                         ##查看容器状态
$ docker-compose kill                       ##停止所有容器
$ docker-compose stop/start container-name  ##停止/开始容器
$ docker-compose down                       ##停止容器并删除所有镜像

容器

一个镜像运行起来就是一个容器了,一个窗口开一个nginx容器,另开一个窗口操作

常用命令

查看运行中的容器,-a可以查看所有容器

$ docker container ls
CONTAINER ID    IMAGE           COMMAND                  CREATED             STATUS          PORTS                 NAMES
05159f0517e3    my-nginx:1.0    "nginx -g 'daemon of…"   6 seconds ago       Up 5 seconds   0.0.0.0:8080->80/tcp   my-nginx

停止/启动/删除[ -f强制删除]容器

$ docker container stop/start/rm container-id 
$ docker container prune    ##删除所有容器

结语

这里只写了一些最简单的基本操作,想要深入了解请查阅官方文档

推荐Docker — 从入门到实践

猜你喜欢

转载自www.cnblogs.com/luke44/p/docker-quickly-doc.html