Docker---新手

Docker第一课

——————————————————————运维实习生
一、Docker介绍
Docker的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。
二、Docker 与 vmvare 比较
在这里插入图片描述
在这里插入图片描述
三、入门
1.安装

yum install docker -y(最简单的方式)

2.基本docker命令

版本 docker version
搜索 docker search 关键字
启动syatmctul start docker
开机自启 systemctul enable docker

3.下载镜像的方法
(1)docker pull 镜像名
(2)docker load -i 本地下载好的镜像路径
3.1 修改docker源
有的网络无法连接到docker官方站点或网速慢,可以改用阿里、网易等的docker源

  vim  /etc/docker/daemon.json
{
#推荐阿里镜像
    "registry-mirrors": [
    "https://khec465u.mirror.aliyuncs.com"
  ]
}

4.查看已下载镜像

docker images

5 .
运行镜像

docker run -it 镜像名字:TAG 命令

停止、开启、重启镜像

docker   stop/start/restart 镜像id

比如:

docker run -d 镜像 bash -c "while true;do echo hello word;sleep 1;done"

6.退出镜像

exit

7 .从容器中读取log
语法:docker logs 容器id或者名字(docker ps 查看id_查看所有运行中的容器)
8.查看所有运行中的容器:

docker ps -a

9.杀镜像

docker kill  镜像id

10.无法打开镜像
(1)手动开启网络转发

 vim /etc/sysctl.conf
 net.ipv4.ip_forward=1
sysctl  -p  生效

11.删除镜像

docker rm id 

二、做自己的镜像images
1.docker镜像制作
方法1. 根据当前镜像的状态做一个image:创建一个安装apache的centos镜像

使用 docker commit
   docker run -it centos /bin/bash
   yum install httpd -y
   exit
   docker commit 镜像id  自定义名字
   docker images

方法2.
通过 docker build 创建一个基于centos 的httpd web 镜像
使用时需要使用dockerfile 文件自动制作image
docker有点像源码编译时 ./confidure 产生的Makefile

1.创建工作目录
mkdir  /docker_build
cd /docker_build
touch Dockerfile   #make自动编译时需要Makefile 文件,自动创建images时需要Dockerfile文件
2.编辑Dockerfile 文件
Dockerflie 用来创建一个自定义的image,包含了用户指定的软件依赖
vim Dockerfile
    FROM 镜像名称
    MAINTAINER 作者
    RUN  yum install httpd -y
    ADD start.sh /usr/local/bin/start.sh
    ADD index.html /var/www/html/index.html
     将文件 拷贝到  容器目录文件
3.创建 start.sh 脚本启动httpd 和apache默认首页index.html文件
  cd /docker_build
  echo "/usr/sbin/httpd -DFOREGROUND" >start.sh
  相当于执行syatemctul start httpd
  chmod a+x start.sh  加权限
  创建首页index.html
  echo "docker image build test" > index.html
4.build 创建image
  语法:docker build -t 父镜像名:tag  Dockerfile  ./文件所在路径
5.查看 docker images

三.发布image
方法1.

导出到本地 docker save -o 名字.tar   镜像名
从本地导入 docker load -i 路径

方法2.
发布到外网dockerhub(注意daemon.json)

1.docker注册账号
2.登录docker docker login -u 用户名 -p 密码 -e邮箱
3.上传docker push centos:httpd
4.下载docker pull 用户名/镜像名

方法3.阿里云私有仓库

四.docker 端口你映射
#把容器80映射到物理机

docker run -d -p 物理机80:容器80 镜像名

查看端口 netstat -nltp |grep 80
现在相当于vm中的net模式

五.访问正在运行的容器
看运行的容器

docker ps 
docker exec -it 容器ID /bin/bash

创建index.html 测试

echo "lin" >index.html

浏览器访问无痕模式
ip/index.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值