一、docker基本操作:
/ect/init.d/docker restart
systemctl restart docker 重启docker服务
1.容器
绑定 主机80端口 和 http容器 80端口,并在后台运行(TCP端口)
docker run -d -p 80:80 httpd
docker run -d -P httpd (随机映射)
docker run -d -p --name [容器命名] 127.0.0.1:5001:5000 training/webapp python app.py
绑定udp端口
docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
容器改名
docker rename [旧名] [新名]
查看所有容器
docker pa -a
停止容器
docker stop [容器ID]
开始容器
docker start [容器ID]
重启容器
docker restart [容器ID]
以bash命令进入容器
docker exec -it [容器ID] /bin/bash
查看容器端口映射
docker port [容器ID]
删除容器
docker rm -rf [容器ID]
查看容器内进程情况
docker top [容器ID]
查看容器配置和状态情况
docker inspect [容器ID]
查看容器内部输出(标准输出)
docker logs -f [容器ID]
2.镜像
查看本地镜像
docker images
使用镜像运行容器
docker run -t -i ubuntu:15.10 /bin/bash
-i 交互式操作
-t 终端
/bin/bash 交互方式为shell
获取镜像
docker pull [镜像名]
查找镜像
docker search [镜像名]
删除镜像
docker rmi [镜像名]
提交镜像
docker commit -m="information" -a="creater" [容器ID] [指定镜像名]
构建镜像
cat Dockerfile
docker bulid
(https://www.runoob.com/docker/docker-image-usage.html)
设置镜像标签
docker tag [镜像名] [标签名]
二、一个节点上创建两个docker容器并实现互ping成功:
非互联(IP通信)
1.通过以下命令创建两个服务器容器,并在后台运行
sudo docker run -d -p 32768:5000 training/webapp python app.py
sudo docker run -d -p 32769:5000 training/webapp python app.py
2.查看所有容器情况
sudo docker ps -a
3.查看单个容器配置(ipaddress)
sudo docker inspect [容器ID]
4.进入容器
sudo docker exec -it [容器ID] /bin/bash
5.ping 另一个容器ip即可
互联(Docker DNS Server 必须自建网络)
1.新建docker网络
docker network create -d bridge test-net(-d bridge和 overlay 用于 Swarm mode)
2.运行容器并连接网络
docker run -itd --name test1 --network test-net ubuntu /bin/bash
3.安装ping命令
apt-get update
apt install iputils-ping
4.进入一台服务器
docker exec -it test1 /bin/bash
5.ping 另一个容器name即可
指定容器dns
docker run -it --rm -h host_ubuntu --dns=114.114.114.114 --dns-search=test.com ubuntu
三、docker仓库
登陆
docker login
推送镜像的时候镜像标签要进行更改
docker tag [镜像名] [账户名]/[镜像名]([:tagID])
推送镜像到docker hub
docker push [账户名]/[镜像名]([:tagID])
查找推送的镜像
docker search [账户名]/[镜像名]
4534f56d-c34d-4a95-af22-f98af41c66b0
四、docker compose (多容器)
安装
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
修改为可执行
sudo chmod +x /usr/local/bin/docker-compose
写好docker-compose.yml和Dockerfile
五、Dockerfile
FROM [OS]
RUN [Shell] &&[Shell]
....
(使用&&减少镜像的层数,防止镜像膨胀过大)
docker build -t [iname]:[tag] [path]
docker bulid -t testimage:v1.0 .