Docker学习2021.07

Docker架构图

Docker架构参考资料

一、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 .

你可能感兴趣的:(Docker学习2021.07)