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博客

相关推荐
m0_741768856 小时前
使用docker的小例子
运维·docker·容器
最新小梦9 小时前
Docker日志管理
运维·docker·容器
ZHOU西口11 小时前
微服务实战系列之玩转Docker(十五)
nginx·docker·微服务·云原生·swarm·docker swarm·dockerui
lgbisha11 小时前
828华为云征文|华为云Flexus X实例docker部署最新Appsmith社区版,搭建自己的低代码平台
低代码·docker·华为云
记得开心一点嘛11 小时前
在Linux系统上使用Docker部署javaweb项目
linux·运维·docker
Persistence is gold13 小时前
cassandra指定配置文件的docker启动方法
运维·docker·容器
C语言扫地僧14 小时前
Docker 镜像制作(Dockerfile)
linux·服务器·docker·容器
ken_coding18 小时前
Windows11 WSL2的ubuntu 22.04中拉取镜像报错
linux·ubuntu·docker
Richardlygo18 小时前
(k8s)Kubernetes部署Promehteus
云原生·容器·kubernetes
炸裂狸花猫19 小时前
Kubernetes从零到精通(12-Ingress、Gateway API)
容器·kubernetes·gateway