第一步、安装docker
这里给出阿里云的docker安装步骤
https://help.aliyun.com/document_detail/51853.html?spm=a2c4g.11186623.6.820.RaToNY
注意:docker需要linux内核在3.10以上才可以安装,如果你的linux版本是6.X的请先升级版本内核
链接 https://blog.csdn.net/daluguishou/article/details/52080250
第二步、docker概念
Docker 镜像 - Docker images:
容器运行时的只读模板,操作系统+软件运行环境+用户程序
就像是java的实体类
class User{
private String userName;
private int age;
}
Docker 容器 - Docker containers:
容器包含了某个应用运行所需要的全部环境
就像是java的对象object
User user = new User( )
Docker 仓库 - Docker registeries:
用来保存镜像,有公有和私有仓库,好比Maven的中央仓库和本地私服
镜像仓库:
(参考)配置国内镜像仓库:https://blog.csdn.net/zzy1078689276/article/details/77371782
对比面向对象的方式
Dokcer 里面的镜像 : Java里面的类 Class
Docker 里面的容器 : Java里面的对象 Object
通过类创建对象,通过镜像创建容器
三、docker常用命令
搜索镜像:docker search 镜像名称
搜索的范围是官方镜像和所有个人公共镜像。NAME列的 / 后面是仓库的名字。
DESCRIPTION 列的第一列 Official build of Nginx 代表是官方
列出当前系统存在的镜像:docker images
拉取镜像:docker pull REPOSITORY:TAG
REPOSITORY:表示镜像的仓库源,TAG:镜像的标签 ,如果不加 TAG 则拉取最新的版本
运行一个容器:docker run
docker run -d --name "nginx" -p 80:80 nginx
docker run - 运行一个容器
-d 后台运行,并返回容器ID
-p 端口映射 主机端口:容器端口
nginx:TAG (格式 REPOSITORY:TAG),如果不指定tag,默认使用最新的
--name "xxx" 指定容器名称
示例:
示例:
绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。
$ docker run -d --name 'XXX' -p 127.0.0.1:80:8080 XXX
注意:如果 docker run 执行出错
container_linux.go:247: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused \"Cannot set property TasksAccounting, or unknown property.\""
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused \"Cannot set property TasksAccounting, or unknown property.\"".
主要原因还是centos系统版本兼容性问题,如果将系统做更新升级,即可解决
yum update
列举当前运行的容器:docker ps
列举虚拟机上所有容器:
docker ps -a
检查容器内部信息:docker inspect 容器名称
删除镜像:docker rmi IMAGE_NAME
强制移除镜像不管是否有容器使用该镜像 增加 -f 参数
停止某个容器:docker stop 容器名称
启动某个容器:docker start 容器名称
移除某个容器: docker rm 容器名称 (容器必须是停止状态)