Docker简单使用

1.简单认识

软件的打包技术,就是将打乱的多个文件打包为一个整体,比如想使用nginx,需要先有一台linux的虚拟机,然后在虚拟机上安装nginx.比如虚拟机大小1G,nginx100M。当有了docker后我们可以下载nginx 的镜像文件,直接运行即可。

镜像:images,是个压缩包文件,里面存放着安装好的程序。

容器:Container,Docker利用容器来运行应用。容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

2.docker安装

https://docs.docker.com/engine/install/debian/#installation-methods

bash 复制代码
// linux 安装

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

//启动
systemctl start docker
//自启
systemctl enable docker

3.镜像常用指令

bash 复制代码
docker search  xxx #在docker仓库中寻找 镜像
bash 复制代码
docker images  #查看本地镜像列表
bash 复制代码
docker pull 下载镜像,拉取镜像
bash 复制代码
docker push # 上传镜像,推送镜像,推到官方仓库
docker rmi xxx
 #删除镜像,rm 删除image的意思,直接rm不加i表示要删除容器,可以通过名称加版本来删除,或者直接通过镜像id值来删除
 #docker rmi tomcat:latest 或者 docker rmi imageid值

4.容器常用命令

bash 复制代码
docker ps =docker container ls #参数: 默认之显示up状态的容器,-a查看所有容器,或者--
bash 复制代码
docker stop   停止容器  #例子 docker stop 容器id或者容器名字
docker kill   杀掉容器  #强制关闭容器,尽量不要用,很容易就启动不了了
docker start   启动容器  #例子 docker start 容器id或者容器名字
docker restart 重启重启  #例子 docker restart 容器id或者容器名字
docker rm     删除容器  #例子 docker rm 容器id或者容器名字,同时删除多个,就空格隔

删除容器前要停止容器。

bash 复制代码
docker rm -f `docker ps -a -q` #删除所有容器,-q是只显示容器id,反引号中的指令优先执行
bash 复制代码
docker top   查看容器内的进程  #例子docker top 容器id或者容器名字
docker stats 查看容器的资源占用情况
bash 复制代码
docker exec -it   进入容器  #例子: docker exec -it 容器id或者容器名字
 # 直接交互指令:docker exec -it 76738703b7b2 ls # 执行ls指令
 # 进入终端:docker exec -it 76738703b7b2 /bin/bash或者/bin/sh #/bin/bash打开一个终端窗口

5.使用docker安装软件

安装nginx /mysql

bash 复制代码
docker run -d -p 80:80 nginx

docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456  -d mysql:5.7  
docker run -d  --link mysql:mysql -p 86:80 wordpress:5.6

-d  #放后台运行
-p 端口映射 #例子: -p 宿主机端口:容器端口
--name 指定容器的名字 # docker run -it --name jaden 镜像id或者名称
--link 关联另一个容器 # 了解即可
-e MYSQL_ROOT_PASSWORD #设置容器的一些属性,了解一下即可
-it #是给运行起来的这个容器分配一个终端,就可以进入到容器内部操作了

6.docker-compose

docker-compose是批量管理docker容器的工具

bash 复制代码
#linux 安装
yum install docker-compose -y
# 查看版本
docker-compose -v

配置文件解读,了这个配置文件,就可以通过docker-compose来控制多个容器了

bash 复制代码
# 注意,下面这个文件内容是严格要求格式的,多一个空格都不行,通过缩进来表示等级关系,下面的这种配置语法叫做yaml语法
version: '3'  # docker-compose.yml的文件格式版本
services:
   db:  #容器名称
     image: mysql:5.7
     restart: always  # 开机自启动的意思
     environment:
       MYSQL_ROOT_PASSWORD: 123456
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: 123456  # 和下面的WORDPRESS_DB_PASSWORD值要对应上
   wordpress:
     depends_on:
       - db
     image: wordpress:5.6  
     ports:
       - "83:80"  # 端口映射
     restart: always
     environment:
       WORDPRESS_DB_HOST: db
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: 123456

可以将 代码放入xxx.yml 文件中使用指令即可根据文件创建并运行容器。

bash 复制代码
#创建并启动
docker-compose up -d # 启动之后就可以通过浏览器访问了
#停止并删除
docker-compose down
#重启
docker-compose restart
#停止
docker-compose stop
#启动
docker-compose start

使用命令时要进入 配置文件所在的目录下执行


小白一枚,不足之处请多多指教

借鉴文章:

https://blog.csdn.net/q610376681/article/details/90483576

docker入门,这一篇就够了。-CSDN博客

相关推荐
追风林9 分钟前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
€☞扫地僧☜€1 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
茶馆大橘1 小时前
微服务系列六:分布式事务与seata
分布式·docker·微服务·nacos·seata·springcloud
全能全知者2 小时前
docker快速安装与配置mongoDB
mongodb·docker·容器
阿尔帕兹4 小时前
构建 HTTP 服务端与 Docker 镜像:从开发到测试
网络协议·http·docker
ZHOU西口6 小时前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac
景天科技苑9 小时前
【云原生开发】K8S多集群资源管理平台架构设计
云原生·容器·kubernetes·k8s·云原生开发·k8s管理系统
wclass-zhengge9 小时前
K8S篇(基本介绍)
云原生·容器·kubernetes
颜淡慕潇9 小时前
【K8S问题系列 |1 】Kubernetes 中 NodePort 类型的 Service 无法访问【已解决】
后端·云原生·容器·kubernetes·问题解决
川石课堂软件测试11 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana