MENU

docker入门笔记

February 18, 2019 • Read: 860 • • 阅读设置

docker入门笔记

tags: 网站


修改日期:2019年02月18日
版本:v1.0
作者:whl


[toc]


一、基本概念

1、image

docker镜像。可类比于操作系统的安装镜像,如centos官方镜像,创建并启动容器后,内部就是完整的centos环境;其它应用软件或运行环境除基本的操作系统环境,还预装了软件/软件环境。如python3镜像启动容器时可直接使用命令 python3

docker镜像的获取方式有三种:

  1. 使用docker pull命令从docker hub拉取。常用方式,一般为获取官方镜像。
  2. 使用Dockerfile创建。一般封装私有镜像时使用。
  3. 使用现有镜像/容器快照文件还原。一般迁移容器/镜像时使用。

2、container

docker容器。容器基于镜像创建,是镜像的单个运行实例。基于同一镜像创建的容器拥有相同的初始环境(镜像状态),但不同容器拥有自己的独立状态及环境。

3、dockerd

docker daemon。docker 后台服务,负责管理容器、镜像、卷并响应docker-cli发送的相关命令。docker daemon一般由syetemd管理启停,也可手动执行命令 dockerd

4、docker-cli

docker命令行工具。负责用户命令交互并发送至docker-daemon执行。

二、常用命令

1、docker-cli

# 查看docker版本
docker version

# 查看当前运行容器
docker ps

# 查看所有容器
docker ps -a

# 创建一个容器
docker run -d --name=example1 centos:7 /bin/bash

# 停止容器
docker stop example1

# 重启容器
docker restart example1

# 删除容器

docker rm example1

# 查看本地镜像
docker images

# 移除镜像
docker rmi centos:7

2、获取镜像

创建容器时需指定镜像,镜像tag一般用于标识镜像版本,未指定时默认使用latest,即使用最新版本;若本地不存在容器创建所需镜像,docker会自动从docker官方仓库拉取。

关于国内镜像加速
可使用阿里云容器服务获取国内加速链接,相关配置教程详见阿里云容器控制台。

# 下载镜像
docker pull centos

# 使用tag下载特定版本镜像
# 可在docker hub 搜索相关镜像获取其所有版本
docker pull centos:7
docker pull centos:7.6.1810

3、创建容器

# 创建容器
docker run -d --name= my-centos01 centos:7 /bin/bash

参数详解;
run
create 与 start命令的集合,创建并启动一个容器。

-d
后台运行容器,防止前台shell退出导致容器停止运行。

--name
命名容器。若未指定,docker会随机命名。

centos:7
镜像名称及tag。

/bin/bash
容器执行的命令(程序),原则上容器运行完命令后就完成工作并处于停止状态。对于需常驻后台的容器,可以启动一个shell并结合-d参数使容器常驻后台运行。

4、连接容器

docker exec -it my-centos01 /bin/bash

参数详解;
exec
使容器运行指定命令,当前命令启动了一个可交互的shell。

-it
将容器内输入输出连接至当前shell。

4、连接容器

//TODO