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

相关推荐
条纹布鲁斯31 分钟前
dockerdsktop修改安装路径/k8s部署wordpress和ubuntu
docker·kubernetes
工业3D_大熊2 小时前
3D可视化引擎HOOPS Luminate场景图详解:形状的创建、销毁与管理
java·c++·3d·docker·c#·制造·数据可视化
szc17672 小时前
docker 相关命令
java·docker·jenkins
CP-DD3 小时前
Docker 容器化开发 应用
运维·docker·容器
Stark-C3 小时前
万物皆可Docker,在NAS上一键部署最新苹果MacOS 15系统
macos·docker·策略模式
老司机张师傅3 小时前
【微服务实战之Docker容器】第七章-Dockerfile解析
容器·dockerfile·虚悬镜像·docker学习
微信-since811923 小时前
[ruby on rails] 安装docker
后端·docker·ruby on rails
吴半杯5 小时前
gateway漏洞(CVE-2022-22947)
docker·kubernetes·gateway
今天我刷leetcode了吗5 小时前
docker 配置同宿主机共同网段的IP 同时通过通网段的另一个电脑实现远程连接docker
tcp/ip·docker·电脑
lwprain6 小时前
常用docker应用部署,wordpress、mysql、tomcat、nginx、redis
mysql·docker·tomcat