Docker学习--环境搭建和使用

文章内容

1.Docker环境搭建
2.容器的创建
3.镜像导入/导出
4.常用远程API(命令)

使用Docker最突出的优势有两点:
1.应用打包部署和测试,解决平台和应用依赖的问题;
2.结合虚拟平台的支持,充分利用资源和虚拟化特性;

1.Docker环境搭建

注:CentOS 7 x64
uname -r –确定系统内核版本高于3.10
yum update 确保 yum 包更新到最新

1.1.通过yum
yum -y install docker   --等待安装完成即可

这里写图片描述

1.2.启动Docker服务
service docker start
1.3.安装测试
docker info
systemctl enable docker

2.容器的创建

以安装MySQL为例(docker pull直接从镜像库中获取)

2.1.创建相关映射目录
cd /usr/local/etc/

mkdir mysql_d   --根目录
mkdir ./mysql_d/data      --(映射)数据目录
mkdir ./mysql_d/logs      --(映射)日志目录
mkdir ./mysql_d/conf      --(映射)配置文件目录
2.2.获取MySQL镜像

可以使用阿里的镜像库获取,官方提供的部分镜像可能无法访问而且下载速度较慢;

docker pull registry.cn-hangzhou.aliyuncs.com/origin/mysql-5.7.17-shanghai-zone
2.3.创建MySQL容器
#到mysql_d目录执行
docker run 
#端口映射
-p 33306:3306 
#容器名
--name mysql-docker 
#目录挂载--配置文件
-v /usr/local/etc/mysql_d/conf:/etc/mysql/conf
#目录挂载--日志文件
-v /usr/local/etc/mysql_d/logs:/etc/mysql/logs 
#目录挂载--数据文件
-v /usr/local/etc/mysql_d/data:/etc/mysql/mysql_data 
#启动参数--root密码
-e MYSQL_ROOT_PASSWORD=root
#镜像--镜像名称:Tag 
-d registry.cn-hangzhou.aliyuncs.com/origin/mysql-5.7.17-shanghai-zone:latest

目录映射对于docker容器和宿主机是共享的,而对于不同的镜像配置文件、日志存放的目录不一定相同,

2.4.测试远程连接

可通过MySQL客户端连接映射出的宿主机33306端口

这里写图片描述

3.镜像导入/导出

如果我们在已有的容器上做了修改(比如新建了数据库),在部署到新的环境时并不希望重新部署数据库,可以通过Docker创建的镜像并导出;

3.1.修改原有容器

新建文件: /usr/local/origin.txt

cd /usr/local/
touch origin.txt
3.2.使用原有容器创建镜像

使用ps命令查看当前容器列表,获取容器的ID:

docker ps
CONTAINER ID        IMAGE                                                                        COMMAND                  CREATED             STATUS              PORTS                     NAMES
4e43f17f1e79        registry.cn-hangzhou.aliyuncs.com/origin/mysql-5.7.17-shanghai-zone:latest   "docker-entrypoint.sh"   27 minutes ago      Up 27 minutes       0.0.0.0:33306->3306/tcp   mysql-docker

使用commit命令,提交对当前容器的修改:

docker commit 4e43f17f1e79 mysql_docker_new

使用images命令查看镜像列表:

docker images

REPOSITORY                                                            TAG                 IMAGE ID            CREATED             SIZE
mysql_docker_new                                                      latest              075fe47e059c        8 seconds ago       405.6 MB
registry.cn-hangzhou.aliyuncs.com/origin/mysql-5.7.17-shanghai-zone   latest              877345fbf968        6 months ago        405.6 MB

其中mysql_docker_new为我们新创建的镜像;

3.3.使用新镜像创建容器

参照第二节的步骤,创建新的容器mysql_docker_new ,映射的端口到33305;

新的容器不做目录映射或映射到其他位置,以免和原容器出现冲突;

docker run -p 33305:3306 --name mysql_docker_new -e MYSQL_ROOT_PASSWORD=root -d mysql_docker_new:latest
3.4.新容器测试

查看在原容器新建的文件是否存在:

docker exec -it mysql_docker_new ls /usr/local/

bin  etc  games  include  lib  man  origin.txt  sbin  share  src

从命令可以看出,在原容器中创建的文件,包含在了新的容器中;

3.5.镜像的导入导出

如果需要将对当前容器的修改带入到新的宿主机,可以通过save/load命令来完成:

首先,提交当前容器的修改,创建新的镜像mysql_docker_saved;

docker save > /home/docker/mysql_docker_saved.tar mysql_docker_saved:latest

导入镜像的命令为:

docker load < /home/docker/mysql_docker_saved.tar

4.常用远程API(命令)

常用的命令包括:镜像基本操作、容器基本操作、容器管理、其他命令;

参考:
Docker 命令大全

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值