Vm(CentOS镜像)上模拟测试Docker,一些简单的安装步骤及使用

先了解几个概念:

镜像 mysql 镜像

容器   mysql服务

仓库  mysql仓库

linux最小化安装时没有netstat命令 可以使用yum -y install net-tools安装

删除旧版本,如果没有可以不执行

yum remove docker \                  docker-client \                  docker-client-latest \                  docker-common \                  docker-latest \                  docker-latest-logrotate \                  docker-logrotate \                  docker-selinux \                  docker-engine-selinux \                  docker-engine

安装依赖包

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

设置yum源

yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

或者

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

更新缓存

yum makecache fast

安装docker CE

yum -y install docker-ce

启动后台服务

systemctl start docker

测试

docker run hello-world

因为没有hello-world 镜像所以首次运行时会自动下载一个镜像然后运行

设置国内镜像源

为了加速方位可以vi /etc/docker/daemon.json

然后加入

{ "registry-mirrors": ["https://registry.docker-cn.com"] }

然后重启docker

查看本机所有的镜像可以使用如下命令

docker images或者docker image ls

docker官方镜像站点https://hub.docker.com/

使用docker命令查找镜像  例如docker search nginx

可以列出nginx所有相关镜像

拉取镜像

docker pull nginx

运行镜像

docker run 镜像名  一般要加一些参数  以nginx为例

docker run -p 80:80 -d --name nginx_web nginx

注意:镜像名指的是仓库名称:标签名  如果只写仓库名默认是最新版本镜像 即  镜像名:latest

运行镜像会创建一个容器  后续可以使用docker stop 或者docker start 容器名    停止或者启动容器 例如

docker stop nginx_web

docker start nginx_web

查看运行中的容器

docker ps

查看所有容器

docker ps -a

宿主机容器相互拷贝文件 

从宿主机向容器拷贝文件 格式:docker cp 宿主机文件名  容器名:路径

从容器向宿主机拷贝文件 格式:docker cp   容器名:路径/文件名 宿主机路径/文件名

例如

docker cp index.html nginx8080:/usr/share/nginx/html

docker cp  nginx8080:/usr/share/nginx/html/index.html ./

删除容器 docker rm 容器名 例如

docker rm nginx_web

从容器创建镜像 docker commit -m "备注信息" 容器名称  镜像名称

例如docker commit -m "nginx的首页被改动" nginx nginx_new

备注:如果使用了数据卷挂载(-v) 则在宿主机目录中的更改不会影响容器内的文件内容,创建新镜像时仍然按原始容器内的文件内容创建

删除镜像 docker rmi 镜像名称  或者 docker image rm 镜像名称

例如docker rmi nginx_new

提示:如果通过该镜像创建了容器则需要先删除容器  如果删除容器时容器在运行则需要先停止

查看docker系统占用的所有空间  docker system df

进入容器内查看docker exec -it nginx /bin/bash

数据卷(目录映射)

可以将宿主机的某个目录映射到容器内的某个目录 操作方式

 docker run -p 8080:80 -d --name nginx8080 -v /home/wwwroot/default:/usr/share/nginx/html nginx

其中 /home/wwwroot/default 是宿主机目录 /usr/share/nginx/html 是容器内的目录

支持多个目录的映射

以nginx为例

容器内的目录

/etc/nginx/nginx.conf

/etc/nginx/conf.d/default.conf

/usr/share/nginx/html/

宿主目录和容器内目录的映射关系

/usr/local/nginx81/  映射到    /etc/nginx

/home/wwwroot/default81 映射到    /usr/share/nginx/html/

先从其他容器拷贝对应的配置文件 例如

docker cp nginx8080:/etc/nginx /usr/local/nginx81/

执行如下指令

docker run -p 81:80 -d --name nginx81 \

-v /usr/local/nginx81/nginx:/etc/nginx \

-v /home/wwwroot/default81:/usr/share/nginx/html/ \

nginx

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值