Docker初尝

Docker+Selenium grid2

本文仅涉及Docker,Selenium grid2后续会更~

Docker+Selenium grid2

Dockerfile:可以移植的镜像

后台运行:

1
docker run -d -p 4000:80 friendlyhello

退出:

1
2
3
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED
1fa4ab2cf395 friendlyhello "python app.py" 28 seconds ago
1
docker container stop 1fa4ab2cf395

registry是repositories的集合,一个repository是images的集合

安装或更新 Docker-compose:

1
2
curl -L https://github.com/docker/compose/releases/download/1.23.0-rc3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

service定义了what ports it should use, how many replicas of the container should run so the service has the capacity it needs,即应该使用哪些端口,应该运行多少个容器副本,以便服务具有所需的容量。

在docker平台上定义、运行和管理service:docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
version: "3"
services:
web:
# replace username/repo:tag with your name and image details
image: username/repo:tag
deploy:
#将该映像的5个实例作为名为web的服务运行,限制每个实例使用,最多10%的CPU(跨所有核心)和50MB的RAM。
replicas: 5
resources:
limits:
cpus: "0.1"
memory: 50M
#如果一个失败的话则立即重启容器
restart_policy:
condition: on-failure
#端口号和主机名
ports:
- "4000:80"
networks:
#指示Web容器通过称为webnet的负载平衡网络共享端口80。 (在内部,容器本身在短暂的端口发布到web的端口80.)
- webnet
#使用默认设置(负载平衡的覆盖网络)定义Webnet网络。
networks:
webnet:
1
2
3
4
5
6
[root@localhost ~]# docker stack deploy -c docker-compose.yml getstartedlab
Creating network getstartedlab_webnet
Creating service getstartedlab_web
[root@localhost ~]# docker service ls
ID NAME MODE REPLICAS IMAGE
47t9emb35zh0 getstartedlab_web replicated 5/5 nicezheng/get-started:part2

开启和离开:

1
2
3
4
5
6
#开启
docker swarm init
docker stack deploy -c docker-compose.yml getstartedlab
#离开
docker stack rm getstartedlab
docker swarm leave --force

Docker Swarm mode:

  • 在群集模式下初始化Docker引擎群集
  • 向swarm添加节点
  • 将应用程序服务部署到swarm
  • 一旦运行完毕,就可以管理swarm

安装Docker Machine:

1
2
3
base=https://github.com/docker/machine/releases/download/v0.14.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
sudo install /tmp/docker-machine /usr/local/bin/docker-machine

centos7 解除端口占用:

查看所有端口占用

netstat -tln

查看端口被哪个进程占用

lsof -i:端口号

杀死被占用端口

kill 进程ID(PID)

最小化安装虚拟机后出现:

1
ifconfig:command not found.

解决方法:

1
2
3
4
5
6
cd /etc/sysconfig/network-scripts
ls
vi ifcfg-e*
ONBOOT=yes
service network start
yum install net-tools

管理节点安装VirtualBox:

1
yum install VirtualBox-5.2

centos7安装Oracle Virtualbox

https://blog.csdn.net/m0_37904728/article/details/78601868