Docker常用命令

 2022-08-25    0 条评论    36838 浏览

docker

Docker简述

Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目, 它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权 协议开源,主要项目代码在 GitHub 上进行维护。Docker 项目后来还加入了 Linux 基金会, 并成立推动 开放容器联盟(OCI)。

Docker安装

卸载已有docker

查看已有docker

yum list installed | grep docker

卸载删除

yum -y remove docker.x86_64 docker-client.x86_64 docker-common.x86_64

删除镜像

rm -rf /var/lib/docker

安装docker

yum -y install docker-io

启动

service docker start

重启

service docker restart

Docker命令

创建测试镜像

docker run hello-world
docker build -t docker .

打包镜像

打包python镜像,注意,不能大写
docker build -t dinfo.cn/hq/lsi:latest .
打包spring-boot镜像,并指定tag名称
docker build -t fp_growth_test:3.0 .

运行容器

指定核数运行镜像

docker run -dit -m 3072m -e JAVA_OPTS='-Xmx2048m' \
-v /opt/nlp-paas-ext-file/:/opt/nlp-paas-ext-file/  \
--cpuset-cpus="4-7" -p 8114:9113 fp_growth_test
docker run -dit -m 4096m  --memory-swap -1 -e JAVA_OPTS='-Xmx3500m' \
-v /opt/nlp-paas-ext-file/:/opt/nlp-paas-ext-file/  \
--cpuset-cpus="8-11" -p 8104:9103 fp_growth_test

容器命令

查看日志

docker logs -f 容器id/容器名

查看所有镜像

docker images

运行docker镜像(端口映射端口)

docker run -d -p 8080:8080 docker

关闭docker

service docker stop

关闭所有docker容器

docker stop $(docker ps -a -q)

删除所有docker容器

docker rm $(docker ps -a -q)

删除 镜像

docker rmi <image id>

向docker中复制本地文件

docker cp /nomn/ 8f0d9770a7e6:/

进入docker

docker exec -it 容器id/容器名 bash

退出docker

Ctrl+P+Q或者exit

镜像类

docker build --rm=true . 构建镜像
docker pull ${IMAGE} 安装镜像
docker images 显示已经安装的镜像
docker images --no-trunc 显示已经安装镜像的详细内容
docker rmi ${IMAGE_ID} 删除指定镜像
docker rmi $(docker images | grep “^” | awk “{print $3}”) 删除所有没有标签的镜像
docker rm $(docker ps -aq) 删除所有的镜像
docker rmi $(docker images --quiet --filter "dangling=true") 删除未使用的镜像

容器类

docker rename oldName newName
docker run 运行容器
docker ps 显示正在运行的容器
docker ps -a 显示所有的容器
docker stop ${CID} 停止指定容器
docker stop $(docker ps -aq) 停止所有正在运行的容器
docker ps -a --filter "exited=1" 显示所有退出状态为1的容器
docker rm ${CID} 删除指定容器
docker ps -a | grep wildfly | awk '{print $1}' | xargs docker rm -f 使用正则表达式删除容器
docker rm -f $(docker ps -a | grep Exit | awk '{ print $1 }') 删除所有退出的容器
docker rm $(docker ps -aq) 删除所有的容器
docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${CID} 显示指定容器的IP
docker attach ${CID} 进入容器
docker exec -it ${CID} bash 进入容器打开一个shell
docker ps | grep wildfly | awk '{print $1}' 通过正则表达式查找容器的镜像ID

容器状态查看

docker stats ${CID} 显示docker容器内部资源使用情况
[CONTAINER]:以短格式显示容器的 ID。
[CPU %]:CPU 的使用情况。
[MEM USAGE / LIMIT]:当前使用的内存和最大可以使用的内存。
[MEM %]:以百分比的形式显示内存使用情况。
[NET I/O]:网络 I/O 数据。
[BLOCK I/O]:磁盘 I/O 数据。 
[PIDS]:PID 号。