- 制作自己的Docker容器
- 用Docker部署
打个比方:你如果想玩英雄联盟中*气的亚索,你首先得有这个英雄(Docker的镜像),然后你得花金币去英雄商店(Docker的仓库)买,接着进游戏就会看到一个半蹲的发型飘逸的剑客(Docker的容器)
Docker由仓库(Repository)、镜像(Image)、容器(Container)组成。
- 更新yum包
- 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
- 选择版本进行安装
yum install docker-ce-17.12.1.ce
- 启动Docker
- 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
- Dockerfile文件
FROM node:10.15.0
# 将当前目录下的所有文件(除了.dockerignore排除的路径),都拷贝进入 image 文件的/app目录。
COPY . /app
# 指定接下来的工作路径为/app
WORKDIR /app
RUN npm install
# 将容器 3000 端口暴露出来, 允许外部连接这个端口
EXPOSE 3000
CMD ["npm", "start"]
- 创建image
docker image build -t koa-demo:0.0.1 .
-t参数用来指定 image 文件的名字,后面还可以用冒号指定标签。如果不指定,默认的标签就是latest
最后的那个点表示 Dockerfile 文件所在的路径,上例是当前路径,所以是一个点
- 列出所有镜像
- 启动容器
docker container run -p 8000:3000 -it koa-demo:0.0.1
-p参数:容器的 3000 端口映射到本机的 8000 端口。
-it参数:容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器
koa-demo:0.0.1:image 文件的名字(如果有标签,还需要提供标签,默认是 latest 标签)
- 浏览器访问
# 在仓库下载镜像
$ docker image pull library/hello-world
# 列出所有镜像
$ docker image ls
$ docker image ls --all
# 删除 image 文件
$ docker image rm [imageName]
# 列出本机正在运行的容器
$ docker container ls
# 列出本机所有容器,包括终止运行的容器
$ docker container ls --all
# 终止某容器
$ docker container kill [containID]
# 删除某容器,释放磁盘空间
$ docker container rm [containerID]
- Docker 入门教程
- Centos7下安装Docker(详细的新手装逼教程)
- Get Docker Engine - Community for CentOS