docker-入门基础命令以及创建一个自己的镜像

本文详细介绍了Docker的启动、镜像管理与容器操作,包括启动与停止Docker服务,查看与删除镜像,创建与管理容器,以及安装nginx和tomcat的实践。还涵盖了日志查看、容器进程检查、信息查看、内容复制等高级操作。通过实例演示,帮助读者掌握Docker的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、启动docker

启动docker:systemctl start docker 

重启docker:systemctl restart docker 

关闭docker:systemctl stop docker

docker帮助命令

docker -v 查看版本

docker --help  查看帮助

二、镜像命令

1、查看镜像 

docker images   查看镜像

REPOSITORY            TAG               IMAGE ID       CREATED        SIZE
镜像的仓库源              镜像的标签    镜像id              创建时间           镜像大小

2、只显示镜像id  : docker images -q  

3、查找镜像:docker search 镜像名   如dcoker search mysql

4、docker pull 镜像名   

5、 docker pull mysql:版本号  下载指定版本的镜像名

6、 docker rmi  镜像id 镜像id 镜像id  删作多个镜像

7、docker rmi -f $(docker images -aq)  删除所有镜像

三、容器命令

1、基本命令

1、有镜像才能创建容器

2、docker run [参数] image

#参数说明

-name=“name”    容器名子,tomcat01 tomcat02 用来区分容器

-d                         后台方式运行:坑,必须要有一个前台进程,如果没有如tomcat,就会自                               动停止,所以很多时候用了 -d,但docker ps中没有这个容器                                            

-it                         进入容器

-p                       指定容器端口号

-P                       随机指定端口

3、启动并进入容器

[root@localhost ~]# docker run -it centos /bin/bash     
[root@f8f919ad1ccd /]# ls
bin  etc   lib      lost+found  mnt  proc  run   srv  tmp  var  dev  home  lib64  media       opt  root  sbin  sys  usr

4、退出容器

[root@f8f919ad1ccd /]# exit
exit

6、退出容器,但保持容器运行状态:ctrl +p+q

5、查看正在运行的容器    docker ps

6、查看正在运行的和曾经运行的容器     docker ps -a

7、查看正在运行的和曾经运行的容器的编号   docker ps -aq

8、删除容器:docker rm 容器id

10、删除所有容器:docker rm -f  $(docker ps -aq)(-f 如果不加上,正在运行的容器无法删除)

 2、操作容器

启动容器:docker start 容器id

重启容器:docker restart 容器id

停止容器:docker stop  容器id

强制停止容器: docker kill 容器id

#docker start 和 docker run的区别

docker run:只有镜像,没有容器时,通过docker run来运行镜像同时创建容器

docker start: 如果容器不存在无法使用,只能对已存在的容器做启动容器

3、其他常用命令 

1、查看日志  

docker logs 容器id

-tf  显示带时间戳的日志

--tail number 显示末尾的日志条数

[root@localhost /]# docker logs -tf --tail 10  88dab993d0d7

2、查看容器中的进程

docker top 容器id

[root@localhost /]# docker top 88dab993d0d7
 

3、查看容器信息

docker inspect 容器id

[root@localhost /]# docker inspect 88dab993d0d7
 

4、进入容器

方法一:docker exec -it 容器id  /bin/bash

方法二:docker attach 容器id

区别

方法一:进入容器后一个新的终端,可以在里面操作

方法二:进入容器正在执行的终端,不会启动新的进程

5、将容器的内容copy到本机

#进入到容器

[root@localhost opt]# docker exec -it 88dab993d0d7 /bin/bash
[root@88dab993d0d7 /]# cd /opt/
[root@88dab993d0d7 opt]# ls

# 在容器中创建一个文件
[root@88dab993d0d7 opt]# touch java.py
[root@88dab993d0d7 opt]# ls
java.py

#退出容器
[root@88dab993d0d7 opt]# exit
exit


#  将88dab993d0d7容器中的/opt/java.py 复制到的本机的/opt/
[root@localhost opt]# docker cp 88dab993d0d7:/opt/java.py /opt/
[root@localhost opt]# ls
 java.py  

6. 练习安装nginx

  (1)   查看镜像:docker search nginx

(2)下载镜像:docker pull nginx

   (3) 运行镜像,并生成容器:  docker run --name nginx01 -p 7788:80 nginx

解释一下:

--name : 是容器的名称

-p 7788:80 :指定内网和外网的端口映射

80是nginx的固定的本地端口,如果我们要提供外网访问,如果就要开启一个可以访问的端口比如说我们开启的是7788,那么就可以用-p建立一个端口映射,将80映射到7788上,这样外网就可以访问nginx了

7、练习安装tomcat

   (1)   查看镜像:docker search tomcat

 (2)下载镜像:docker pull tomcat

  (3)运行镜像:docker run --name tomcat1 -d -p 8888:8080 tomcat

我们访问一下,tomcat页面没有显示

 那是因为tomcat镜像是阉割版,webapps里面是空的。我们进到容器里

将webapp.dist里面的东西复制到webapps中

 刷新一下

四 、制作镜像 

提交容器成为一个新的副本 dcoker commit 

docker commit -m=“提交的描述信息”  -a=“作者”   容器id  目标镜像名称:版本号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值