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窗口

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

相关推荐
小糖学代码5 小时前
LLM系列:1.python入门:3.布尔型对象
linux·开发语言·python
shizhan_cloud5 小时前
Shell 函数的知识与实践
linux·运维
Deng8723473485 小时前
代码语法检查工具
linux·服务器·windows
霍夫曼7 小时前
UTC时间与本地时间转换问题
java·linux·服务器·前端·javascript
月熊8 小时前
在root无法通过登录界面进去时,通过原本的普通用户qiujian如何把它修改为自己指定的用户名
linux·运维·服务器
大江东去浪淘尽千古风流人物9 小时前
【DSP】向量化操作的误差来源分析及其经典解决方案
linux·运维·人工智能·算法·vr·dsp开发·mr
赖small强9 小时前
【Linux驱动开发】NOR Flash 技术原理与 Linux 系统应用全解析
linux·驱动开发·nor flash·芯片内执行
IT运维爱好者10 小时前
【Linux】LVM理论介绍、实战操作
linux·磁盘扩容·lvm
LEEE@FPGA11 小时前
ZYNQ MPSOC linux hello world
linux·运维·服务器
郝学胜-神的一滴11 小时前
Linux定时器编程:深入理解setitimer函数
linux·服务器·开发语言·c++·程序人生