Docker教程—基本操作

一、docker的思想

1、集装箱:会将所有需要的内容放到不同的集装箱中,谁需要这些环境就直接拿到这个集装箱就可以了。

2、标准化:

1)、运输的标准化:Docker有一个码头,所有上传的集装箱都放在这个码头上,当谁需要某一个环境,就直接指派大海去搬运这个集装箱就可以了。

2)、命令的标准化:Docker提供了一系列的命令,帮助我们去获取集装箱等操作。

3)、提供了REST的API:衍生出了很多的图形化界面,Rancher。

3、隔离性:

Docker在运行集装箱的内容时,会在Linxu内核中,单独的开辟一片空间,这片空间不会影响到其他程序。

4、docker底层运行原理

Docker教程—基本操作插图

二、组成

注册中心:超级码头,上面放的就是集装箱

镜像:集装箱

容器:运行起来的镜像

三、Docker的基本操作

准备工作:

systemctl disable firewalld systemctl stop firewalld setenforce 0

1、安装docker

下载关于Docker的依赖环境

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

设置一下下载Docker的镜像源

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

安装docker

yum makecache fast 
yum -y install docker-ce

启动,并设置为开机自动启动,测试

systemctl start docker 启动docker systemctl enable docker 设置开机自启
docker run hello-world 测试

四、docker的基本命令

1、查看版本

[root@controller ~]# docker version 查看Docker版本号 Client: Version: 1.13.1 客户端版本号 API version: 1.26 Package version: docker-1.13.1-162.git64e9980.el7.centos.x86_64 Go version: go1.10.3 Git commit: 64e9980/1.13.1 Built: Wed Jul 1 14:56:42 2020 OS/Arch: linux/amd64 Server: Version: 1.13.1 服务端版本号 API version: 1.26 (minimum version 1.12) Package version: docker-1.13.1-162.git64e9980.el7.centos.x86_64 Go version: go1.10.3 Git commit: 64e9980/1.13.1 Built: Wed Jul 1 14:56:42 2020 OS/Arch: linux/amd64 Experimental: false

2、docker网桥

      Docker教程—基本操作插图1

  3、Docker配置文件:

/etc/sysconfig/docker

   /usr/lib/systemd/system/docker.service

Docker教程—基本操作插图2

4、Docker日志:Docker的日志文件写入到 /var/log/message里

[root@controller ~]# tail -f /var/log/messages |grep docker

Docker教程—基本操作插图3

5、帮助命令

         Docker教程—基本操作插图4

6、镜像命令

Docker教程—基本操作插图5

  7、查找镜像命令–search

Docker教程—基本操作插图6

8、删除镜像命令

Docker教程—基本操作插图7

  9、运行一个容器

Docker教程—基本操作插图8

  10、退出容器

Docker教程—基本操作插图9

  11、停止容器

Docker教程—基本操作插图10

  12、进入容器

Docker教程—基本操作插图11

13、拷贝容器内文件

Docker教程—基本操作插图12

  14、汇总

  Docker教程—基本操作插图13

  Docker教程—基本操作插图14

  Docker教程—基本操作插图15

  Docker教程—基本操作插图16

五、docker的中央仓库

1、Docker官方的中央仓库:这个仓库是镜像最全的,但是下载速度较慢。

https://hub.docker.com/

2、国内的镜像网站:网易蜂巢,daoCloud

http://c.163yun.com/hub#/home

http://hub.daocloud.io/  (推荐使用)

3、在公司内部会采用私服的方式拉去镜像(添加配置)

需要在 /etc/docker/daemon.json,没有则添加此文件 { "registry-mirrors": ["https://registry.docker-cn.com"], "insecure-registries":["ip:port"] } 重启两个服务 systemctl daemon-reload systemctl restart docker

 六、镜像的操作

1、UnionFS(联合文件系统)

Docker教程—基本操作插图17

2、Docker镜像加载原理

Docker教程—基本操作插图18

3、镜像加速,获取加速器地址

