docker常用命令
输出实时日志
docker container logs 容器ID -f --tail 100
帮助命令
# 显示docker的版本信息
docker version
# 显示docker的系统信息 包括镜像和容器数量
docker info
# 查看docker命令的帮助文档
docker 命令 --help
镜像命令
# 查看主机上所有的镜像
docker images # 相当于 docker image ls
# 搜索镜像
docker search 镜像名称
# 下载镜像
docker pull 镜像名称[:版本]
# 删除镜像
docker rmi 镜像名称
docker images
[root@node-01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest 08502081bff6 2 weeks ago 105MB
mysql 5.7 09361feeb475 2 weeks ago 447MB
elasticsearch 7.13.2 11a830014f7c 4 weeks ago 1.02GB
# REPOSITORY 镜像仓库
# TAG 镜像标签
# IMAGE ID 镜像ID
# CREATED 创建时间
# SIZE 镜像大小
可选参数
# -a 列出所有镜像,也可以使用 --all
docker images -a
# -q 只显示镜像ID,也可以使用 --quiet
docker images -q
# 显示所有镜像的ID
docker images -aq
docker pull
# 下载镜像 docker pull 镜像名[:tag]
➜ ~ docker pull tomcat:8
8: Pulling from library/tomcat #如果不写tag,默认就是latest
90fe46dd8199: Already exists #分层下载: docker image 的核心 联合文件系统
35a4f1977689: Already exists
bbc37f14aded: Already exists
74e27dc593d4: Already exists
93a01fbfad7f: Already exists
1478df405869: Pull complete
64f0dd11682b: Pull complete
68ff4e050d11: Pull complete
f576086003cf: Pull complete
3b72593ce10e: Pull complete
Digest:sha256:0c6234e7ec9d10ab32c06423ab829b32e3183ba5bf2620ee66de866df640a027 # 签名 防伪
Status: Downloaded newer image for tomcat:8 docker.io/library/tomcat:8 #真实地址
#等价于 docker pull tomcat:8 docker pull docker.io/library/tomcat:8
docker rim
# 删除指定的镜像,可以指定多个镜像ID
docker rim -f 镜像ID [镜像ID]
# 删除全部镜像
docker rmi -f $(docker images -aq)
容器命令
# 新建容器并启动
docker run 镜像ID
# 列出所有运行的容器
docker ps
# 删除指定容器
docker rm 容器ID
# 启动容器
docker start 容器ID
# 重启容器
docker restart 容器ID
# 停止运行的容器
docker stop 容器ID
# 强制停止运行中的容器
docker kill 容器ID
docker run
# 可选参数
--name="容器名字" # 指定容器名字,用来区分容器
-d # 以后台方式运行
-it # 使用交互方式运行,进入容器查看内容
-p # 指定端口映射 -p 宿主机端口:容器端口
-P # 随机指定端口
# 测试启动并进入容器
docker run -it centos /bin/bash
docker rm
# 删除指定容器,不能删除正在运行的,正在运行的需要强制删除 rm -rf
docker rm 容器ID
# 强制删除指定容器
docker rm -rf 容器ID
# 删除所有容器
docker rm $(docker ps -aq)
查看日志
# 查看n行日志
docker logs --tail n 容器ID
# 查看滚动日志
docker logs -f 容器ID
查看容器中进程信息
docker top 容器ID
查看容器元数据
docker inspect 容器ID
# 查看容器IP地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称|容器id
进入运行中的容器
docker exec -it 容器ID /bin/bash
# 进入容器其他方式
docker attach 容器ID # 不常用
# docker exec 进入当前容器后开启一个新的终端,可以在里面操作。(常用)
# docker attach 进入容器正在执行的终端
从容器拷贝文件到宿主机
# 进入容器
docker exec -it 容器ID /bin/bash
# 拷贝文件
docker cp 容器ID:容器内文件路径 宿主机需要存放文件的路径
Centos启动docker容器
service docker start
或者
systemctl start docker
修改docker的下载源
# 编辑配置文件,不存在新建
sudo vim /etc/docker/dameon.json
# 增加源配置
{
"registry-mirrors": ["https://reg-mirror.qiniu.com/"]
}
# 重启docker容器
sudo service docker restart
修改docker容器的dns让容器内能上网
# 编辑配置文件,不存在新建
sudo vim /etc/docker/dameon.json
# 增加dns配置
{
"registry-mirrors": ["https://reg-mirror.qiniu.com/"],
"dns":["114.114.114.114","8.8.8.8"]
}
# 重启docker容器
sudo service docker restart
docker启动es
# -e 表示环境配置修改
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.13.2