安装docker
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh
docker基础常用命令大全
简介 | 命令 |
---|---|
列出系统当前镜像 | docker images |
列出容器列表 | docker ps -a |
创建一个新的容器并运行一个命令 | docker run 容器名/ID |
启动容器 | docker start 容器名/ID |
停止容器 | docker stop 容器名/ID |
杀掉一个运行中的容器 | docker kill 容器名/ID |
查看映射端口对应的容器内部源端口 | docker port 容器名/ID |
暂停容器/恢复容器 | docker pause/unpause 容器名/ID |
从docker镜像源服务器拉取指定镜像或者库镜像 | docker pull 镜像名 |
推送指定镜像或者库镜像至docker源服务器 | docker push 镜像名:版本号 |
重启运行的容器 | docker restart 容器名/ID |
移除一个或多个容器 | docker rm 容器名/ID |
移除一个或多个镜像 (无容器使用该镜像才可删除,否则需要删除相关容器才可继续或 -f 强制删除) | docker rmi 容器名/ID |
查看 docker版本号 | docker version |
查看容器中运行的进程信息 | docker top 容器名/ID |
在 docker hub 中搜索镜像 | docker search 容器名 |
阻塞运行直到容器停止,然后打印出它的退出代码 | docker wait 容器名 |
查看容器日志 | docker logs -f 容器名/ID |
宿主机/容器文件拷贝 | docker cp 源 目标 docker cp 容器ID/名称: 容器内路径 容器外路径 docker cp 容器外路径 容器ID/名称: 容器内路径 |
运行容器
以分离的方式运行容器(守护进程)
docker run -d nginx
指定容器名
不指定就会生成一个随机名称
docker run -d --name=my_nginx nginx
端口映射
暴露容器端口 80,并与宿主机端口 8080 绑定
docker run -d --name=my_nginx -p 8080:80 nginx
持久化,文件系统挂载
格式为:宿主机绝对路径目录:容器内目录
docker run -d --name=my_nginx -p 8080:80 -v /home/user/:/usr/local/ nginx
容器
进入容器内部
docker run -it nginx /bin/bash
退出容器
#当使用exit命令从容器中退出时,容器也停止运行了
exit
#当要退出容器,但是希望容器继续运行,需要使用Ctrl + p,q,按住crtl不放
再 次 进 入 容 器
已经退出容器了,但容器正在运行,还想重新进入容器进行操作
docker exec -it 容器名/ID /bin/bash
将容器打包成镜像
- -a:提交的镜像作者;
- -c:使用Dockerfile指令来创建镜像;
- -m:提交时的说明文字;
- -p:在commit时,将容器暂停。
docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
以打包的镜像开启文件
docker run -d -p 8888:3306 mymysql:v1