启动、重启和开机docker自启动systemctl enable docker
# Docker的启动
systemctl start docker
# Docker的重启
systemctl restart docker
# Docker的开机自启动
systemctl enable docker # 一般我们使用开机自启动的形式
镜像的基本操作
- 使用search命令来检索中央仓库中收录的镜像,这里以nginx为例
# 检索镜像:docker search [镜像名称]
docker search nginx
- 拉取(下载)镜像:docker pull nginx(默认最新版本),如果需要其他版本可在中央仓库中查阅
# 拉取镜像:docker pull [镜像名称]
docker pull nginx
# 默认拉取的是最新版本,如果需要特定版本,在后面指定即可,nginx7.0.1为例
docker pull nginx:7.0.1
- 查看已经下载的本地镜像:
# 查看已经下载的本地镜像
docker images
删除本地镜像
# 删除本地镜像: docker rmi 镜像名称/IMAGE ID
docker rmi nginx
容器的基本操作
- 根据镜像启动对应的容器
# 根据镜像启动对应的容器
docker run -d --name mynginx nginx
# --name 对容器起一个别名
# -d 对指定的容器进行后台运行
- 停止运行的容器
# 停止运行的容器:docker stop 容器名称/CONTAINER ID
docker stop mynginx
- 查看正在运行的容器
docker ps # 查看正在运行的容器
docker ps -a # 查看本地所有的容器
- 删除容器
# 注:删除容器是使用rm,删除镜像是rmi,且删除镜像之前需要停止运行容器并删除
docker rm mynginx
- 启动一个做了端口映射的容器,在之前创建容器之后,我们无法通过ip:端口的形式来访问Docker中所开启的服务,因为每一个容器他都是独立,所以要想访问,我们则需要通过端口的映射来访问容器。
docker run -d --name mynginx -p 8888:8080 nginx
# --name:对容器起一个别名
# -p:将主机的端口映射到容器的一个端口 主机端口:容器内部的端口
# -d:后台运行
- 查看容器的日志docker logs mytomcat
- 容器开机自起动:
docker update mynginx --restart=always
- 进入对应的容器
docker exec -it mynginx /bin/bash
- 本地文件(是centos不是windows)与docker容器中文件之间的互传,以将ik分词器插件上传至elasticsearch容器为例:
# 先将windows上的文件使用xftp上传到vmware linux中,然后将文件使用docker命令上传到docker容器中
# docker cp 本地路径 容器名:容器路径
docker cp ./elasticsearch-analysis-ik-6.5.4.zip elasticsearch:/usr/share/elasticsearch/plugins
- 文件的挂载
Docker容器是独立,且其相当于是一个及其精简版的Linux,在我们通过exec命令之后,我们是无法使用vim、vi等命令来对其内部文件进行编辑,在一般情况下我们在创建好容器之后一般会对其配置文件进行编辑,此时我们可以使用Docker中的挂载来将容器内文件挂载到宿主机中。当我们在宿主机中对挂载的文件进行编辑的时候,容器中所被挂载的文件也会做出相应的修改,下面就是docker挂载文件的-v操作(以挂载Es的配置文件和数据文件为例):
mkdir -p ./resources/elasticsearch/config
mkdir -p ./resources/elasticsearch/data
docker run --name elasticsearch -p 9200:9200 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms256m -Xmx256m" \
-v /resources/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /resources/elasticsearch/data:/usr/share/elasticsearch/data -d elasticsearch:5.6.8
镜像、容器的导入和导出
export:可将docker容器通过export导出为tar文件
docker export mynginx > mynginx.tar
import:基于tar文件来创建一个新的镜像
docker import - mynginx < mynginx.tar
注:以下表格总结了Docker容器中常用的一些命令。
api | 描述 |
docker logon | 登录到docker registry |
docker logout | 从docker registry退出登录 |
docker pull | 从docker registry中拉取docker镜像 |
docker image ls | 列出本地已经下载的镜像列表 |
docker image rm | 删除本地镜像 |
docker push | 将本地镜像推送的docker registry |
docker attach | 将本地标准的输入,输出和错误流关联到一个正在运行的容器 |
docker build | 使用dockerfile构建一个docker镜像(image) |
docker cp | 实现容器与本地文件系统之间文件跟目录的拷贝 |
docker commit | 将对容器修改部分添加到docker镜像中并创建新的docker镜像 |
docker config | 管理docker配置文件 |
docker create | 创建一个新的容器 |
docker start | 启动某个已经stopped的容器 |
docker run | 启动一个新的容器并执行某个command |
docker exec | 在某一个正在运行的docker容器中执行某个command |
docker rm | 移除某容器 |
docker restart | 重启某个docker容器 |
docker pause | 暂停某个容器中的所有进程 |
docker unpause | 将容器中已暂停的所有进程恢复执行状态 |
docker stop | 停止某个docker容器 |
docker kill | 杀掉某个正在运行的容器 |
docker info | 显示系统层面的信息 |
docker logs | 抓取docker容器中的所有日志 |
转载请注明:IT运维空间 » linux » Docker的常见基本操作教程
发表评论