Docker的常见基本操作教程

图片[1]-Docker的常见基本操作教程-不念博客
Docker的常见基本操作教程

启动、重启和开机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容器中的所有日志
© 版权声明
THE END