Docker——初识Docker

初识Docker

【一】Docker的介绍

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口.
1、DockerClient客户端
2、Docker Daemon守护进程
3、Docker Image镜像
4、DockerContainer容器

使用Docker的优点:
1、Web 应用的自动化打包和发布。
2、自动化测试和持续集成、发布。
3、在服务型环境中部署和调整数据库或其他的后台应用。
4、从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

Docker 官网:http://www.docker.com
Github Docker 源码:https://github.com/docker/docker-ce
网易云:https://www.163yun.com/?hmsr=J_gw_dingtong002

【二】Docker的安装

Windos安装:https://www.runoob.com/docker/windows-docker-install.html
Ubuntu安装:https://www.runoob.com/docker/ubuntu-docker-install.html
Centos安装:https://www.runoob.com/docker/centos-docker-install.html
MacOs安装:https://www.runoob.com/docker/macos-docker-install.html

下面介绍CentOs安装:

  1. 移除旧的版本
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

  1. 安装一些必要的系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 更新 yum 缓存
sudo yum makecache fast
  1. 安装 Docker-ce
sudo yum -y install docker-ce
  1. 启动 Docker 后台服务
sudo systemctl start docker

【三】Docker的常见命名

  1. 查看docker中包含有哪些镜像
docker images
  1. 查看docker中正在运行的镜像
docker ps

-a 查看当前的容器中所有的容器运行情况

  1. 拉取应用
docker pull 镜像名称
  1. 后台运行容器
docker run -it  --name 取的名字 -p 5000:5000 
-v /data:/data 名称  /bin/bash

• -d:让容器在后台运行。
• -p:将容器内部使用的网络端口映射到我们使用的主机上。
• -P:让容器开发所有的网络端口,随机分配端口映射。
• -it:让容器以交互式的方式运行
• -name:给容器重起一个名称
• -v: 进行主机的目录和docker容器目录进行挂载。

  1. 查看指定 (ID 或者名字)容器的某个确定端口映射到宿主机的端口号
docker port 名称/id  
  1. 查询容器中运行的进程
docker top 名称/id
  1. 停止应用容器
docker stop 名称/id 
  1. 重启应用容器
docker start 名称/id 
  1. 移除docker中不需要的容器
docker rm 名称/id  

10.进入容器

docker exec –it  名称(或者id) bash

docker attach 名称/id

使用该命令以后会进入到当前容器内,容器内和linux一样,可以输入命名

  1. 镜像设置标签
docker tag 名称/id runoob
  1. 删除镜像
docker rmi 名称/id
  1. 搜索镜像
docker search 名称
  1. 查看容器的内部情况
docker inspect 名称/id

【四】创建本地Docker镜像

网易云:https://www.163yun.com/?hmsr=J_gw_dingtong002


当提供的镜像不满足我们的使用时,我们可以自己去创建镜像,我们使用命令 docker build , 从零开始来创建一个新的镜像。

  • 我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像
vim Dockerfile

Dockerfile的内容

FROM hub.c.163.com/public/centos:6.5     #首行用FROM指明所基于的镜像名称;

MAINTAINER Heroical                                #标注维护者信息

RUN yum install lrzsz -y                              #安装lrzsz工具;

RUN mkdir -p /test/heroical                         #创建/test/heroical文件

RUN touch /test/heroical/test.txt                  #在/test/heroical/下创建test.txt文件

CMD ["/usr/sbin/sshd", "-D"]                        #运行一个可在前台持续运行的命令
  • 构建镜像
docker build –t 名称 .

-t 指定要创建的目标镜像名
. 指Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

  • 查看本地生成的镜像
docker images
  • 运行镜像
docker run -d -p 8080:80 名称(id)  其中映射的端口根据个人的使用情况决定

【五】推送镜像到网易云

docker login -u {登录账号} -p {你的网易云密码} hub.c.163.com
  返回「Login Succeded」即为登录成功。
  • 标记本地镜像
docker tag {镜像名或ID} hub.c.163.com/{你的用户名}/{标签名}

你的网易云镜像仓库推送地址为 hub.c.163.com/{你的用户名}/{标签名}
  • 推送至网易云镜像仓库
docker push hub.c.163.com/{你的用户名}/{标签名}

默认为私有镜像仓库,推送成功后即可在控制台的「镜像仓库」查看。

【六】其他命名


容器生命周期管理
run
start/stop/restart
kill
rm
pause/unpause
create
exec

容器操作
ps
inspect
top
attach
events
logs
wait
export
port

容器rootfs命令
commit
cp
diff
镜像仓库
login
pull
push
search

本地镜像管理
images
rmi
tag
build
history
save
load
import
info|version
info
version

【七】链接

发布了130 篇原创文章 · 获赞 88 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/wenge1477/article/details/102453912