Docker学习(一)
程序员文章站
2024-03-12 14:05:50
...
一、概念
1.image(镜像)
docker把应用程序以及其依赖,打包在image文件里面,docker容器是通过运行image生成的实例,同一个image文件可以生成多个容器实例。
2.container(容器)
container是一个docker的运行实例,也叫做容器,本身也是一个文件,可以理解容器实例就是通过渲染运行image镜像之后才产生的。值得注意的是生成容器之后,关闭容器不会删除该容器文件,该容器文件之后停止运行了而已。
二、基础命令
1.安装docker:
sudo yum install docker-ce docker-ce-cli containerd.io
2.提高下载速度:
新建文件:/etc/docker/daemon.json,然后添加如下json,重启docker即可永久选择国内镜像。
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
3.镜像操作
查看当前本地镜像列表
$ docker images
-a 所有的
查看远程相关镜像镜像
$ docker search 镜像名字
例如:docker search mysql:5.7.3
docker search -s 100 ubntu:找出start数超过100的镜像,默认不加-s
拉取镜像到本地
$ docker pull 镜像名字
例如:docker pull mysql:5.7.3
删除镜像(当存在多个名字一样的镜像时候,可以通过指定tag方式来操作,如ubuntu:16.04)
docker rmi 镜像名字
推送镜像到库
$ sudo docker push 192.168.0.100:5000/ubuntu # 推送镜像库到私有源[可注册 docker 官方账户,推送到官方自有账户]
$ sudo docker push 192.168.0.100:5000/ubuntu:14.04 # 推送指定镜像到私有源
运行镜像
$ docker run 镜像名字
p:指定映射端口,如运行一个nginx服务,那么我可以设置 -p 8080:80来把本地的8080端口映射到容器里的80端口。
d:容器作为一个守护进程去进行运行,也就是保持后台运行,运行后会返回cotainer id。
例如:docker run -t -i ubuntu:14.04 -d --name myubuntu /bin/bash
docker run - 运行一个容器
-t - 分配一个(伪)tty (link is external)
-i - 交互模式 (so we can interact with it)
ubuntu:14.04 - 使用 ubuntu 基础镜像 14.04
/bin/bash - 运行命令 bash shell
4.容器操作
创建一个docker容器,返回容器的id
$ docker create 镜像名字
运行docker容器
$ docker start 容器id
停止容器
$ docker stop 容器id
查看当前运行的docker容器
$ docker ps
查看全部的docker容器
$ docker ps -a
删除容器
$ docker rm 容器id
5.容器与镜像之间的操作
终端连接到容器
$ docker exec -i -t 容器id bash
复制文件到容器里面
$ docker cp index.html 镜像id://usr/share/nginx/html
保存更改并生成为一个新的image文件
$ docker commit -m "mess" 镜像id 镜像名字
上一篇: 1、镜像拉取