docker入门

docker入门

1.简介

1.docker的容器化技术类似于集装箱。预装项目需要的环境。

2.不需要硬件的虚拟,直接调用原操作系统内核。

3.更快的启动时间。

4.一致的运行环境。

传统的虚拟机和docker的区别:

虚拟机需要操作系统,docker不需要。docker只需要docker引擎。

docker是一个c/s的架构。

镜像是容器的基石(类似于类和对象的关系)。镜像类似于源代码(类似于maven打包和构建的阶段),容器(类似于maven启动和执行的阶段)就是存放程序和服务。docker部署还需要还有一个注册中心。

2.docker安装

2.1 安装

1.更新yum

yum update

2.安装需要的软件包,yum util 提供的yum-config-manager

yum install -y yum-utils device-mapper-persistent-data lvm2

3.设置yum源为阿里云

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.安装docker

yum -y install docker-ce

ce代表docker社区免费版,ee是企业收费版

2.2设置sutc的镜像

sutc优势是不需要注册,真正的公共服务,而且速度快。

mkdir -p /etc/docker
vim /etc/docker/daemon.json
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}

2.3docker启动

systemctl start docker
systemctl status docker
docker info # 信息
systemctl stop docker
systemctl enable docker # 开机启动

3.常用命令

3.1镜像命令

1.查看镜像

docker images

2.搜索镜像

docker search centos

3.拉取镜像

docker pull centos:7

4.删除镜像

docker rmi 镜像id

3.2容器命令

1.查看容器

docker ps

2.启动容器

docker run

-i :运行容器

-t : 表示进去命令行模式

– name : 为容器创建名称

-v : 目录映射关系(前者是宿主机目录,后者是映射到宿主机的目录)

-d : 会创建一个守护式容器在后台运行,-i和-t创建完都会自动进去容器

-p : 表示端口映射,前者是宿主机端口,后者是容器内的端口。

1.交互方式创建容器(创建完之后就进入docker了,无法操作宿主机,退出的话,容器就关闭了)

docker run -it --name=容器名称 镜像名称:标签 /bin/bash
## docker run -it --name=mycentos centos:7 /bin/bash

2.退出容器

exit

3.创建守护式容器(退出容器还在运行,要关闭容器需要docker stop 容器id)

docker run -di --name=mycentos2 centos:7 /bin/bash

4.进入容器

docker exec -it mycentos2 /bin/bash

5.启动容器

docker start 容器id

6.拷贝文件到容器中

docker cp 文件目录 容器id:目标地址

7.拷贝docker到宿主机中

docker cp  容器id:目标地址  宿主机文件目录

8.容器挂在(类似于linux软链接)

-v 指定目录

9.删除容器

docker rm 容器名称

10.查看容器信息

docker inspect 容器id

3.3 创建主流容器

3.3.1创建mysql的容器
docker pull mysql:5.7
docker run -di --name=mysql -p 3308:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7
docker exec -it mysql /bin/bash
## 进入mysql
mysql -uroot -proot --default-character-set=utf8

-e 是参数配置

nginx、redis都一样

正常config都是挂载到宿主机,这样方便修改。

4.迁移与备份

1.把容器打包成镜像

docker commit 容器名称 镜像名称
docker save -o 镜像名称.tar 镜像名称 # 把容器打成tar包
docker load -i 镜像名称.tar # 解压myredis镜像

5.dockerfile

由一系列命令和参数构成的脚本。

例子创建一个jdk8的镜像。

mkdir -p /temp/dockerjdk8
#放入jdk8的压缩包
vim Dockerfile #命名一定要一致
FROM centos:7
MAINTAINER xxxx
WORKDIR /usr
RUN mkdir /usr/loacl/java
ADD jdk8的压缩包 /usr/loacl/java
ENV JAVA_HOME 解压后的目录
ENV PATH $JAVA_HOME/bin:$PATH

## 构建镜像
docker build -t='镜像名称' Dockerfile的目录地址

6.私有仓库配置

docker pull registry #拉取私有仓库镜像
docker run -di --name=registry -p 5000:5000 registry #启动私有仓库
vim etc/docker/daemon.josn
{"insecure-registries":["镜像仓库ip:5000"]} #添加daemon.josn内容
重启docker

访问镜像仓库http://ip:5000/v2/_catelog 就可以看出私有仓库下面的镜像。

docker tag 镜像名称 私有仓库地址/目录 #上次镜像到私有仓库

7.docker-maven插件

maven打包自动上传至私有仓库

docker-maven-plugin插件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值