初识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安装:
- 移除旧的版本
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
- 安装一些必要的系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 更新 yum 缓存
sudo yum makecache fast
- 安装 Docker-ce
sudo yum -y install docker-ce
- 启动 Docker 后台服务
sudo systemctl start docker
【三】Docker的常见命名
- 查看docker中包含有哪些镜像
docker images
- 查看docker中正在运行的镜像
docker ps
-a 查看当前的容器中所有的容器运行情况
- 拉取应用
docker pull 镜像名称
- 后台运行容器
docker run -it --name 取的名字 -p 5000:5000
-v /data:/data 名称 /bin/bash
• -d:让容器在后台运行。
• -p:将容器内部使用的网络端口映射到我们使用的主机上。
• -P:让容器开发所有的网络端口,随机分配端口映射。
• -it:让容器以交互式的方式运行
• -name:给容器重起一个名称
• -v: 进行主机的目录和docker容器目录进行挂载。
- 查看指定 (ID 或者名字)容器的某个确定端口映射到宿主机的端口号
docker port 名称/id
- 查询容器中运行的进程
docker top 名称/id
- 停止应用容器
docker stop 名称/id
- 重启应用容器
docker start 名称/id
- 移除docker中不需要的容器
docker rm 名称/id
10.进入容器
docker exec –it 名称(或者id) bash
docker attach 名称/id
使用该命令以后会进入到当前容器内,容器内和linux一样,可以输入命名
- 镜像设置标签
docker tag 名称/id runoob
- 删除镜像
docker rmi 名称/id
- 搜索镜像
docker search 名称
- 查看容器的内部情况
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) 其中映射的端口根据个人的使用情况决定
【五】推送镜像到网易云
- 要注册网易云的账号,登录
https://c.163yun.com/dashboard#/ccr/list - 创建本地镜像(四)
- 运行镜像
- 登录网易云镜像仓库
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
【七】链接
- Docker官方英文资源
docker官网:http://www.docker.com
Docker Windows 入门:https://docs.docker.com/docker-for-windows/
Docker CE(社区版) Ubuntu:https://docs.docker.com/install/linux/docker-ce/ubuntu/
Docker mac 入门:https://docs.docker.com/docker-for-mac/
Docker 用户指引:https://docs.docker.com/config/daemon/
Docker 官方博客:http://blog.docker.com/
Docker Hub: https://hub.docker.com/
Docker开源: https://www.docker.com/open-source
- Docker 国内镜像
阿里云的加速器:https://help.aliyun.com/document_detail/60750.html
网易加速器:http://hub-mirror.c.163.com
官方中国加速器:https://registry.docker-cn.com
ustc的镜像:https://docker.mirrors.ustc.edu.cn
daocloud:https://www.daocloud.io/mirror#accelerator-doc(注册后使用)