docker(1)

文章来源:https://www.gulixueyuan.com/course/263/task/5244/show

一、docker是什么?

我们开发需要开发环境,线上需要线上环境,每一个环境都需要重复配置,如果开发环境和线上环境稍有不同,也会导致开发环境运行ok,线上运行有问题。那么docker就可以做到,将环境打包成镜像,其他地方都可以用,不用反复去做。也避免了很多问题。

二、docker安装(linux centos7)

1.按docker官网进行安装,https://docs.docker.com/engine/install/centos/

2.linux 要求centos7版本以上, 连接linux,命令: hostnamectl   查看系统版本

3.先安装gcc,执行如下命令

3.1 --- yum -y install gcc

3.2 --- yum -y install gcc++

3.3----gcc -v  查看gcc版本,确定是否安装成功

4.如果之前安装过docker那么就需要根据官网规定,执行卸载命令,没有安装过久掠过

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

 5.安装docker工具包:

yum install -y yum-utils

6.此步骤需要注意,千万千万千万不要用docker官方镜像仓库拉镜像

docker官方的命令是没错,但是国内网站要拉代码非常慢,影响使用体验,所以我们要用阿里云或者网易云提供的镜像站

命令: yum-config-manager --add-repo http://mirrors.aliyum.com/docker-ce/linux/centos/docker-ce.repo

命令:cat /etc/yum.repos.d/docker-ce.repo   可看到文件被配置为直接去aliyun上拉镜像。

7.更新软件包索引:yum makecache fast

8.安装docker-ce  : yum -y install docker-ce

9.启动docker: systemctl start docker

10.查看版本号:docker version

11.执行docker hello-world 镜像测试docker:docker run hello-world   #这里需要注意,因为第一次执行,我们还没有hello-world镜像,所以docker会去阿里云拉镜像,实例化

 12.执行:docker images  查看本地镜像

13.docker安装成功后,我们需要配置镜像加速。阿里云和网易云都有提供加速,去阿里云注册账号,找到如下目录

 

 ​​​​​​​

 13.1 创建文件夹:mkdir -p /etc/docker

13.2 创建文件并写入内容:vim /etc/docker/daemon.json

这里写入的内容就是如上阿里云centos配置镜像加速说明里,

13.3 重置daemon: systemctl daemon-reload

13.4 重启docker : systemctl restart docker

14 查看docker进程: ps -ef | grep docker   或查看版本号

 三、docker使用前需要明白的概念

1.docker 的三要素:  镜像、容器、仓库

容器,就是一个系统环境,只是这个环境是docker简化了的,它可以通过镜像实例化得到

镜像,我们配置好的环境放在容器中,可以通过打包这个容器环境,也就是镜像保存下来

仓库,就是存储各种镜像的仓库

四、镜像操作命令(镜像查找,下载,删除)

1.镜像操作命令:docker images  查看本地镜像有哪些

 2.镜像查看命令的参数

1)  -a  : 列出本地所有的镜像(包含中间映像层)

2)  -q   :只显示镜像id

3)  --digests : 显示镜像的摘要信息

4) --no-trunc:显示完整的镜像信息

 3.镜像查找,查找镜像(配置的阿里云仓库) :docker search

4.下载镜像:docker pull xxx      如 docker pull tomcat  

注意,命令后没有加镜像的版本,那么默认的就是最新的版本

 5.删除镜像:docker rmi    如: docker rmi hello-world

注意:正在运行的镜像不能直接删除,需要加参数 -f 强制删除

 删除多个镜像:先下载几个,然后多个一起删

五、容器操作命令

 容器操作命令:有镜像才能创建容器,这是根本前提

容器操作: 新建并启动容器、列出正在运行的所有容器、退出容器、启动容器、重启容器、停止容器、强制停止容器、删除已停止的容器.....

1)新建并启动容器:docker run -it 镜像id

2)列出正在运行的所有容器:docker ps   

3)退出容器: exit-退出并关闭容器,CTRL+P+Q 退出容器不关闭容器

4)启动一个停止运行的容器:docker start 容器id

5)重启容器:docker restart 容器id

6)停止容器:docker stop 容器id

7)删除容器:删除已停止的容器-docker rm 容器id,强制删除正在运行的容器-docker rm -f 容器id

需要明白一点:linux系统上搭建docker,docker可以运行多个容器,一个容器就可以看做是一个简易版的linux环境,这个环境里也可以有nginx、redis,mysql等等,最后这个运行良好的环境包括开发的代码,都可以打包成一个镜像,直接放线上部署。

1.下载centos镜像:docker pull centos

 可以看到,我们下载的镜像只有209M,我们之前在虚拟机或云服务器上装centos系统镜像有3-4个G。docker就是将容器环境简化了,去掉不需要的,需要的功能使用的是公用宿主机上的。所以前面我们说:容器就是一个简易版的linux环境

2.新建并启动容器  docker run [option] IMAGE [COMMAND] [ARG...]

参数如下;

 启动一个镜像:

 从如上示例可以看到, 创建了一个contos的容器,并进入到了这个容器里,它就是一个精简版的linux环境。其中 300e315abd2f是contos这个镜像的id ,(根据镜像id指向的镜像去实例化成一个容器)

3.退出容器(退出容器有两种方式:exit-停止容器并退出,ctrl+P+Q-容器不停止并退出)

1)停止容器并退出 exit

2)容器继续运行,退出容器到宿主机 ctrl+P+Q (PQ大写)

 操作,我们先不关闭容器退出,并查看容器运行的容器

docker ps 查看宿主机中docker运行的容器,参数如下

      

 进入到正在运行的容器: docker attach 容器id   

示例:进入正在运行的容器,并关闭退出,然后重启

 4.停止容器运行: 有两种方式   docker stop 容器id     docker kill 容器id    kill方式比较粗暴如同直接断电源。

 

5.删除已停止的容器:docker rm 容器id,   

 当然,还可以强制删除正在运行的容器  docker rm -f 容器id

 

一次删除多个容器

 六、容器还有几个重要的操作

1)启动守护式容器:docker run -d 容器名称

2)查看容器日志:

3)查看容器内运行的进程:

4)查看容器内部细节:

5)进入正在运行的容器并以命令行交互:

6)从容器内拷贝文件到宿主机上:docker cp 容器id:容器内部路径 目的主机路径

1.启动守护式容器

如上执行后台运行容器,但是查看正在运行的容器却没有,其实docker run -d centos是有运行容器

 在宿主机上后台运行一个容器,并让容器每两秒打印一句话。容器没有停止运行。

2.查看容器日志

 

 

3.查看容器内运行的进程

4.查看容器内部细节:容器内部像同心圆一样层层嵌套

5.进入正在运行的容器并以命令行交互

在宿主机命令行查看容器内某个目录下的文件

 进入宿主机 用 docker attach 镜像id

6.从容器内拷贝文件到宿主机上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值