Docker快速入门

1.基本概念、用途、核心思想

docker应用广泛

docker是一个用来装程序及其环境的容器,属于linux容器的封装,提供简单易用的容器使用接口。

解决了环境配置的难题,每台电脑环境都不一样,相比虚拟机,容器体积小启动快相当于轻量化虚拟机。

docker提供了统一的环境,快速拓展,弹性伸缩的云服务,防止其他用户的进程把服务器资源占用过多

docker特点标准化运输方式,存储方式,API接口

2.Docker的组成、架构、重要概念

在这里插入图片描述

3.Docker的安装

首先需要Linux操作系统,我使用的是cenOS7

登陆root用户

查看Linux版本

cat /etc/redhat-release

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lSw3UODa-1660628383023)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816120826300.png)]

1) 配置国内yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

清理软件源

yum clean all

读取新的软件源

yum makecache
2) 卸载旧版本
yum remove docker \

​         docker-client \

​         docker-client-latest \

​         docker-common \

​         docker-latest \

​         docker-latest-logrotate \

​         docker-logrotate \

​         docker-engine

如果yum报告未安装这些软件包,也没问题。

3) 更新yum
yum update
4) 安装所需的软件包
yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

5) 使用以下命令来设置稳定的存储库。
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2) 查看docker版本
yum list docker-ce --showduplicates | sort -r
6) 安装指定的版本
yum install docker-ce-18.09.0 docker-ce-cli-18.09.0 containerd.io
7) Docker 是服务器----客户端架构。命令行运行docker命令的时候,需要本机有 Docker 服务。用下面的命令启动
systemctl start docker

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-riO9jZas-1660628383024)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816121659899.png)]

8) 安装完成后,运行下面的命令,验证是否安装成功。

docker version

或者

docker info

4.第一个Docker容器

1)下载镜像
 docker pull [OPTIONS] NAME[:TAG]

OPTIONS:配置

NAME:名字

TAG:版本,默认最新版本

下载hello -world镜像

docker pull hello-world

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F0a0WRDG-1660628383024)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816122446255.png)]

查看本机镜像

docker images

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mHWRhAP0-1660628383025)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816122530900.png)]

2)运行本机镜像

Docker运行镜像命令

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

运行hello-world镜像

docker run hello-world

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DBp1VslG-1660628383025)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816122815639.png)]

5.nginx的前、后台运行

1)首先去网易云镜像站找niginx镜像地址

https://c.163yun.com/hub#/home

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EB9lKzM5-1660628383026)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816123159671.png)]

docker pull hub.c.163.com/library/nginx:1.13.0
docker run hub.c.163.com/library/nginx:1.13.0

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G7Km23c2-1660628383026)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816123452132.png)]

这样就在前台运行了但是就不能操作当前页面了,按ctrl+c和退出界面可以退出nginx。

可以新开个会话,测试nginx是否运行

docker ps

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LLv3j7z8-1660628383026)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816130641231.png)]

回到启动的会话,按住ctrl+c 退出nginx

以后台方式运行nginx

docker run -d hub.c.163.com/library/nginx:1.13.0

d:参数,分享的意思,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5vR7MPRQ-1660628383026)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816130934494.png)]

进入新开的会话,测试nginx是否运行

docker ps

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z9Zrfzri-1660628383027)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816131049231.png)]

后台运行结束命令

docker stop [CONTAINER ID]

进入容器查看内部

docker exec -it [这里输入CONTAINERID] bash
例:docker exec -it 6268c04d7297 bash

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HQMblLUp-1660628383027)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816131413163.png)]

然后就进入了容器内部,在这里新建文件,不会影响外面。

创建名为1的文件

touch 1

查看nginx存放位置

which nginx

6.Docker网络模式

1)Bridge

先退出nginx

docker stop [CONTAINER ID]

本机端口映射到容器端口

docker run -d -P  hub.c.163.com/library/nginx:1.13.0

查看分配的端口

docker ps

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8YjoSioA-1660628383028)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816132321976.png)]

查看端口状态

netstat -na|grep 8080

然后在浏览器访问

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JYHOqeFi-1660628383028)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816132526364.png)]

2)Host
3)None

7.制作自己的Docker容器,dockerfile实战

推广自己的软件,或者把自己的程序打包好给别人运行,都需要制作镜像。

创建dockerfile文件

touch Dockerfile

编辑文件

vim Dockerfile

写入

# 引入基本镜像
FROM alpine:latest
# 作者信息
MAINTAINER imooc
# 执行语句
# 打印hello my dockerfile
CMD echo 'hello my dockerfile'

退出保存,查看文件

cat Dockerfile

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x2YbCfcp-1660628383029)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816133237416.png)]

根据文件,制作镜像

docker bulid -t hello_docker .

"."代表当前路径

制作好后查看本地镜像

docker images

运行镜像

docker run hello_docker

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2rSPfSCp-1660628383029)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816133446594.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值