Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
没啥好多说的,先记录下DOCKER的常用命令
列出所有的容器 ID
docker ps -aq
停止所有的容器
docker stop $(docker ps -aq)
删除所有的容器
docker rm $(docker ps -aq)
删除所有的镜像
docker rmi $(docker images -q)
查看docker详细信息
docker inspect name
进入容器docker exec -it name /bin/bash
退出容器 exit
创建自定义网络
docker network create --subnet=172.100.100.0/24 DockerNetBridge
docker创建时添加--net DockerNetBridge --ip 172.100.100.10
docker image prune --force --all或者docker image prune -f -a : 删除所有不使用的镜像
docker container prune: 删除所有停止的容器
测试环境在CENTOS7,一键安装curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
启动systemctl start docker
下面测试DOCKER中安装宝塔,
拉取centos镜像docker pull centos ,当然可以安装其他的版本,可以查找镜像,docker search centos,docker pull centos:centos7
创建容器docker run -i -t -d --restart=always --name baota -p 80:80 -p 443:443 -p 888:888 -p 8888:8888 --privileged=true -v /home/docker-www:/www centos:centos7 /sbin/init
进入容器docker exec -it baota /bin/bash
安装宝塔yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
可以修改映射端口,编辑文件,/var/lib/docker/containers/[hash_of_the_container]/hostconfig.json以及config.v2.json
8080/TCP为DOCKER端口,其中HostPort为宿主机的端口
systemctl restart docker
修改端口后记得开放防火墙端口
关于重启:
DOCKER启动 docker start baota
进入容器 docker exec -it baota /bin/bash
宝塔启动命令行 /etc/init.d/bt start
整完之后,可以考虑打包整个DOCKER,方便迁移和下次直接使用
docker commit -m '描述 宝塔DOCKER' -a 'aaaaa' baota bt
docker save -o /root/baota.tar bt
这里注意要把/home/docker-www文件夹一起打包迁移tar czvf /root/www.tar.gz /home/docker-www
打包的tar镜像,在新环境中解压镜像
docker load < /root/baota.tar
创建容器
docker run -i -t -d --restart=always --name baota -p 80:80 -p 443:443 -p 888:888 -p 8888:8888 --privileged=true -v /home/docker-www:/www bt /sbin/init
解压www.tar.gz, tar -zxvf www.tar.gz -C /
DOCKER启动 docker start baota
进入容器 docker exec -it baota /bin/bash
宝塔启动命令行 /etc/init.d/bt start
关闭docker自身防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service