了解【Docker】从这里开始 (3)

Docker client: Docker 命令行工具,是用户使用Docker的主要方式,Docker client与Docker daemon通信并将结果返回给用户,Docker client也可以通过socket或者RESTful api访问远程的Docker daemon

了解【Docker】从这里开始

了解了Docker的组成,再来了解一下Docker的三个主要概念:

Docker image: 镜像是只读的,镜像中包含有需要运行的文件。镜像用来创建container,一个镜像可以运行多个container;镜像可以通过Dockerfile创建,也可以从Docker hub/registry上下载。

Docker container: 容器是Docker的运行组件,启动一个镜像就是一个容器,容器是一个隔离环境,多个容器之间不会相互影响,保证容器中的程序运行在一个相对安全的环境中。

Docker hub/registry: 共享和管理Docker镜像,用户可以上传或者下载上面的镜像,官方地址为https://registry.hub.docker.com/,也可以搭建自己私有的Docker registry。

镜像就相当于打包好的版本,镜像启动之后运行在容器中,仓库就是装存储镜像的地方。

# 三、Docker 安装

安装过程都大同小异,这里就不细说了,详细的可以参考这里:https://www.runoob.com/docker/macos-docker-install.html

唯一需要注意的就是由于国内网络问题,需要给 Docker 镜像加个速(详细的可以戳上面链接,最后有...)

# 四、Docker Hello World

首先,运行下面的命令,将 image 文件从仓库抓取到本地。

$ docker image pull library/hello-world

上面代码中,docker image pull是抓取 image 文件的命令。library/hello-world是 image 文件在仓库里面的位置,其中library是 image 文件所在的组,hello-world是 image 文件的名字。

由于 Docker 官方提供的 image 文件,都放在library组里面,所以它的是默认组,可以省略。因此,上面的命令可以写成下面这样。

$ docker image pull hello-world

抓取成功以后,就可以在本机看到这个 image 文件了。

$ docker image ls

现在,运行这个 image 文件

$ docker container run hello-world

docker container run 命令会从 image 文件,生成一个正在运行的容器实例。

注意,docker container run 命令具有自动抓取 image 文件的功能。如果发现本地没有指定的 image 文件,就会从仓库自动抓取。因此,前面的 docker image pull 命令并不是必需的步骤。

如果运行成功,你会在屏幕上读到下面的输出。

$ docker container run hello-world Hello from Docker! This message shows that your installation appears to be working correctly. ... ...

输出这段提示以后,hello world 就会停止运行,容器自动终止。

有些容器不会自动终止,因为提供的是服务。比如,安装运行 Ubuntu 的 image,就可以在命令行体验 Ubuntu 系统。

$ docker container run -it ubuntu bash

对于那些不会自动终止的容器,必须使用docker container kill 命令手动终止。

$ docker container kill [containID] # 五、常用命令

杀死所有正在运行的容器
docker kill $(docker ps -a -q)

删除所有已经停止的容器
docker rm $(docker ps -a -q)

删除所有镜像
docker rmi $(docker images -q)

关闭容器
docker stop CONTAINER ID或者NAMES

重新启动关闭的容器
docker start CONTAINER ID或者NAMES

移除本地容器
docker rm CONTAINER ID或者NAMES

查看本地容器
docker ps //查看正在运行的容器
docker ps -a //查看所有容器

查看本地镜像
docker images

创建镜像
docker build -t name:tag Dockerfile路径

修改本地镜像标记
docker tag IMAGE ID name:tag
docker rmi name:tag

删除本地镜像
docker rmi name:tag或者IMAGE ID

进入容器
docker exec -it IMAGE ID或者NAMES /bin/bash

获取镜像中心的镜像
docker pull name:tag

获取容器的端口映射配置
docker port CONTAINER ID或者NAMES

# 参考资料

1. Docker入门教程(阮一峰) -
2. Docker(一):Docker入门教程(纯洁的微笑) - https://www.cnblogs.com/ityouknow/p/8520296.html
3. Docker教程(菜鸟教程) - https://www.runoob.com/docker/docker-tutorial.html

5. 官方文档 - https://www.docker.com

按照惯例黏一个尾巴:

欢迎转载,转载请注明出处!
简书ID:@我没有三颗心脏
github:wmyskxz
欢迎关注公众微信号:wmyskxz
分享自己的学习 & 学习资料 & 生活
想要交流的朋友也可以加qq群:3382693

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wppxfy.html