Docker 学习笔记

2020-04-28  本文已影响0人  刘点石

1.初识 Docker

Docker 的架构如下图所示:

WX20200428-120411@2x.png

一般情况下需要配置 Docker 镜像加速器:

WX20200428-120544@2x.png

2.Docker 基础命令

Docker 进程命令(以 Debian 系 Linux 系统为例):

#启动 Docker 进程
service docker start

#重启 Docker 进程
service docker restart

#关闭 Docker 进程
service docker stop

#查看 Docker 进程状态
service docker status

Docker 镜像命令:

#查看已有镜像
docker images

#查看镜像id
docker images -q

#搜索镜像
docker search 镜像名称

#拉取镜像
docker pull 镜像名称

#删除镜像
docker rmi 镜像id

#删除本地所有镜像
docker rmi `docker images -q`

Docker 容器命令:

#查看正在运行的容器
docker ps

#查看所有的容器
docker ps -a

#创建并启动容器(参数说明见下文)
docker run 参数
docker run -id -p 8080:8080 -v ~/docker:/root/data --name=container_1 redis

#进入容器(以此方式进入容器,退出时容器不会关闭)
docker exec 参数
docker exec -it c1aac1ba3552 /bin/bash

#停止容器
docker stop 容器名称

#启动容器
docker start 容器名称

#删除容器
docker rm 容器名称

#查看容器信息
docker inspect 容器名称

其中,关于运行/进入容器参数的说明:

3. Docker 容器的数据卷

关于 Docker 数据卷的概念:

WX20200428-122501@2x.png

配置 Docker 数据卷:

docker run ... –v 宿主机目录(文件):容器内目录(文件) ...

注意:

如果要进行多个容器之间进行数据交换如何处理?

  1. 多个容器挂载同一个数据卷
  2. 使用数据卷容器

配置数据卷容器:

#创建启动c3数据卷容器,使用 –v 参数 设置数据卷
docker run –it --name=c3 –v /volume centos:7 /bin/bash

#创建启动 c1 c2 容器,使用 –-volumes-from 参数 设置数据卷
docker run –it --name=c1 --volumes-from c3 centos:7 /bin/bash 
docker run –it --name=c2 --volumes-from c3 centos:7 /bin/bash

4.Docker 的应用部署

一、部署MySQL

  1. 搜索mysql镜像
docker search mysql
  1. 拉取mysql镜像
docker pull mysql:5.6
  1. 创建容器,设置端口映射、目录映射
# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql
docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6
  1. 进入容器,操作mysql
docker exec –it c_mysql /bin/bash
  1. 使用外部机器连接容器中的mysql

二、部署Tomcat

  1. 搜索tomcat镜像
docker search tomcat
  1. 拉取tomcat镜像
docker pull tomcat
  1. 创建容器,设置端口映射、目录映射
# 在/root目录下创建tomcat目录用于存储tomcat数据信息
mkdir ~/tomcat
cd ~/tomcat
docker run -id --name=c_tomcat \
-p 8080:8080 \
-v $PWD:/usr/local/tomcat/webapps \
tomcat 
  1. 使用外部机器访问tomcat

三、部署Redis

  1. 搜索redis镜像
docker search redis
  1. 拉取redis镜像
docker pull redis:5.0
  1. 创建容器,设置端口映射
docker run -id --name=c_redis -p 6379:6379 redis:5.0
  1. 使用外部机器连接redis
./redis-cli.exe -h 192.168.149.135 -p 6379

5.Dockerfile

一、Docker 的镜像原理

WX20200428-123655@2x.png WX20200428-123717@2x.png

二、Docker 的镜像制作

  1. 将容器转为镜像
#将容器转为镜像
docker commit 容器id 镜像名称:版本号

#将已有镜像保存成压缩文件
docker save -o 压缩文件名称 已有镜像名称:版本号

#从压缩文件加载镜像
docker load –i 压缩文件名称

使用该方法,使用数据卷的新建的文件不会被打包在镜像内,而非数据卷目录下创建的文件会被打包在镜像之中。

  1. 使用Dockerfile

    docker bulid –f dockerfile文件路径 –t 镜像名称:版本
    

    编写 Dockerfile 的例子(了解):

    WX20200428-124645@2x.png WX20200428-124705@2x.png
上一篇下一篇

猜你喜欢

热点阅读