首页IT科技docker run指令(Docker:常用的指令集)

docker run指令(Docker:常用的指令集)

时间2025-05-05 20:43:41分类IT科技浏览3628
导读:1、查看所有容器和镜像 查看docker安装的镜像:...

1           、查看所有容器和镜像

查看docker安装的镜像:

[root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql 5.7 c20987f18b13 15 months ago 448MB

查看docker所有的容器:

[root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cb2282893697 mysql:5.7 "docker-entrypoint.s…" 2 weeks ago Up 5 days 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql

2                、查看Docker占用内存

可以通过系统指令df -h查看内存分布:

[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 12M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 50G 2.7G 48G 6% / /dev/sda1 1014M 151M 864M 15% /boot /dev/mapper/centos-home 46G 33M 46G 1% /home overlay 50G 2.7G 48G 6% /var/lib/docker/overlay2/76f68e80a852c9850abb6efc685da41bc323d

或者通过指令查找docker info 来查找root路径:

sudo docker info | grep "Docker Root Dir"

然后通过du指令查看 /var/lib/docker目录占用内存:

[root@localhost ~]# du -sh /var/lib/docker 876M /var/lib/docker

也可以通过docker 自带df查看内存详情:

[root@localhost ~]# docker system df -v Images space usage: REPOSITORY TAG IMAGE ID CREATED SIZE SHARED SIZE UNIQUE SIZE CONTAINERS mysql 5.7 c20987f18b13 15 months ago 448.3MB 0B 448.3MB 1 Containers space usage: CONTAINER ID IMAGE COMMAND LOCAL VOLUMES SIZE CREATED STATUS NAMES cb2282893697 mysql:5.7 "docker-entrypoint.s…" 0 261B 2 weeks ago Up 5 days mysql Local Volumes space usage: VOLUME NAME LINKS SIZE Build cache usage: 0B CACHE ID CACHE TYPE SIZE CREATED LAST USED USAGE SHARED

3    、查看镜像日志

通过docker logs 来查看当前镜像日志           ,可以快速定位问题:

[root@localhost ~]# docker logs -f --tail=300 mysql 2023-03-10T05:26:43.633523Z 0 [Note] Plugin FEDERATED is disabled. 2023-03-10T05:26:43.636119Z 0 [Note] InnoDB: Buffer pool(s) load completed at 230310 5:26:43 2023-03-10T05:26:43.640394Z 0 [Note] Found ca.pem, server-cert.pem and server-key.pem in data directory. Trying to enable SSL support using them. 2023-03-10T05:26:43.640477Z 0 [Note] Skipping generation of SSL certificates as certificate files are present in data directory.

4        、删除容器和镜像

删除容器指令:

#删除一个容器 docker rm -f 容器名/容器ID #删除多个容器 空格隔开要删除的容器名或容器ID docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID #删除全部容器 docker rm -f $(docker ps -aq)

删除镜像指令:

#删除一个 docker rmi -f 镜像名/镜像ID #删除多个 其镜像ID或镜像用用空格隔开即可 docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID #删除全部镜像 -a 意思为显示全部, -q 意思为只显示ID docker rmi -f $(docker images -aq)

删除无用的镜像:

# 删除异常停止的容器 docker rm `docker ps -a | grep Exited | awk {print $1}` # 删除名称或标签为none的镜像 docker rmi -f `docker images | grep <none> | awk {print $3}`

5                 、构建镜像

构建镜像:

sudo docker build -t jdk_tomcat:8 .

通过docker run 启动jdk_tomcat:8 当前镜像

sudo docker run -itd -p 8080:8080 --name jdk_tomcat jdk_tomcat:8

提交自己定义的镜像:

commit:从容器创建一个新的镜像          。参数说明:

-a : 提交的镜像作者;

-c : 使用Dockerfile指令来创建镜像;

-m : 提交时的说明文字;

-p : 在commit时                ,将容器暂停               。

将容器cb2282893697保存为新的镜像 # 并添加提交人信息和说明信息      。 docker commit -a "guodong" -m "my db" cb2282893697 mysql:v1

通过docker login 登录容器存放的地址:

docker login --username=*** registry.cn-hangzhou.aliyuncs.com

通过标签和推送指令:

$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/lskdxhl/jdk_comcat:[镜像版本号] $ docker push registry.cn-hangzhou.aliyuncs.com/lskdxhl/jdk_comcat:[镜像版本号]

拉取上传的镜像:

sudo docker pull registry.cn-hangzhou.aliyuncs.com/lskdxhl/jdk_comcat:8

6      、进入容器内部

可以通过docker指令docker exec来实现:

[root@localhost ~]# docker exec -it mysql /bin/bash root@cb2282893697:/#

获取容器/镜像的元数据:

[root@localhost /]# docker inspect mysql

7     、保存和加载镜像

保存当前mysql镜像:

docker save mysql -o /my_images.tar

生成的位置在:

[root@localhost ~]# cd / [root@localhost /]# ls bin data etc lib media my_images.tar proc run shop sys usr boot dev home lib64 mnt opt root sbin srv tmp var

加载当前保存的镜像:

docker load -i 镜像保存文件位置

8                  、查找容器

查找docker 容器ID

[root@localhost /]# docker ps | grep mysql cb2282893697 mysql:5.7 "docker-entrypoint.s…" 2 weeks ago Up 5 days 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql

容器重命名:

docker rename 容器名称 新容器名称

搜索镜像:

[root@localhost /]# docker search mysql [root@localhost /]# docker search --filter=STARS=13960 mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relation… 13960 [OK]

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
主机企业和配套企业(企业主机有哪几种类型?)