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

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

相关推荐
何陈陈1 分钟前
【Linux】线程池
linux·服务器·开发语言·c++
S hh2 分钟前
【Linux 】文件描述符fd、重定向、缓冲区(超详解)
linux·运维·服务器
DuoRuaiMiFa3 分钟前
Linux系统性能调优实战指南
linux
憧憬一下5 分钟前
线程池的实现和讲解:解决多线程并发服务器创建销毁线程消耗过大的问题
linux·线程池·c/c++·嵌入式linux
朝九晚五ฺ1 小时前
【Linux探索学习】第三弹——Linux的基础指令(下)——开启新篇章的大门
linux·运维·学习
肥or胖1 小时前
【MySQL】索引
linux·数据库·mysql
卓琢2 小时前
(九)Shell 脚本(四):正则表达式、sed 和 awk 详解
linux·mysql·正则表达式
一切皆是定数3 小时前
Linux驱动开发——LED驱动开发
linux·驱动开发·b树
小小不董3 小时前
图文深入理解Oracle DB Scheduler
linux·运维·服务器·数据库·oracle
不烦下雨c4 小时前
[网络]抓包工具介绍 tcpdump
linux·tcpdump