二 docker基本命令
下载镜像
https://hub.docker.com
https://1r69d5k1.mirror.aliyuncs.com
docker pull httpd # 从远端镜像仓库(默认docker hub) 拉取httpd镜像 | 默认latest
docker pull httpd:2.4 # 从远端镜像仓库(默认docker hub) 拉取httpd镜像 | 指定2.4
查看和删除
docker search httpd 搜索镜像库的httpd
dock images 查看镜像
docker images httpd #查看本地包含httpd的相关镜像
docker image inspect httpd:2.4 查看镜像详细信息
docker rmi XXX 删除镜像
docker rm XXX 删除容器
docker rmi XXX -f 强制删除镜像
docker rm XXX -f 强制删除容器
docker rm -f $( docker ps -aq) 强制删除所有容器
查看运行中的容器
docker ps
docker ps -a 查看所有容器
docker ps -q 查看运行的容器
创建容器
docker create --name eric nginx # 创建名称为eric的虚拟机,镜像为nginx
docker create nginx
docker rm XXX
docker rm -f $(docker ps -qa) # 删除全部docker容器
docker container prune # 清理掉所有处于终止状态的容器
运行容器
docker run -it httpd /bin/bash # 开启进入容器
docker run -d -P training/webapp python app.py
docker start XXX
docker restart XXX
docker stop XXX
docker kill XXX
docker ps -l # 查询最后一次创建的容器
docker pause b0
docker unpause b0
docker run XXX 新开一个容器
docker run XXX:yyy # yyy指端口
-p 10001:8080/tcp #??指定TCP映射
-p 10001:8080/udp #??指定UDP映射
-d 在后台运行
-P 随机端口
-p 指定端口
--name 指定名称
-i 可以和容器交互
-t 可以为容器创建shell窗口
docker run --name tom -p 8081:80 nginx
docker run -dit httpd -p 8081:80 # 宿主机8081,docker80
docker port bf08b7f2cd89 # 查看容器的端口
curl 127.0.0.1:8080
打开浏览器检验网页是否正常
docker run -dit nginx -p 8082:80
#设置docker服务?动启动
[root@Docker-host01 ~]# systemctl enable docker.service #开启
#设置docker容器开机?动启动
docker update --restart=always 容器ID
[root@Docker-host01 ~]# docker update --restart=always 6ef9acbcef6b
查看容器日志
docker logs XXXX
docker top XXX
-f 实时查看
-t 详细时间
-tail 5 最后5行
-n 5 最后5行
进入容器
docker exec -it 393e19a0d0a9 /bin/bash
docker cp ./index.html 4ad8d4b18f13:/var/www/html
docker cp 4ad8d4b18f13:/var/www/html/index.html ./
docker cp ./index.html 60b42877c0df:/usr/local/apache2/htdocs 镜像不同,容器目录不同
容器数据共享
-v host-dir:container-dir 必须使?绝对路径
mkdir cm_share
docker run -d -p 10002:8080 --name cm02 -v /home/tom/cm_share:/var/www/html centos/httpd-24-centos7
docker run -d -p 8081:80 --name cm01 -v /var/www/cmshare:/usr/local/apache2/htdocs httpd
docker run -d -p 8081:80 --name cm01 -v 宿主机目录:容器目录 镜像
传输参数
-e选项可以将环境变量传递给容器。在容器中,可以使用${}符号获取环境变量的值:
docker run -d -e A=100 --name eric nginx # 将A=100参数传入docker
docker run -d --workdir /tmp --name lisi nginx # 容器工作目录修改
docker命令大全
容器生命周期管理
run
start/stop/restart
kill
rm
pause/unpause
create
exec
容器操作
ps
inspect
top
attach
events
logs
wait
export
port
stats
容器rootfs命令
commit
cp
diff
镜像仓库
login
pull
push
search
本地镜像管理
images
rmi
tag
build
history
save
load
import
info|version
info
version