代码编织梦想

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是一个Client-Server结构的系统。Docker镜像Image就是只读的模版,镜像可以用来创建docker容器,一个镜像可以创建多个容器。应用程序或服务运行在容器里面,容器类似于一个虚拟化的运行环境,容器是用镜像创建的运行实例。Docker仓库存放镜像的地方。

1. docker下载和安装

# root 运行
## 卸载旧的版本
yum remove docker \
           docker-client \
           docker-client-latest \
           docker-common \
           docker-latest \
           docker-latest-logrotate \
           docker-logrotate \
           docker-engine

## 查看是否存在Podman,如有,删除
rpm -q podman
yum erase podman buildah

# 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2

# 设置镜像仓库
# 官方镜像仓库
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

# 阿里镜像仓库(建议)
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 更新 yum 缓存
yum makecache

# 安装
yum install docker-ce docker-ce-cli containerd.io

# 版本信息
docker version
docker info

# docker系统信息
docker system df

# 卸载
# yum remove docker
# rm -rf /var/lib/docker
# rm -rf /bar/lib/containerd

2.  docker服务操作

systemctl start docker # 启动
systemctl stop docker # 停止
systemctl restart docker # 重新启动
systemctl status docker # 服务状态
systemctl enable docker # 设置开机启动


3. docker镜像操作

# 帮助信息
docker --help
docker pull --help 

docker search hello-world  # 镜像仓库搜索
docker pull hello-world # 下载镜像
docker images 
docker images -a # 显示所有
docker images -q # 只显示image ID号

# 删除镜像
# docker rmi hello-world
# docker feb5d9fea6a5
# docker rmi -f $(docker images -qa) # 强制删除所有镜像


4. 容器创建

docker run 参数
--name
-i
-t
-P 随机端口
-p 指定端口映射

# 创建容器,
docker run -d redis:6.0.8

# 容器名有唯一,包括和已经停止的容器名不能重复
docker run -it --name=myubuntu ubuntu  /bin/bash # 交互伪终端 interactive tty 

# 没有前台进程,调用ubuntu容器,会自动退出
docker run -d --name=myubuntu ubuntu # -d 后台运行

5. 容器查看

# 查看正在运行的容器
docker ps # 查看正在运行的容器
docker ps -a # 查看所有的容器,包括已经停止的
docker ps -a -l
docker ps -a -n 3

docker logs 95e25474bc7e # 查看容器日志

docker top 95e25474bc7e # 查看容器内运行的进程

docker inspect 95e25474bc7e  # 查看容器内部细节

6. 容器退出,启动和重新进入

exit # 退出容器
ctl+p+q # 退出,容器不停止

docker start 95e25474bc7e # 启动已经停止的容器
docker restart 95e25474bc7e
docker stop 95e25474bc7e
docker kill 95e25474bc7e # 杀死一个或多个容器
 
docker rm 95e25474bc7e # 删除停止运行的容器, 容器不会出先在 $(docker ps -qa)中

docker exec --help

docker exec -it 95e25474bc7e /bin/bash  # exec:在容器中打开新的终端,启动新的进程,用exit退出,不会导致容器的停止

docker attach 95e25474bc7e # 直接进入容器命令的终端,不会启动新的进程,用exit退出,会导致容器的停止

## 注:工作中,docker -d 容器id或容器名 后台运行,使用docker exec -it 容器id或容器名,启动新的前台进程,操作完,exit退出

7. 容器导入导出

# 拷贝容器中的文件到主机
# docker cp 容器id:容器内路径  目的主机路径

# 在容器2067514cb1f4中建一个文件
touch tmp/a.txt
ctl+p+q
docker cp 2067514cb1f4:/tmp/a.txt /home/zheng/tmp

# 导出容器
# docker export 容器id > 文件名.tar
docker export 2067514cb1f4 > /home/zheng/tmp/u2.tar

# 导出容器
# cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
cat /home/zheng/tmp/u2.tar|docker import - zheng/ubuntu:latest
docker images
docker run -it zheng/ubuntu /bin/bash

8. 镜像创建

# 由容器创建新的镜像
# 镜像 -> 容器 —> 增加新功能 -> 新的镜像
# docker commit -m="提交的描述信息" -a="作者" 容器id 要创建的目标镜像名:[标签名]
docker run -it --name=u3 ubuntu /bin/bash

apt-get update
apt-get install vim

ctl+p+q # 退出,容器不停止

# 容器外执行
docker commit -m="vim added" -a="zheng" 6e24333809ed zheng/myubuntu:1.0

 

9. docker容器数据卷

# 主机和容器之间共享数据,备份docker容器的数据
# 没有文件夹,自动建立
# docker run -it --privileged=true -v 宿主机目录:容器内目录 镜像名
docker run -it --privileged=true -v /docker/host_data:/data --name=myubuntu ubuntu

# 容器内目录只读
docker run -it --privileged=true -v /docker/host_data:/data:ro --name=myubuntu ubuntu

参考:

https://www.docker.com

https://hub.docker.com

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_27390023/article/details/127169573

centos7下安装docker 以及简单使用_mars'ares的博客-爱代码爱编程_centos7 docker

一 环境准备 1、虚拟机or物理机 2、centos7系统(稳定,对docker支持友好) 二 安装过程 step1:使用yum命令进行安装 最新版移步 https://blog.csdn.net/qq_22211217/article/details/126976422https://blog.csdn.net/qq_22211217/ar

Centos8的docker安装教程-爱代码爱编程

docker是一个容器管理的软件,容器背后其实就是一个进程;类似于一个集装箱。 docker的官方下载地址:https://docs.docker.com/engine/install/ (可以根据自己需要的环境方法下载docker软件,这里演示的是centos-8上的docker安装教程) ubuntu版本的安装docker教程:https://b

Centos8 Stream 安装 Docker-爱代码爱编程

Centos8 Stream 安装 Docker 使用DNF添加并启用官方Docker CE存储库安装containerd.io包(手动)安装最新版docer ce启用docker添加当前用户加入docker用户组关闭防火墙测试docker 命令安装docker-compose 使用DNF添加并启用官方Docker CE存储库 sudo dn

centos stream 8 安装docker-爱代码爱编程

centos stream 8 安装docker 一、安装步骤 1.查看centos版本 root@192.168.0.120:~# cat /etc/system-release CentOS Stream release 8 2.查看当前软件仓库位置 root@192.168.0.120:~# dnf repolist repo id

CentOS8安装Docker-爱代码爱编程

实现目标:在 Linux上 安装 Docker 环境 一、环境参数: 操作系统:CentOS 8.1.1911 Docker:19.03.12 二、安装步骤 1. 下载docker-ce的repo curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.re

CentOS8系统之Docker安装-爱代码爱编程

1)准备工作-安装一台linux操作系统的虚拟机 1.安装VMware 2.安装虚拟机 选择典型,点击下一步 选择稍后安装,点击下一步 选择linux,选择对应的版本,点击下一步 重新命名虚拟机名称,选择安装目录,点击下一步 指定磁盘容量,一般20G够用,选择存储形式为单个文件,点击下一步 点击完成,显示新建的虚拟机 点击虚拟机设置内存、磁盘等 下载阿

CentOS 8安装docker-爱代码爱编程

小伙伴们,你们好呀!我是老寇!废话不多说,跟我一起安装docker 一、提前条件 服务器:centos 8.3(64位) 二、安装过程 1.查看Linux内核(Docker最低支持CentOS 7 64位 内核3.10) uname -a 2.安装docker(输入yes,然后等待…) yum install docker 3