Docker教程—基本操作插图19

  centos6镜像加速配置:

Docker教程—基本操作插图20

测试:

Docker教程—基本操作插图21

  centos7镜像加速配置:

Docker教程—基本操作插图22

拉取镜像到本地

docker pull 镜像名称[:tag] 举个例子 docker pull daocloud.io/library/tomcat:8.5.15-jre8

镜像命令

docker images 查看本地所有的镜像
docker rmi b8dfe9ade316 删除本地镜像,本地镜像必须处于停止状态
docker rmi -f b8df 强制删除
docker save -o ./tomcat.image b8dfe9ade316 导出镜像到本地
docker load -i tomcat.image 导入本地镜像
docker tag b8dfe9ade316 tomcat:8.5 修改名字

 七、容器的操作

docker run 镜像标识|镜像名称[:tag] 运行容器,简单操作
docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像标识|镜像名称[:tag]

-d后台运行容器,
-p宿主机端口:容器端口,为了映射当前linux的端口和容器端口
-P:随机分配端口
--name 容器名称:指定容器的名称
举例:
docker run -d -p 8080:8080 --name tomcat b8dfe9ade316
docker create --name java -it java /bin/bash 创建名为java的容器,但是不启动

  提交容器

docker commit 02162513c338 myjava 以本地容器02162513c338为源,制作名为myjava的本地镜像

    Docker教程—基本操作插图23

查看容器

docker ps [-qa] -a:查看全部容器,包括没有运行的
-q:只查看容器的标识

  查看容器的日志

docker logs -f 49fc6dffb6df

进入容器内部

docker exec -it 容器id bash
docker exec -it 49fc6dffb6df /bin/bash 举个例子

Docker教程—基本操作插图24

  删除容器(删除容器前。需要先停止容器)

docker stop 容器id 停止指定容器 docker stop $(docker ps -qa) 停止全部容器
docker rm 容器id 删除指定容器 docker rm $(docker ps -qa) 删除全部容器

 Docker教程—基本操作插图25

  启动容器

docker start 容器id

 八、Docker的应用

docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 daocloud.io/library/mysql:5.7.4 运行一个容器,必须指定root初始密码

  具体应用例子见下一篇博客

九、数据卷

数据卷:将宿主机的一个目录映射到容器的 一个目录中。

可以在宿主机中操作目录中的内容,那么容器内部映射的文件,也会跟着一起改变。

docker volume create tomcat 创建数据卷,数据卷默认存放位置:/var/lib/docker/volumes
docker volume inspect tomcat 查看单个数据卷
docker volume ls 查看所有数据卷
docker volume rm tomcat 删除数据卷
docker run -v shujujuan:/usr/local/ 9484402b4b7c 应用数据卷,在创建容器的时候设置映射,没有shujujuan则docker自动创建
docker run -v/opt/volume_tomcat:/usr/local/ 9484402b4b7c 指定数据卷存放位置
docker run -d -p 8080:8080 -v tomcat:/usr/local/ b7370dcde632

Docker教程—基本操作插图26

 十、Docker自定义镜像

1、准备一个Dockerfile文件

vim Dockerfile
from php:7.2-apache copy wordpress /var/www/html

参数:
from:指定当前自定义镜像依赖的环境
copy:将相对路径下的内容复制到自定义镜像中
workdir:声明镜像的默认工作目录
cmd:需要执行的命令(在workdir下执行的,cmd可以写多的,只以最后一个为准)

2、准备好项目

Docker教程—基本操作插图27

  3、通过Dockerfile的命令制作镜像

docker build -t ssm-wordpress:1.0.0 . 在当前目录执行

Docker教程—基本操作插图28

  4、依赖自定义镜像启动一个容器

docker run -d -p 81:80 --name custom-ssm-wordpress 4100c40cae59

5、浏览器查看

Docker教程—基本操作插图29

 

原文链接:https://www.cnblogs.com/aqicheng/p/13426775.html

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享