基础
安装
1.通过wwww.docker.com下载桌面版docker
2.配置Docker镜像站
3.执行docker run hello-world
,看输出完美运行~
基本概念
- 镜像(Image)
- 容器(Container)
- 仓库(Repository)
镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
常用操作
拉取镜像
1 2 3 4 5 6 7
| //下载官方nginx镜像源,等同于docker pull docker.io/nginx //也等同于docker pull docker.io/nginx.io/nginx:latest docker pull nginx
//下载国内镜像源的ubuntu镜像,并制定版本 docker pull registry.docker-cn.com/library/ubuntu:18.04
|
推送镜像
1 2 3 4 5
| //推送镜像到docker hub,需要先注册账号 docker push <你的用户名>/<你打包时定义的镜像名>:<标签,版本号>
//推送镜像到私有镜像库,需要提前搭建好仓库服务(比如用harbor来搭建) docker push <私有镜像库域名,如a.b.com>/<项目名称>/镜像名:<标签>
|
打包镜像
1 2 3
| //提前准备好一个Dockerfile,在Dockerfile相同路径下执行: docker build -t <指定一个完整的镜像名,比如testdemo:v1.0> //即可打包出一个本地镜像,然后再通过docker push 就可以推送到远端镜像仓库
|
启动容器
1 2 3
| docker run -d //-d 表示通过daemon方式来启动 -p 13306:3306 //端口映射,将host主机的13306端口和docker容器的3306端口映射起来 -v /etc/mysql:/var/mysql //目录挂载,将容器内的/var/mysql目录挂载到host主机的/etc/mysql目录,可以实现容器内这个目录下的数据持久化,mysql为镜像名(指定加载哪个镜像)
|
重启或停止或删除容器应用
1 2 3 4 5 6 7
| docker ps //列出目前正在运行的容器列表 docker ps -a //列出所有的容器列表 docker start <容器id> //通过容器id来重启某个容器,批量操作的话,直接在参数后面再跟对应容器id即可 docker stop <容器id> //通过容器id来关闭某个容器,批量操作的话,直接在参数后面再跟对应容器id即可 docker rm <容器id> //通过容器id来删除掉某个已经停止的容器 docker rm -f <容器id> //通过容器id来删除掉某个正在运行的容器 docker container rm [trusting_newton]
|
删除本地镜像
1 2
| docker rmo <镜像id> docker rmi -f <镜像id> //强制删除
|
查看容器日志
1 2
| docker logs -f <容器id> docker inspect <容器id> //从返回结果中找到LogPath,运行的历史日志会在这个文件里找到
|
进入容器内
1 2 3 4
| docker exec -it <容器id> /bin/bash //进入容器内并进入它的shell终端 docker exec -it <容器id> <shell命令> //在容器内执行shell命令 docker exec -it <容器id> ls -l //查看容器内系统跟目录下所有文件或文件夹
|
服务器Linux下安装Docker社区版(Centos7为例)
1 2 3 4 5 6
| cd /etc/yum.repos.d/
wget http"mirrors.aliyun.com/repo/Centos-7.repo mv CentOS-Base.repo CentOS-Base.repo.back
mv Centos-7.repo CentOS-Base.repo
|
重置yum源
1 2 3 4
| yum install -y yum-utils yum-config-manager --add-repo http://mirros.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum clean all yum makecache
|
安装docker
1 2 3 4 5 6 7 8 9 10
| yum list docker-ce
yum -y install docker-ce
docker -v
systemctl start docker
docker info
|
参考资料
Docker — 从入门到实践