Linux的docker基础知识

centOS7安装

shell 复制代码
yum install docker -y
systemctl start docker
systemctl enable docker

kali安装

shell 复制代码
# 添加docker的gpg密钥,签名用的
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -

# 添加docker的清华大学apt镜像源
echo 'deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster stable' | sudo tee /etc/apt/sources.list.d/docker.list

# 更新apt缓存
apt update

# 安装docker
sudo apt-get install docker docker-compose -y
或
sudo apt-get install docker.io

# 安装完成后,docker就自启动了
systemctl status docker

# 查看docker版本
docker -v

docker换源

shell 复制代码
# 创建或修改 /etc/docker/daemon.json 文件
vim /ect/docker/daemon.json
# 添加配置
{
    "registry-mirrors" : [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://cr.console.aliyun.com",
    "https://mirror.ccs.tencentyun.com"
  ]
}
# 使配置文件生效
systemctl daemon-reload
# 重启docker服务
systemctl restart docker.service
# 查看配置是否成功
docker info

docker使用

shell 复制代码
# 体验docker版nginx最新版
#-p 80:80 将客户端 80 端口映射到容器内部的 80 端口
# -d 设置容器在在后台一直运行
# --name nginx-test:容器名称
# rum 拉取并运行
docker rum --name nginx-test -d -p 80:80 nginx

# 客户端81端口 安装nginx1.16版本
 docker run -d -p 81:80 nginx:1.16

# 查看docker运行的服务
docker container ls

# 体验wordpress
-e 设置容器的参数
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

docker镜像:安装了某些特定程序的文件,相当于压缩文件

docker容器:镜像运行后开辟的内存空间。相当于普通程序运行之后的进程。

docker镜像常用命令

docker search nginx # 搜索nginx镜像

docker search tomcat # 搜索tomcat 镜像

该指令只能搜索官方仓库的镜像。


docker images

查看本地镜像列表,本地有的镜像就不用去下载了,可以将本地镜像导出分享给别人。


docker pull

下载镜像,拉取

docker pull tomcat:latest # 拉取tomcat最新版,冒号后面可以指定版本。 不加冒号默认拉取最新版本。


docker rmi

删除镜像 rm表示要删除容器,rmi表示删镜像,镜像处于运行状态时是不能删除的,会报错。

docker rmi tomcat:latest


docker save

导出镜像(是一个压缩包)docker save 镜像名称:版本 -o 压缩包名

在任意目录下都可以操作,压缩后会放在当前目录中 直接ll就可以查看。

docker save nginx:1.16 -o docker.nginx1.16.tar.gz


docker load

导入镜像,会自动解压并导入到docker服务中

docker load -i docker_nginx1.6.tar.gz

docker容器相关操作

docker container ls

查看docker运行了哪些容器


docker stop CONTAINER ID 或者 NAMES (通过docker ps 或者 docker container ls查看)

停止容器运行

docker stop stoic_keller


docker rm -f docker ps -a -q # 删除所有容器 -q显示容器id,反引号中的指令优先执行


docker ps -a 查看所有的容器,包括启动和未启动的


docker start CONTAINER ID 或者 NAMES (通过docker ps -a 或者 docker container ls查看)


docker run 运行一个新的容器


docker restart CONTAINER ID 或者 NAMES (通过docker ps -a 或者 docker container ls查看) 重新启动容器


与容器交互

容器相当于一个微型的虚拟机,所以是可以进入的

docker exec -it 602987e9527d /bin/bash

602987e9527d:CONTAINER ID

/bin/bash: 开启shell窗口

执行该指令后可以进入的容器内,但是容器内好多指令是不能运行的。

相关推荐
广而不精zhu小白7 分钟前
CentOS Stream 9 挂载Windows共享FTP文件夹
linux·windows·centos
一休哥助手13 分钟前
全面解析 Linux 系统监控与性能优化
linux·运维·性能优化
二进制杯莫停15 分钟前
掌控网络流量的利器:tcconfig
linux
watl032 分钟前
【Android】unzip aar删除冲突classes再zip
android·linux·运维
赵大仁1 小时前
在 CentOS 7 上安装 Node.js 20 并升级 GCC、make 和 glibc
linux·运维·服务器·ide·ubuntu·centos·计算机基础
vvw&1 小时前
Docker Build 命令详解:在 Ubuntu 上构建 Docker 镜像教程
linux·运维·服务器·ubuntu·docker·容器·开源
冷曦_sole2 小时前
linux-21 目录管理(一)mkdir命令,创建空目录
linux·运维·服务器
最后一个bug2 小时前
STM32MP1linux根文件系统目录作用
linux·c语言·arm开发·单片机·嵌入式硬件
dessler2 小时前
Docker-Dockerfile讲解(二)
linux·运维·docker
卫生纸不够用2 小时前
子Shell及Shell嵌套模式
linux·bash