霸州住房和城乡建设厅网站,腾讯企点是什么,建筑模板生产厂家,建设电影网站的教程Docker是一个被广泛使用的开源容器引擎#xff0c;基于Go语言#xff0c;遵从Apache2.0协议开源。
docker的三个概念#xff1a;容器、镜像和仓库。
镜像#xff08;Image#xff09;#xff1a;镜像是Docker中的一个模板。通过 Docker镜像 来创建 Docker容器#xff…Docker是一个被广泛使用的开源容器引擎基于Go语言遵从Apache2.0协议开源。
docker的三个概念容器、镜像和仓库。
镜像Image镜像是Docker中的一个模板。通过 Docker镜像 来创建 Docker容器一个镜像可以创建出多个容器。 镜像是由一系列指令一步一步构建出来容器Container镜像Image和容器Container的关系就像是面向对象程序设计中的类和实例一样镜像是静态的定义容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。仓库Repository仓库可看成一个代码控制中心用来保存镜像。
docker安装
安装相关系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 // 添加yum源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
// 更新yum缓存
sudo yum makecache fast
// 安装
sudo yum -y install docker-ce
// 启动查看停止
sudo systemctl start docker
systemctl status docker
systemctl stop docker
查看docker版本
docker -v
// 查看docker操作命令
docker
修改docker数据目录
有时候需要将Docker的数据目录统一到某个目录中默认的地址为/var/lib/docker则需要配置data-root属性修改到对应目录具体操作步骤如下
## 查看当前目录 docker info |grep Dir ## 创建数据目录 mkdir -p /opt/docker/data ## 创建配置文件 touch /etc/docker/daemon.json ## 修改配置文件 vim /etc/docker/daemon.json ## 在文件中添加以下内容并保存 { data-root: /opt/docker/data } ## 重启Docker service docker restart ## 查看修改后的目录是否为变更的目录 docker info |grep Dir 从仓库获取镜像
搜索镜像docker search image_name 搜索结果过滤 是否是官方 docker search --filter is-officialtrue image_name 是否是自动化构建 docker search --filter is-automatedtrue image_name 大于多少颗星 docker search --filter stars3 image_name 下载镜像docker pull image_name 本地镜像的查看docker images 本地镜像的删除docker rmi image_name
查看镜像的信息 docker inspect mysql
如下分别是镜像的名字标签id创建时间和大小。 容器的操作
容器的创建、查看、停止、重启
1.创建容器docker run -itd --namecontainer_name image_name -i 表示以交互模式运行容器 -d 表示后台运行容器并返回容器ID -t 为容器重新分配一个伪输入终端 --name 为容器指定名称
2.查看容器运行中的docker ps 3.查看容器包括已停止的docker ps -a 4.停止容器docker stop container_name/container_id 5.启动容器docker start container_name/container_id 6.重启容器docker restart container_name/container_id 7.删除容器docker rm container_name/container_id
容器的修改及保存
1.进入容器docker exec -it container_name/container_id /bin/bash 2.退出容器exit 3.提交修改 docker commit -a author -m message container_name/container_id new_image_name:tag_name
参数说明
-a参数可选用于指定作者可以写你的名字 -m参数可选提交信息可以说一下你做了哪些修改 container_id该参数为被修改的容器ID new_image_name此为新镜像的名字可自定义 tag_name此为新镜像的标签可不写不写时标签默认为latest
容器的端口映射 docker run -itd --name container_name -p 宿主机端口号:容器端口号 image_name
例如docker run -itd --name nginx -p 8081:80 nginx
文件挂载
docker run -itd -v /宿主机/文件目录:/容器/目录
将容器的文件复制到本地
docker cp 容器名:/容器目录/文件名 /宿主机目录/文件名
将本地的文件复制到容器 docker cp /宿主机目录/文件名 容器名:/容器目录/文件名
PS文件挂载很重要比如mysql数据库的容器数据很重要通过文件挂载可以使得容器的数据也保存在本地中。
容器互联
docker run -itd --link 要关联的容器名字:容器在被关联的容器中的别名
Dockerfile
Dockerfile就是名为Dockerfile的文件文件中包含一些Linux命令Docker通过读取文件中的命令来组建镜像。 Dockerfile 一般分为四部分基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令# 为 Dockerfile 中的注释。
运行Dockerfile docker build -t image_name:tag_name .
也可以通过-f参数来指定Dockerfile文件位置 docker build -f /path/Dockerfile .
docker安装mysql
docker search mysql docker pull mysql
然后查看docker images docker inspect mysql 查看mysql的持久化目录 docker run -itd --namemysql -p 3306:3306 -v /home/mysql/docker_mysql/:/var/lib/mysql -e MYSQL_ROOT_PASSWORDpassword mysql
参考课程
Docker从入门到实战应用 - 网易云课堂