Linux:(docker)指令(安装、镜像、容器)

 点个赞好不好?好不好嘛!!

docker官方网站(国外):Docker Hub


常识:

latest 表示最新的镜像文件

如果没有指定镜像版本,会默认下载最新版本的 latest 镜像

安装docker


查看docker是否安装:yum list installed | grep docker

安装所需软件包:yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum国内镜像源(阿里云)(这里注意替换域名)

Windows:sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 /

Linux:sudo yum-config-manager --add-repo https://qvo4a3ml.mirror.aliyuncs.com

安装docker-ce:yum -y install docker-ce (-y表示不询问安装,注:不能使用(yum -y install docker),因为最终安装的可能不是docker)

卸载docker:yum remove docker-ce

查看docker版本号:docker -version    或   docker -v

启动docker


启动docker:systemctl start docker

加入启动项(开机自动启动):systemctl enable docker

重启docker服务systemctl restart docker / service docker restart

docker服务状态:systemctl status docker 

镜像仓库 


镜像仓库指令

查询云库镜像:docker search mysql

查询云库点赞数超过30以上:docker search -s 30 mysql 

查看本地镜像列表:docker images 

下载云库镜像到本地docker pull mysql:latest (冒号后面是版本号或者latest(最新))

卸载本地已安装的镜像:docker rmi [IMAGE ID](IMAGE ID为远程仓库的ID)

卸载本地全部镜像: docker rmi -f $(docker images -qa)

容器 


创建容器:

运行原理:先在本地仓库中查看有没有,没有的话就会去远程仓库中下载,本地仓库中有就运行本地仓库的

下载并运行tomcat8:docker run tomcat:8

加 -p 8081:8080 带端口的方式运行(第一个8081是宿主机的端口,8080为tomcat端口):

docker run -p 8081:8080 tomcat:8

加 --name my-tomcat 自定义容器名的方式运行:

docker run  --name my-tomcat tomcat:8

加 -d 后台启动

前台启动会打印启动日志信息

后台启动不会打印启动日志信息

docker run  -d tomcat:8

查看容器日志 docker logs 容器ID  

docker logs -f [镜像ID] --tail 1000 -t --since '2023-08-01T06:55:00.999999999' --until='2023-08-01T07:05:00.999999999'
-f  跟踪实时日志
--tail  从日志末尾显示多少行
-t 显示时间戳
--since 显示自某个timestamp之后的日志
--until 显示自某个timestamp之前的日志

查看容器列表:

打开一个新的终端查看运行的容器:docker ps -a (加-a查看所有容器,不加-a只查看运行中的容器)

 可以看到刚刚启动的容器列表

访问 


容器内部访问:

进入到容器,可以使用bash命令浏览容器里的文件(有的镜像没有bash命令,可以用对应的shell,比如sh):

docker exec -it [CONTAINER ID] bash / docker exec -it [CONTAINER ID] sh

进入容器后:

直接ls查看目录

也可以使用 ip addr 查看容器的ip,可能会报 ip: command not found 错误。

 测试在容器内访问tomcat,输入:curl 127.0.0.1:8080

bash: curl: command not found

apt-get update 

apt-get install yum 

访问正常,那怎么在容器外部访问呢?


容器外部访问:(docker以外,也就是虚拟机内)

首先 exit 指令退出容器,然后用 docker ps 查看容器的 CONTAINER ID

接着使用 docker inspect [CONTAINER ID] 命令查看该容器的网段

最后用 curl 172.17.0.2:8080 --output mysql5.7 访问(结尾名)

注:如果宿主机需要访问,应该使用Linux系统的 ip 访问

 


关闭容器:

关闭单个docker stop [CONTAINER ID]

关闭所有容器:docker stop $(docker ps -q) 

虽然这个容器已经关闭,但只是关闭了没有删除;可以使用 docker ps -a 查看所有的容器(-a包括关闭的)

所以如果这个时候再次运行 docker run  --name my-tomcat tomcat:8 就会报错(因为容器my-tomcat已经存在)


删除容器:

这个时候就要

删除单个容器docker rm [CONTAINER ID] 就可以重新创建了

删除所有容器:docker rm $(docker ps -aq)


重启容器:

既然容器关闭了,又不想新建一个容器(如果容器已经存在,再次运行  docker run [CONTAINER ID] 或容器名 就会报错)

可以使用:docker restart [CONTAINER ID] 或容器名 :不管容器是否启动,都会重启容器  

 参数:-t:关闭容器的倒计时(单位:秒)

设容器为自动启动: docker update mysql5.7 --restart=always  


在容器中新建文件:

  1. 安装一个tomcat8   docker run -p 8081:8080   tomcat:8
  2. docker exec -it 3a06b4c779a8   bash
  3. cd webapps
  4. mkdir mayikt
  5. touch index.html
  6. echo "mayikt" >>index.html

复制容器为镜像文件:

docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]

1.根据当前容器作为模板制作为镜像文件

docker commit -m="mayikt tomcat" -a="mayikt"  3a06b4c779a8 mayikt-tomcat:1.0

2.在以当前自己制作的镜像文件运行

docker run -p 8088:8080   mayikt-tomcat:1.0


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值