docker 使用

docker出现极大的提高了生产力,借助docker可快速搭建测试环境,下面看看docker的用法吧,命令还挺多的

 

一. 安装

$ yum install -y docker
$ service start docker 
For other actions, please try to use systemctl.

# kernel 5.4 用systemd管理安装包
$ systemctl start docker
$ systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-01-27 22:10:40 CST; 7min ago
     Docs: http://docs.docker.com
 Main PID: 4276 (dockerd-current)

docker 底层利用了Linux容器技术(LXC),内核要求 2.6.32 以上版本,此处安装社区版本。

 

二. 基础命令

显示本机镜像

docker version
docker info

#本机安装镜像
docker images
#删除镜像
docker rmi redis

测试镜像:

docker run hello-world

 

三. 安装mysql 

手动安装mysql,需要各种配置,很容易出错。利用docker几条命令就可以搞定mysql安装。

3.1 查找mysql镜像

docker search mysql 

 

3.2 安装

docker pull mysql 

默认下载最新版本,相当于docker pull mysql:latest,可指定版本号,从docker中央仓库查找版本。

docker pull mysql:5.7.28

 

3.3 启动mysql

docker run -itd --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql5.7

-i 交互环境,-t 伪终端,-d 后台启动。如果不指定-d,会直接进入容器环境。

-name 容器名称

-p 端口映射,:前为宿主机端口,后为容器端口。主机通过3306访问容器mysql服务

-e 环境变量,这里通过MYSQL_ROOT_PASSWORD 指定mysql密码

mysql5.7  容器名称,也可指定镜像ID:1e4405fe1ea9  mysql镜像ID

 

查看容器进程

docker ps -a 

进入容器

docker exec -it mysql5.7 /bin/bash

此时不能通过远程登录,需要授权远程访问:

GRANT ALL ON *.* to 'root'@'%' IDENTIFIED BY '1234';
flush privileges;

 

四. 应用监控

docker port mysql5.7     #查看映射端口
docker logs -f mysql5.7  #查看mysql日志

#查看资源使用
docker top mysql5.7
docker stats

#显示容器信息
docker inspect mysql5.7

 

五. 镜像操作

docker attach 785b621aa562 #进入容器,exit时容器会退出,推荐用exec 

docker stop mysql      #关闭容器,此时容器还存在,不能通过docker run启动
docker start 785b621aa562   #启动容器

docker rm -f mysql     # 删除容器
docker container prune  #批量删除exit状态容器

docker rmi hello-world  #删除下载的镜像

docker与宿主机环境是隔离的,可以通过命令拷贝共共享目录方式实现

拷贝文件到容器

docker cp /data/test.txt mysql5.7:/root 

docker run --name tomcat -p 8080:8080 -v /data/test:/usr/local/tomcat/webapps/test -d tomcat

-v 挂载目录,将宿主机/data/test 挂载到 tomcat容器的 /usr/local/tomcat/webapps/test,这样实现了应用的部署

 

导出本地容器

#导出本地镜像
docker export f076750fa802 > myredis.tar
#导入镜像
docker import myredis.tar

基于基础原镜像创建新的镜像,保存对原镜像的修改

-m 提交描述信息,-a 镜像作者,mycentos-mysql 容器名称或容器ID

kane/centos:v1.0    用户名仓库及TAG

➜  ~ docker commit -m "commit v5.6" -a kane 785b621aa562 kane/centos:v1.0

sha256:b5a20dc4a96f6200a89b19231264cdeaae1dd7ab62fc971af7bd286881f771c6
➜  ~ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
kane/centos         v1.0                b5a20dc4a96f        4 seconds ago       274MB

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值