当前位置:   article > 正文

Docker 命令 镜像操作 容器操作 备份与迁移 DockerFile

Docker 命令 镜像操作 容器操作 备份与迁移 DockerFile

什么是Docker?

Docker是一种开源应用容器引擎,开发者可以打包自己的应
用以及依赖包到可移植的容器中,然后发布到任何linux机器上。
Docker客居在操作系统内核上的用户空间,只能运行与底层宿主
机相同的操作系统之上。主要目标是实现轻量级的操作系统虚拟化
解决方案。Docker的兴起主要是因为互联网应用的快速更迭以及
微服务架构的流行。

Docker组件

Docker服务器与客户端(cs架构)
Docker镜像与容器
Docker仓库

Docker的安装与启动

安装与启动

目前,CentOS 仅发行版本中的内核支持 Docker。
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本
使用uname –r查看当前操作系统的内核版本
在这里插入图片描述

1.yum包更新到最新:

sudo yum update
  • 1

在这里插入图片描述

2.安装需要的安装包,yum-util提供yum-config-manager功能,后面的是devicemapper驱动依赖的。
sudo yum install –y yum-utils device-mapper-persistent-data lvm2
3.设置yum源为阿里源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.安装docker
sudo yum install docker-ce
5.安装后可以使用docker –v查询docker版本
在这里插入图片描述
Docker安装后需要设置镜像,在服务器的/etc/docker/目录下找到名为
daemon.json的文件

进入vim编辑输入

{
“registry-mirrors”:[https://docker.mirrors.ustc.edu.cn]
}
在这里插入图片描述
修改完以后通过systemctl restart docker.service重新启动docker服务

systemctl命令是系统服务管理器指令,它是 service 和 chkconfig 两个命令组合。
启动docker:systemctl start docker
在这里插入图片描述
停止docker:systemctl stop docker
在这里插入图片描述
重启docker:systemctl restart docker
查看docker状态:systemctl status docker
开机启动:systemctl enable docker
查看docker概要信息:docker info
查看docker帮助文档:docker --help

Docker镜像操作

1.列出本地docker镜像:docker images
(镜像一般存储在Docker宿主机的/var/lib/docker目录下)
在这里插入图片描述
2.搜索镜像:docker search 镜像名字
在这里插入图片描述
3.拉取镜像:docker pull 镜像名
在这里插入图片描述
4.删除镜像:
docker rmi IMAGE_ID 删除指定镜像
docker rmi docker image -q 删除所有镜像

在这里插入图片描述

Docker容器操作

查看正在运行的容器
docker ps
查看所有容器
docker ps -a
查看最后一次运行的容器
docker ps -l
查看停止的容器
docker ps –f status=exited

1、创建容器常见参数
创建容器命令:docker run
-i:表示运行容器
-t:表示容器启动后进入命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
–name:创建的容器名称
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

2、交互式容器
docker run -it --name=myhello1 hello-world
3、守护式容器
docker run -di --name=myhello2 hello-world

登录容器:docker exec -it container_name (或者 container_id) /bin/bash
守护式容器和交互式容器的区别在于守护式容器可以后台运行
离开容器:exit

4、启动和停止容器
启动容器:docker start $CONTAINER_NAME/ID
停止容器:docker stop $CONTAINER_NAME/ID
5、文件复制
从宿主机拷贝到容器:docker cp 需要拷贝的文件或目录 容器名称:容器目录
从容器拷贝到宿主机:docker cp 容器名称:容器目录 需要拷贝的文件或目录
6、目录映射
将宿主机的目录与容器内的目录进行映射,这样可以通过修改宿主机的文件从而去影响容器。创建容器 添加-v参数 后边为 宿主机目录:容器目录
docker run -di -v 宿主机目录:容器目录 --name=myhello3 --privileged=true hello-world
7、查看容器信息
docker inspect 容器名
8、删除容器
删除指定容器:docker rm $CONTAINER_ID/NAME
删除所有容器:docker rm docker ps -a -q

Docker备份与迁移

1、容器保存为镜像
docker commit myhello myhelloimage
myhello为容器名称
myhelloimage为保存的新的镜像名称

2、镜像备份
docker save -o myhello.tar myhello
-o 后面跟的是输出的文件

3、镜像恢复
docker load -i myhello.tar
myhello.tar为镜像备份后的文件

Dockerfile常用命令

什么是Dockerfile?Dockerfile是由一系列命令和参数组成的脚本,应用于基础镜像并创建一个新的镜像。可以为开发人员提供统一的开发环境,而且测试、运维人员可以直接用Dockerfile构建新的镜像,实现无缝移植。

1、常用命令:
在这里插入图片描述
在这里插入图片描述
2、使用脚本创建镜像
做一个小Demo,用SpringBoot构建一个HelloWorld工程打成jar包,发布到服务器,用Dockerfile构建成镜像。然后就可以用镜像创建容器运行。
(1)首先在宿主机创建目录用于存放jar包和Dockerfile文件
cd /usr/local mkdir helloworlddocker
(2)上传jar包
(3)创建Dockerfile文件并编辑(文件名必须为Dockerfile)
vim Dockerfile 内容如下
在这里插入图片描述
(4)执行命令构建镜像
docker build -t helloworlddemo .
需要注意的是,后面有一个 . 而且镜像的名字是全小写,-t是指定tag名。
在这里插入图片描述
执行完正确的构建镜像命令后会下依赖的基础镜像,然后在基础镜像上运行java程序
在这里插入图片描述
成功以后是这样的
在这里插入图片描述
执行完正确的构建镜像命令后会下依赖的基础镜像,然后在基础镜像上运行java程序
(5)查看镜像是否构建成功 docker images
在这里插入图片描述
(6)运行镜像
docker run -d -p 18080:8080 --name helloworlddemo helloworlddemo
然后打开浏览器访问18080端口。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/501556
推荐阅读
相关标签
  

闽ICP备14008679号