初学docker,快速入门;避坑!!!!
需要注意的/基本的错误点!!!!
1.创建容器并且映射端口:
docker run -itd --name centos_lnmp -p 8082:80 centos /bin/bash
说明:创建容器并且将容器的80端口映射到本机的8082端口上; centos为镜像名称
2.docker运行容器命令
docker exec -it 3a7c09bd2e34 /bin/bash
说明:3a7c09bd2e34 为镜像的容器id
3.mac 上搭建docker并且启动容器centos8;执行命令
systemctl start nginx
报错:
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
解决:
原命令:
docker run -itd --name centos_lnmp -p 8082:80 centos /bin/bash
修改为:
docker run -itd --name centos_lnmp --privileged=true -p 8081:80 centos /sbin/init
4.查看容器的完整id:
docker ps --no-trunc
查找对应容器的:hostconfig.json
文件,找到:“PortBindings”:{}
。并且修改它增加对应的映射关系
举例:"PortBindings":{"80/tcp":[{"HostIp":"","HostPort":"8080"}]}
说明:这里 80 是容器端口, 8080 是本地端口
5.其他基本常用命令:
1).查看所有的镜像
docker images
2).查看运行的的容器
docker ps
3).查看所有的容器
docker ps -a
4).退出容器
exit
5).强删镜像(不加 -f 有时删除不了,没纠结原因)
docker rmi -f 3a7c09bd2e34 #(镜像id)
6).导出导入容器
docker container ls -a #查看可以导出的镜像
sudo docker export b2b71b7bc23d > centos-lnmp.tar #导出容器镜像
sudo docker import centos-lnmp.tar centos:bak #导入镜像
7).下载安装镜像
docker search centos #查看centos镜像
dokcer pull centos #安装镜像,官方镜像