什么是docker?
“Docker”这个单词有“码头工人”的意思,码头工人的工作就是把货物装到集装箱里,然后把集装箱搬到货船上面。Docker 就是借鉴了这种做法,想一想,集装箱有什么好处呢?在一艘大货船上,所有货物装成集装箱就可以方便快捷地摆放在一起,并且各种各样的集装箱的规格都被标准化了,不管货物是什么,只要装到集装箱里面,就可以一次性被运走,而不必把不同的货物分开运输。
Docker 就使用了这种思想。Docker 就像一个码头工人,把可以运行的 Linux 系统装载到一个个容器(container)里,这些容器就像一个个“装载了 Linux 系统”的集装箱。就像每个集装箱都有自己的货物一样,每个容器都像一个独立的 Linux 系统一样可以运行指定的程序。比如,一个容器可以作为 Web 服务器,另一个容器作为数据库服务器。
集装箱之间互不影响。同样,容器之间也都是独立的,一个容器不能操作另一个容器的资源,因此可以很好地隔离运行环境。每个容器都像一个独立的操作系统,拥有操作系统运行需要的所有配置和代码
docker的安装
windows下安装docker:https://www.runoob.com/docker/windows-docker-install.html
docker常用命令
docker pull container_name:tag拉取镜像
docker images查看所有镜像
docker run --name=first_container container_name:tag /bin/bash创建并执行一个镜像
exit退出镜像
docker exec first_container /bin/bash进入镜像
docker start first_container启动镜像
docker cp XXX.txt container_ID:/root把本地文件复制到容器中
docker常用命令
镜像仓库
命令 | 解释 | 使用 |
pull | 从镜像仓库中拉取或者更新指定镜像 | docker pull 镜像地址
|
push | 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库 | docker push name[:TAG]
|
search | 查找镜像 | docker search name
|
本地镜像管理
命令 | 解释 | 使用 |
images | 列出本地镜像 | docker images 返回信息: REPOSITORY:表示镜像的仓库源 TAG:镜像的标签 IMAGE ID:镜像ID REPOSITORY TAG IMAGE ID CREATED SIZE mymysql 3.5 37af1236adef 5 minutes ago 329 MB
|
rmi | 删除本地一个或多个镜像 | docker rmi IMAGE
|
build | 使用 Dockerfile 创建镜像 | docker build [OPTIONS] PATH | URL | -
|
生命周期管理
命令 | 解释 | 使用 |
start stop restart | start :启动一个或多个已经被停止的容器 stop :停止一个运行中的容器 restart :重启容器 | docker start CONTAINER(可以用容器名字或ID) docker stop CONTAINER docker restart CONTAINER |
run | 创建一个新的容器并运行一个命令 | docker run REPOSITORY:TAG
|
rm | 删除一个或多个容器 | docker rm name1 name2删除多个容器
|
create | 创建一个新的容器但不启动它 | docker create IMAGES |
exec | 在运行的容器中执行命令 | docker exec CONTAINER
使用exit不是真正退出容器,而是后台运行 |
容器操作
ps | 列出容器 | docker ps
|
attach | 连接到正在运行中的容器 | 要attach上去的容器必须正在运行,可以同时连接上同一个container来共享屏幕 docker attach --sig-proxy=false mynginx 容器mynginx将访问日志指到标准输出,连接到容器查看访问信息。 |
容器rootfs命令
commit | 从容器创建一个新的镜像 | docker commit CONTAINER
|
cp | 用于容器与主机之间的数据拷贝 | docker cp SRC_PATH |- CONTAINER:DEST_PATH -L保持源目标中的链接 docker cp /www/runoob 96f7f14e99ab:/www/将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下 |
其他
exit | 直接退出容器 |
|
Ctrl+P+Q | 退出容器保持后台运行 |
|
docker -h | 查看docker帮助信息 |
|