拉取镜像
xxxx为镜像名称,可以在docker镜像仓库或阿里云镜像仓库查询。
docker pull xxxx
创建镜像
-t : 生成镜像的名称
. : 在当前目录找到Dockerfile进行镜像的创建
docker build -t liuwei/centos-vim .
查看本机所有镜像
docker images
运行容器
-d:后台运行
-p:映射端口号 ,本机端口:容器端口
--name : 设置容器名称
-e : 设置环境变量,启动容器时,会有一个PENG的环境变量,值为hehe
-v :将本地/home/liuwei/docker 目录与容器/etc/nginx 做映射
nginx : 镜像名称
docker run -d --name nginx1 -e PENG=hehe -v /home/liuwei/docker:/etc/nginx -p 8070:80 -p 8060:443 nginx
查询正在启动的docker容器
docker ps
删除容器
xxxx:容器id
docker rm xxxx
批量删除已经退出的容器
-f :查询状态status为exited的容器
-q: 只显示查询出来的容器的id
docker rm $(docker ps -f "status=exited" -q)
删除镜像
-f: 如果存在容器,也一起删除
xxxx:镜像id
docker rmi -f xxxx
主机和容器之间拷贝文件
将主机/www/runoob 文件拷贝到容器id 96f7f14e99ab中,并重命名为www
docker cp /www/runoob 96f7f14e99ab:/www
将主机/www/runoob 文件拷贝到容器id 96f7f14e99ab中的www目录下
docker cp /www/runoob 96f7f14e99ab:/www/
将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。
docker cp 96f7f14e99ab:/www /tmp/
保存改动后的容器为新镜像
将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。
-a :提交的镜像作者;
-m:提交时的说明文字;
mymysql:v1 : 镜像名称:版本号
docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
异常处理
有时候,我们docker run时,会出 WARNING: IPv4 forwarding is disabled. Networking will not work.,导致容器无法访问,只需要执行下方指令,重新启动容器即可解决
echo net.ipv4.ip_forward=1 >> /usr/lib/sysctl.d/00-system.conf
systemctl restart network && systemctl restart network
进入正在运行中的容器
docker exec -it 容器名或容器id /bin/bash
docker exec -it jenkins /bin/bash