Centos + docker,Ubuntu + docker介绍安装及详细使用
docker笔记
常用命令
设置docker开机自启:sudo chkconfig docker on
查所有镜像: docker images
删除某个镜像:docker rmi CONTAINER ID(容器ID)
删除所有镜像:docker rmi $(docker images -q)
打开/关闭/重启docker服务: sudo service docker start/stop/restart
查看正在运行的容器: docker ps
查看所有安装的容器: docker ps -a
启动某个容器: sudo docker start CONTAINER ID(容器ID)
停止某个容器: sudo docker stop CONTAINER ID(容器ID)
停止所有容器:docker stop $(docker ps -a -q)
删除某个容器: sudo docker rm CONTAINER ID(容器ID)
删除所有容器:docker rm $(docker ps -a -q)
docker镜像提速:curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://fe8a7d6e.m.daocloud.io
什么是docker?
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
介绍:
比如你当前是Ubuntu,服务器用的是CentOS,那么此时你要把项目部署到服务器上,可能在环境的配置上就要花费不少的时间了。又或者比如你用的MySQL,放在以前每次重装一次系统或者换一个环境,你就要把你的环境重装一次,东西越多花费的时间越多。
而使用Docker,你只需要一条命令,你就可以在你的Ubuntu上再运行一个“新的环境”,你需要MySQL,那就安装一个带MySQL的镜像, 然后启动一个容器。 你需要Redis,那就安装一个带Redis的镜像, 然后启动一个容器。
你也可以在别人的基础之上,对容器进行修改后,比如添加了一些你自己的软件或修改配置文件,然后再commit,这样你就把这个容器制作成了一个镜像,以后你可以用这个镜像创建出N个一模一样的容器。
Docker的三大核心概念:镜像、容器、仓库
也可参考转载链接详解1
也可参考转载链接详解2
Ubuntu Docker 安装
对于目前查找资料来看ubuntu中使用docker更简单坑少一些,资源更广
Docker 支持以下的 Ubuntu 版本:
Ubuntu Precise 12.04 (LTS)
Ubuntu Trusty 14.04 (LTS)
Ubuntu Wily 15.10
或其他更新的版本……
前提条件
Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker。
通过 uname -r 命令查看你当前的内核版本
[admin@ ~] uname -r
以下出现的所有“//”均代表备注
切换到root权限或者用sudo命令
如已安装其它版本可先行删除
1、[admin@ ~] sudo docker version // 查看版本
如已存在旧版本可选择删除
2、[admin@ ~] sudo apt-get remove docker docker-engine docker.io // 删除
Removed:
container-selinux.noarch 2:2.42-1.gitad8f0f7.el7 docker.x86_64 2:1.13.1-53.git774336d.el7.centos docker-client.x86_64 2:1.13.1-53.git774336d.el7.centos
docker-common.x86_64 2:1.13.1-53.git774336d.el7.centos
Complete!
如须安装执行以下步骤
设置仓库
1、更新 apt 包索引:
[admin@ ~] sudo apt-get update
2、安装软件包,使它允许apt通过HTTPS使用仓库:
[admin@ ~] sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
3、添加Docker的官方GPG密钥:
[admin@ ~] curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
通过搜索密钥的最后8个字符,确认您现在已经拥有指纹 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
的密钥
[admin@ ~] sudo apt-key fingerprint 0EBFCD88
pub 4096R/0EBFCD88 2017-02-22
密钥指纹 = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb) <docker@docker.com>
sub 4096R/F273FCD8 2018-08-08
4、使用以下命令来设置 stable 的仓库。即使你想从 __edge __ 或 test 仓库安装构建,也总是需要 stable 的仓库。要添加 __edge __ 或 test 仓库,请在下面的命令中在单词stable之后添加edge或test(或两者)。
[admin@ ~] sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
注意:
上面的lsb_release -cs子命令返回你的Ubuntu发行版的名字,比如xenial。
安装Docker CE
1、更新 apt 包索引:
[admin@ ~] sudo apt-get update
2、安装最新版本有 Dcoker CE
[admin@ ~] sudo apt-get install docker-ce
3、在生产系统上,您应该安装特定版本的Docker CE,而不是始终使用最新版本。下面命令列出可用的版本
[admin@ ~] apt-cache madison docker-ce
docker-ce | 17.12.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.09.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.09.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.06.2~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.06.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.06.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.03.2~ce-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
安装指定的版本:
[admin@ ~] sudo apt-get install docker-ce=<VERSION>
安装完成后有个提示:
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker runoob
Remember that you will have to log out and back in for this to take effect!
当要以非root用户可以直接运行docker时,需要执行 sudo usermod -aG docker runoob 命令,然后重新登陆,否则会有如下报错
4、通过运行hello-world 镜像验证Docker CE是否正确安装。
[admin@ ~] sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:66ef312bbac49c39a89aa9bcc3cb4f3c9e7de3788c944158df3ee0176d32b751
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://cloud.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/
设置开机自启:sudo chkconfig docker on
卸载Docker CE
卸载Docker CE软件包:
[admin@ ~] sudo apt-get purge docker-ce
#不会自动删除主机上的图像,容器,卷或自定义配置文件。删除所有图像,容器和卷:
[admin@ ~] sudo rm -rf /var/lib/docker
您必须手动删除任何已编辑的配置文件。
其它
查看 Docker 版本:
[admin@ ~] sudo docker version
显示 Docker 系统信息,包括镜像和容器数:
[admin@ ~] sudo docker info
Containers: 7
Running: 0
Paused: 0
Stopped: 7
Images: 2
Server Version: 17.12.0-ce
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 20
......... #此处省略部分
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: No swap limit support
CentOS Docker 安装
Docker支持以下的CentOS版本:
CentOS 7 (64-bit)
CentOS 6.5 (64-bit) 或更高的版本
前提条件
目前,CentOS 仅发行版本中的内核支持 Docker。
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
[admin@ ~] uname -r //查看内核版本
卸载旧版本
老版本的Docker被称为docker或docker-engine。如果安装了它们,请卸载它们以及相关的依赖项。
[admin@ ~] sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
如果yum报告说没有安装这些软件包,那就跳过这一步
执行上面卸载操作,/var/lib/docker/包括图像,容器,卷和网络的内容将被保留。
设置存储库
首次在新主机上安装Docker CE之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker
1、安装所需的包。yum-utils提供了yum-config-manager 效用,并device-mapper-persistent-data和lvm2由需要 devicemapper存储驱动程序
[admin@ ~] sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
2、使用以下命令设置稳定的存储库。即使您想从边缘或测试存储库安装构建,也总是需要稳定的存储 库。
[admin@ ~] sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
结果:
[root@VM_0_13_centos ~]# sudo yum-config-manager \
> --add-repo \
> https://download.docker.com/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror, langpacks
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
3、可选:启用边缘和测试存储库。这些存储库包含在docker.repo上面的文件中,但默认情况下处于禁用状态。您可以将它们与稳定的存储库一起启用。
[admin@ ~] sudo yum-config-manager --enable docker-ce-edge
[admin@ ~] sudo yum-config-manager --enable docker-ce-test
您可以通过使用该标志运行命令来禁用边缘或测试存储库 。要重新启用它,请使用标志。以下命令禁用边缘存储库。yum-config-manager–disable–enable
[admin@ ~] sudo yum-config-manager --disable docker-ce-edge
安装DOCKER CE
1、安装最新版本的Docker CE,或者转到下一步安装特定版本:
[admin@ ~] sudo yum install docker-ce #会出现下载和指纹确认 ,y即可
安装指定版本
[admin@ ~] yum list docker-ce --showduplicates | sort -r
.....
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
Available Packages
安装指定版本
[admin@ ~] sudo yum install docker-ce-<VERSION STRING>
2、启动Docker。
[admin@ ~] sudo systemctl start docker
3、docker通过运行hello-world 映像验证安装是否正确。
[admin@ ~] sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/
设置开机自启:sudo chkconfig docker on
卸载Docker CE
卸载Docker包:
[admin@ ~] sudo yum remove docker-ce
不会自动删除主机上的图像,容器,卷或自定义配置文件。删除所有图像,容器和卷:
[admin@ ~] sudo rm -rf /var/lib/docker
您必须手动删除任何已编辑的配置文件。
以下所有命令均在centos7上执行并记录
docker使用
Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。
输出Hello world
第一次使用会自动拉取镜像根据网络等待时间可能延长
[root@ ~] docker run ubuntu:15.10 /bin/echo “Hello world”
结果:Hello world
eg:通常我们使用Docker的时候都是使用的root,官方说法如下
The docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can access it with sudo. For this reason, docker daemon always runs as the root user.
To avoid having to use sudo when you use the docker command, create a Unix group called docker and add users to it. When the docker daemon starts, it makes the ownership of the Unix socket read/writable by the docker group.
使用非root用不能执行:
解决办法:
1、创建docker用户组
[admin@ ~] sudo groupadd docker
2、将当前用户加入docker组
[admin@ ~] sudo gpasswd -a ${USER} docker
3、重启docker
[admin@ ~] sudo service docker restart
4、如使用普通用户还是不能执行,可尝试使用root用户修改docker.sock权限再试
[root@ ~] sudo chmod a+rw /var/run/docker.sock
再次执行
[admin@ ~] docker run ubuntu:15.10 /bin/echo “Hello world”
以上命令是输出一个 “Hello World”,之后终止容器。
[root@localhost ~]# sudo docker images //查看所有镜像
如果没设置docker开机自启,重启后你可能遇到如下错误,出现了如下错误:
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
示意图:
可以看到如果不启动docker不能进入打开容器等操作
设置开机启动方法:
[root@localhost ~]# systemctl enable docker
[root@localhost ~]# shutdown -r now //重新启动
[root@localhost ~]# systemctl status docker //查看是否启动状态
镜像
查看镜像
列出本地镜像:
[admin@ ~] sudo docker images
在列出信息中,可以看到几个字段信息:
REPOSITORY:来自于哪个仓库,比如 ubuntu
TAG:镜像的标记,比如 14.04
IMAGE ID:它的 ID 号(唯一)
CREATED:创建时间
SIZE:镜像大小
获取镜像
可以使用docker pull 命令来从仓库获取所需要的镜像。搜索 “ubuntu” 镜像。
[admin@ ~] sudo docker pull ubuntu //你可能会超时,那可以尝试下面的方法
该命令实际上相当于 $ docker pull registry.hub.docker.com/ubuntu 命令,即从注册服务器registry.hub.docker.com中的 ubuntu仓库来下载的镜像。
官方的Docker hub 比较慢
超时或缓慢解决办法:
新版的 Docker 使用 /etc/docker/daemon.json,来配置 Daemon,可加快速度。
[root@ docker]# cd /etc/docker/
[root@ docker]# ls //查看当前文件是否有daemon.json文件没有就创建一个
有可能你不能更改这个文件的内容:
[root@ docker]# chmod -R a+w daemon.json //添加写入权限,需要root用户登录
[root@ docker]# vi daemon.json
在此文件夹中加入:
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
上面加入的是中国科学技术大学(LUG@USTC)的开源镜像
然后重启docker
[root@ docker] service docker restart
保存后再次尝试
[admin@ ~] sudo docker pull ubuntu
如果还是不行应该是这个开源镜像已经不可用了,找找度娘吧~
docker容器
启动容器
启动容器有两种方式,一种是基于镜像新建一个容器并启动, 另外一个是将在终止状态(stopped)的容器重新启动。
通过docker run 命令来启动容器。
查看运行帮助:
[admin@ ~] sudo docker run --help
下面的命令输出一个 “Hello World”,之后终止容器。
[admin@ ~] sudo docker run ubuntu /bin/echo “hello world”
hello world
这跟在本地直接执行 /bin/echo 'hello world’几乎感觉不出任何区别。只不过,这里的输入是由通过 ubuntu 容器执行。
进入容器
[admin@ ~] sudo docker run -t -i ubuntu /bin/bash
-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上。
-i 则让容器的标准输入保持打开。
此时,你已经在ubuntu容器中了。这是一个独立的ubuntu 系统。通过 root@2c9d47a4d84f 标识可以看出。
当利用docker run 来创建容器时,Docker在后台运行的标准操作包括:
检查本地是否存在指定的镜像(如上面的ubuntu),不存在就从公有仓库下载
利用镜像创建并启动一个容器
分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
从地址池配置一个IP地址给容器
执行用户指定的应用程序
执行完毕后容器被终止
退出容器,可以使用exit命令。
[admin@ ~] exit
也可以使用Ctrl+D
守护状态运行
更多的时候,需要让 Docker容器在后台以守护态(Daemonized)形式运行。
[admin@ ~] sudo docker run -d ubuntu /bin/echo “hello docker”
-d 表示容器以守护态(Daemonized)形式运行。
查看容器
docker ps命令详解
通过 docker ps 命令查看当前运行的所有容器。
[admin@ ~] sudo docker ps -a //查看所有容器包括未运行的
获取容器的输出信息
通过docker logs命令。
[admin@ ~] sudo docker logs musing_golick
hello docker
[admin@ ~] sudo docker logs 839fee657bfe
hello docker
musing_golick 为容器的 NAMES , 839fee657bfe 为容器的ID。通过 docker ps -a 命令查看。
停止容器
可以使用docker stop来终止一个运行中的容器。
[admin@ ~] sudo docker stop 839fee657bfe //839fee657bfe为容器有 ID
重动容器
可以使用docker start 重动容器。
[admin@ ~] sudo docker start 839fee657bfe //839fee657bfe为容器有 ID
删除容器
通过 docker rm 删除指定的容器。
[admin@ ~] sudo docker rm 839fee657bfe //839fee657bfe为容器有 ID
Docker 仓库
仓库
仓库可以被认为是一个具体的项目或目录。例如对于仓库地址 registry.hub.docker.com/ubuntu 来说,registry.hub.docker.com是注册服务器地址,ubuntu是仓库名。大部分时候,并不需要严格区分这两者的概念。
Docker Hub
目前Docker官方维护了一个公共仓库 Docker Hub:https://hub.docker.com
我们可以在Docker Hub上完成注册。这样就可以使用Docker Hub 来托管我们的镜像了。
通过docker search命令来查找官方仓库中的镜像,并利用docker pull 命令来将它下载到本地。
[admin@ ~] sudo docker search ubuntu
使用国内镜像
参考地址:https://www.docker-cn.com/registry-mirror
临时性的使用:
[admin@ ~] sudo docker pull registry.docker-cn.com/library/ubuntu:16.04
永久性的使用:
修改 /etc/docker/key.json 文件并添加上 registry-mirrors 键值。
{
“registry-mirrors”: [“https://registry.docker-cn.com”]
}
修改保存后重启Docker服务以使配置生效。
[admin@ ~] sudo service docker restart
创建nginx镜像
获取Nginx镜像
最简单的方法就是通过 docker pull nginx 命令来创建 Nginx容器。
[admin@ ~] sudo docker pull nginx
或者:
[admin@ ~] sudo docker pull registry.docker-cn.com/library/nginx
其中 registry.docker-cn.com 为国内的官方镜像仓库,速度要好很多,不过对于我们前面添加了中国科学技术大学(LUG@USTC)的开源镜像sudo docker pull nginx命令也没什么影响。
启动Nginx容器
先查看镜像我们是否真的拉取了:
[admin@ ~] sudo docker images
启动 nginx 容器
[admin@ ~]sudo docker run --name some-nginx -d -p 8080:80 registry.docker-cn.com/library/nginx
-name: 指定启动容器的名称为 some-nginx。
-d: 让Docker容器在后台以守护态(Daemonized)形式运行。
-d: 将容器的80端口映射到主机的8080端口
registry.docker-cn.com/library/nginx: 为启动容器的镜像。
访问Nginx服务器
处理过程: 浏览器 –> ubuntu(8080) –> Nginx容器(80)
使用浏览器访问Nginx服务器,如当前服务器ip为 :192.168.1.104 //ifconfig查看
那我们在浏览器中输入http://192.168.1.104:8080/我们就会看到以下界面
备注:这里只是介绍如何把一个Nginx容器运行起来,然后,Nginx本身只是一个中间件,通过它来运行不同的Web项目才会真的有价值。
创建docker selenium容器
Selenium
这里主要针对的是 Selenium Grid,它用于分布式自动化测试,就是一套Selenium 代码可在不同的环境上运行。刚好,Docker可快速的创建各种环境。
Selenium Grid 有两个概念
hub :主节点,你可以看作 “北京总公司的测试经理”。
node:分支节点,你可以看作 “北京总公司的测试小兵A” 和 “上海分公司的测试小兵B”,还有 “深圳分公司的测试小兵C” …。
也就是说在Selenium Grid中只能有一个主hub,但可以在本地或远程建立 N 多个分支node,测试脚本指向主hub,由主hub 分配给本地/远程node 运行测试用例。
docker selenium 环境安装
docker hub(仓库):
https://hub.docker.com/r/selenium/hub/
1、下载主hub镜像(北京总公司的测试经理)
[admin@ ~] sudo docker pull selenium/hub
2、下载主node chrome 镜像(上海分公司的测试小兵B)
[admin@ ~] sudo docker pull selenium/node-chrome
3、查看镜像
[admin@ ~] sudo docker images
4、启动主hub容器
[admin@ ~] sudo docker run -d -P --name selenium-hub selenium/hub
-d 表示容器以守护态(Daemonized)形式运行。
-P 表示 Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口。
5、启动分支node chrome 容器
[admin@ ~] sudo docker run -d --link selenium-hub:hub selenium/node-chrome
–link 通过 link 关联 selenium-hub 容器,并为其设置了别名hub
6、查看容器
[admin@ ~] sudo docker images
我们可以看到前面添加的容器已经存在了
然后可以通过 docker ps 命令查看当前运行的所有容器,来查看前面两个容器的端口号(ubuntu使用sudo docker images命令就可以看到了)而centos要下面的命令才能看到。
[admin@ ~] sudo docker ps -a //查看运行的所有容器
0.0.0.0:32768->4444/tcp
这里需要注意,Selenium/hub 容器的端口号为 4444,对Ubuntu映射的端口为 32768,前面通过 -P 参数自动分配。
工作原理:
selenium Grid脚本 -> ubuntu(32768) -> Hub容器(4444) -> Node Chrome 容器
创建Grid测试脚本与运行
1、编写Selenium Grid 脚本(grid_demo.py)
from selenium import webdriver
from time import sleep
driver = webdriver.Remote(
command_executor='http://127.0.0.1:32768/wd/hub',
desired_capabilities={'browserName': 'chrome'}
)
driver.get('https://www.baidu.com')
print("get baidu")
driver.find_element_by_id("kw").send_keys("docker selenium")
driver.find_element_by_id("su").click()
sleep(1)
driver.get_screenshot_as_file("/home/fnngj/mypro/baidu_img.png")
driver.quit()
print("end...")
注意:访问的端口号和浏览器,因为我们只启动了node chrome容器,如果这里设置Friefox的话,需要你启动 node firefox 容器,hub找不到合适的node会报错。
另外,我们为了验证脚本是否真的执行加上了打印和截图。
2、运行脚本
[admin@ ~] python3 grid_demo.py
成功显示执行结果
执行中可能出现的问题
没有python3?selenium?可参考我的另一篇博客
先写这么多了后续深入时再写吧,感谢阅读
安装Mysql
centos实战
1、获取centos镜像
[root@VM_0_13_centos ~]# docker pull centos #获取centos镜像
2、确认镜像是否ok
[root@VM_0_13_centos ~]# docker images #查看所有镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 49f7960eb7e4 8 hours ago 200MB
ubuntu latest 452a96d81c30 5 weeks ago 79.6MB
hello-world latest e38bc07ac18e 7 weeks ago 1.85kB
2、运行centos镜像
[root@VM_0_13_centos ~]# docker run -d -i -t 49f7960eb7e4 /bin/bash #运行centos镜像
c8fd9560e87fef4a36e3d92856467f76a5924b39253bedc1ddf2530bc7b18f7e
[root@VM_0_13_centos ~]# docker ps #查看正在运行的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c8fd9560e87f 49f7960eb7e4 "/bin/bash" 13 seconds ago Up 12 seconds reverent_shaw
3、进入容器
[root@VM_0_13_centos ~]# docker attach c8fd9560e87f
[root@c8fd9560e87f /]# pwd
/
4、退出
exit 或 CTRL+P+Q
exit:退出并停止centos
CTRL+P+Q:不会停止
以上3个步骤就ok了进去随便捣鼓,exit退出,玩坏了删掉重来一个
Centos + docker,Ubuntu + docker介绍安装及详细使用的更多相关文章
- CentOS和Ubuntu系统下安装 HttpFS (助推Hue部署搭建)
不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...
- CentOS和Ubuntu系统下安装vsftp(助推大数据部署搭建)
不多说,直接上干货! 同时,声明,我这里安装的vsftp,仅仅只为我的大数据着想,关于网上的复杂安装,那是服务和运维那块.我不多牵扯,也不多赘述. 一.CentOS系统里安装vsftp 第一步:使用y ...
- Ubuntu 12.04安装教程详细步骤(图解)
1.选择你所想要的语言,如图. 2.选择安装Ubuntu(I). 3.进入Ubuntu安装等待 4.设置处理器信息 5.同意选择的语言 6.配置键盘信息 7.键盘布局选择汉语 8.配置键盘选择汉语 9 ...
- Ubuntu 16.4 安装anaconda 详细教程
下载 官方下载地址:https://www.continuum.io/downloads 所有安装包地址:https://repo.continuum.io/archive/ 这里使用 Python ...
- 【Linux】centos和ubuntu下php5安装redis2.24扩展
1.服务器先安装redis-server,这是毋庸置疑的!!! 2.服务器开启redis-server,配置相关参数 3.配置好redis服务器后,再安装php的redis扩展phpredis. 一. ...
- centos或ubuntu下手动安装jdk8
https://blog.csdn.net/pang_ping/article/details/80570011 https://blog.csdn.net/u012707739/article/de ...
- 5.云原生之Docker容器网络介绍与实践
转载自:https://www.bilibili.com/read/cv15185166/?from=readlist 例如, 当在一台未经过特殊网络配置的centos 或 ubuntu机器上安装完d ...
- 转:CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP)环境
CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP) 今天遇到一个网友提到需要在Linux VPS服务器中安装LAMP(Apache/MySQL/PHP)网站环 ...
- Docker版本与centos和ubuntu环境下docker安装介绍
# Docker版本与安装介绍 * Docker-CE 和 Docker-EE * Centos 上安装 Docker-CE * Ubuntu 上安装 Docker-CE ## Docker-CE和D ...
随机推荐
- js 一个对象的属性名是一个变量怎么处理?
1.这种方法的属性(setAttrName)可以是一个变量. var obj = {}; obj[setAttrName] = 'Tom' 2.这样就可以动态的给js对象添加变量属性. var obj ...
- WPF C# int.TryParse的用法
; if (!int.TryParse(item.Tag.ToString(), out comld)) { continue; } 没转换成功就continue 开始写成 if(GetNumber( ...
- Spring Aware接口
实现aware接口的bean必须在spring的xml文件中注册,由spring的IOC容器管理 1-ApplicationContextAware接口 可以获取spring的IOC容器 2-Bean ...
- 【转】python3解析库lxml
转自:http://www.cnblogs.com/zhangxinqi/p/9210211.html 阅读目录 1.python库lxml的安装 2.XPath常用规则 (1)读取文本解析节点 (2 ...
- 【转】python模块分析之unittest测试(五)
[转]python模块分析之unittest测试(五) 系列文章 python模块分析之random(一) python模块分析之hashlib加密(二) python模块分析之typing(三) p ...
- 利用crash 分析软死锁问题【转】
转自:https://blog.csdn.net/divlee130/article/details/47806551 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog. ...
- ASP.NET WEBAPI 使用Swagger生成API文档
一.安装 新建一个没有身份验证的mvc项目 - SwaggerMvc5Demo,然后添加一个名为Remote(自定义)且包含基础读写(不想手写)的ApiController 开源地址:https: ...
- BZOJ2038 [2009国家集训队]小Z的袜子 莫队+分块
作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…… 具体来说,小Z把这N只袜子从1到N编号,然后从 ...
- corba/ice/web service/com+
//todo model1 model2
- [C]关于extern与struct
问题 我曾经很困惑,就是在两个编译单元当中,如何把一个单元中声明的struct结构引入到另外一个单元中来,折腾了很久,后来发现这位大神的留言 不是这么用的…… 类型的定义和类型变量的定义不同,类型定义 ...