1. 程式人生 > >Centos + docker,Ubuntu + docker介紹安裝及詳細使用

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?

Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從Apache2.0協議開源。
Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。
容器是完全使用沙箱機制,相互之間不會有任何介面(類似 iPhone 的 app),更重要的是容器效能開銷極低。
介紹:
比如你當前是Ubuntu,伺服器用的是CentOS,那麼此時你要把專案部署到伺服器上,可能在環境的配置上就要花費不少的時間了。又或者比如你用的MySQL,放在以前每次重灌一次系統或者換一個環境,你就要把你的環境重灌一次,東西越多花費的時間越多。
而使用Docker,你只需要一條命令,你就可以在你的Ubuntu上再執行一個“新的環境”,你需要MySQL,那就安裝一個帶MySQL的映象, 然後啟動一個容器。 你需要Redis,那就安裝一個帶Redis的映象, 然後啟動一個容器。
你也可以在別人的基礎之上,對容器進行修改後,比如添加了一些你自己的軟體或修改配置檔案,然後再commit,這樣你就把這個容器製作成了一個映象,以後你可以用這個映象創建出N個一模一樣的容器。

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 命令檢視你當前的核心版本
[[email protected] ~] uname -r

以下出現的所有“//”均代表備註

切換到root許可權或者用sudo命令
如已安裝其它版本可先行刪除

1、[[email protected] ~] sudo docker version // 檢視版本

如已存在舊版本可選擇刪除
2、[[email protected] ~] 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 包索引:

[[email protected] ~] sudo apt-get update

2、安裝軟體包,使它允許apt通過HTTPS使用倉庫:

[[email protected] ~] sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

3、新增Docker的官方GPG金鑰:

通過搜尋金鑰的最後8個字元,確認您現在已經擁有指紋 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88的金鑰

[[email protected] ~] 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) <[email protected]>
sub   4096R/F273FCD8 2018-08-08

4、使用以下命令來設定 stable 的倉庫。即使你想從 __edge __ 或 test 倉庫安裝構建,也總是需要 stable 的倉庫。要新增 __edge __ 或 test 倉庫,請在下面的命令中在單詞stable之後新增edge或test(或兩者)。

[[email protected] ~] 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 包索引:

[[email protected] ~] sudo apt-get update

2、安裝最新版本有 Dcoker CE

[[email protected] ~] sudo apt-get install docker-ce

3、在生產系統上,您應該安裝特定版本的Docker CE,而不是始終使用最新版本。下面命令列出可用的版本

[[email protected] ~] 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

安裝指定的版本:

[[email protected] ~] 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是否正確安裝。

[[email protected] ~] 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軟體包:

[[email protected] ~] sudo apt-get purge docker-ce
#不會自動刪除主機上的影象,容器,卷或自定義配置檔案。刪除所有影象,容器和卷:
[[email protected] ~] sudo rm -rf /var/lib/docker
您必須手動刪除任何已編輯的配置檔案。

其它

檢視 Docker 版本:

[[email protected] ~] sudo docker version

顯示 Docker 系統資訊,包括映象和容器數:

[[email protected] ~] 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 或者更高版本。

[[email protected] ~] uname -r //檢視核心版本

解除安裝舊版本
老版本的Docker被稱為docker或docker-engine。如果安裝了它們,請解除安裝它們以及相關的依賴項。

 [[email protected] ~] 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儲存驅動程式

[[email protected] ~] sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

2、使用以下命令設定穩定的儲存庫。即使您想從邊緣或測試儲存庫安裝構建,也總是需要穩定的儲存 庫。

[[email protected] ~] sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

結果:

[[email protected]_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上面的檔案中,但預設情況下處於禁用狀態。您可以將它們與穩定的儲存庫一起啟用。

[[email protected] ~] sudo yum-config-manager --enable docker-ce-edge
[[email protected] ~] sudo yum-config-manager --enable docker-ce-test

您可以通過使用該標誌執行命令來禁用邊緣或測試儲存庫 。要重新啟用它,請使用標誌。以下命令禁用邊緣儲存庫。yum-config-manager–disable–enable

[[email protected] ~] sudo yum-config-manager --disable docker-ce-edge

安裝DOCKER CE

1、安裝最新版本的Docker CE,或者轉到下一步安裝特定版本:

[[email protected] ~] sudo yum install docker-ce #會出現下載和指紋確認 ,y即可

安裝指定版本

[[email protected] ~] 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

安裝指定版本

[[email protected] ~] sudo yum install docker-ce-<VERSION STRING>

2、啟動Docker。

[[email protected] ~] sudo systemctl start docker

3、docker通過執行hello-world 映像驗證安裝是否正確。

[[email protected] ~]  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包:

[[email protected] ~] sudo yum remove docker-ce

不會自動刪除主機上的影象,容器,卷或自定義配置檔案。刪除所有影象,容器和卷:

[[email protected] ~] sudo rm -rf /var/lib/docker

您必須手動刪除任何已編輯的配置檔案。

以下所有命令均在centos7上執行並記錄

docker使用

Docker 允許你在容器內執行應用程式, 使用 docker run 命令來在容器內執行一個應用程式。

輸出Hello world

第一次使用會自動拉取映象根據網路等待時間可能延長

[[email protected] ~] 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使用者組

[[email protected] ~] sudo groupadd docker

2、將當前使用者加入docker組

[[email protected] ~] sudo gpasswd -a ${USER} docker

3、重啟docker

[[email protected] ~] sudo service docker restart

4、如使用普通使用者還是不能執行,可嘗試使用root使用者修改docker.sock許可權再試

[[email protected] ~] sudo chmod a+rw /var/run/docker.sock

再次執行

[[email protected] ~] docker run ubuntu:15.10 /bin/echo “Hello world”

以上命令是輸出一個 “Hello World”,之後終止容器。

[[email protected] ~]# sudo docker images //檢視所有映象

如果沒設定docker開機自啟,重啟後你可能遇到如下錯誤,出現瞭如下錯誤:
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
示意圖:

可以看到如果不啟動docker不能進入開啟容器等操作

設定開機啟動方法:

[[email protected] ~]# systemctl enable docker
[[email protected] ~]# shutdown -r now //重新啟動
[[email protected] ~]# systemctl status docker //檢視是否啟動狀態

映象

檢視映象
列出本地映象:

[[email protected] ~] sudo docker images

在列出資訊中,可以看到幾個欄位資訊:

REPOSITORY:來自於哪個倉庫,比如 ubuntu
TAG:映象的標記,比如 14.04
IMAGE ID:它的 ID 號(唯一)
CREATED:建立時間
SIZE:映象大小

獲取映象
可以使用docker pull 命令來從倉庫獲取所需要的映象。搜尋 “ubuntu” 映象。

[[email protected] ~] sudo docker pull ubuntu //你可能會超時,那可以嘗試下面的方法

該命令實際上相當於 $ docker pull registry.hub.docker.com/ubuntu 命令,即從註冊伺服器registry.hub.docker.com中的 ubuntu倉庫來下載的映象。

官方的Docker hub 比較慢
超時或緩慢解決辦法:
新版的 Docker 使用 /etc/docker/daemon.json,來配置 Daemon,可加快速度。

[[email protected] docker]# cd /etc/docker/
[[email protected] docker]# ls //檢視當前檔案是否有daemon.json檔案沒有就建立一個
有可能你不能更改這個檔案的內容:
[[email protected] docker]# chmod -R a+w daemon.json //新增寫入許可權,需要root使用者登入
[[email protected] docker]# vi daemon.json
在此資料夾中加入:

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}


上面加入的是中國科學技術大學([email protected])的開源映象

然後重啟docker

[[email protected] docker] service docker restart

儲存後再次嘗試

[[email protected] ~] sudo docker pull ubuntu
如果還是不行應該是這個開源映象已經不可用了,找找度娘吧~

docker容器

啟動容器

啟動容器有兩種方式,一種是基於映象新建一個容器並啟動, 另外一個是將在終止狀態(stopped)的容器重新啟動。

通過docker run 命令來啟動容器。
檢視執行幫助:

[[email protected] ~] sudo docker run --help

下面的命令輸出一個 “Hello World”,之後終止容器。

[[email protected] ~] sudo docker run ubuntu /bin/echo “hello world”
hello world
這跟在本地直接執行 /bin/echo 'hello world’幾乎感覺不出任何區別。只不過,這裡的輸入是由通過 ubuntu 容器執行。

進入容器

[[email protected] ~] sudo docker run -t -i ubuntu /bin/bash

-t 選項讓Docker分配一個偽終端(pseudo-tty)並繫結到容器的標準輸入上。

-i 則讓容器的標準輸入保持開啟。

此時,你已經在ubuntu容器中了。這是一個獨立的ubuntu 系統。通過 [email protected] 標識可以看出。

當利用docker run 來建立容器時,Docker在後臺執行的標準操作包括:

檢查本地是否存在指定的映象(如上面的ubuntu),不存在就從公有倉庫下載
利用映象建立並啟動一個容器
分配一個檔案系統,並在只讀的映象層外面掛載一層可讀寫層
從宿主主機配置的網橋介面中橋接一個虛擬介面到容器中去
從地址池配置一個IP地址給容器
執行使用者指定的應用程式
執行完畢後容器被終止

退出容器,可以使用exit命令。

[[email protected] ~] exit

也可以使用Ctrl+D

守護狀態執行
更多的時候,需要讓 Docker容器在後臺以守護態(Daemonized)形式執行。

[[email protected] ~] sudo docker run -d ubuntu /bin/echo “hello docker”

-d 表示容器以守護態(Daemonized)形式執行。

檢視容器
docker ps命令詳解
通過 docker ps 命令檢視當前執行的所有容器。

[[email protected] ~] sudo docker ps -a //檢視所有容器包括未執行的

獲取容器的輸出資訊
通過docker logs命令。

[[email protected] ~] sudo docker logs musing_golick
hello docker

[[email protected] ~] sudo docker logs 839fee657bfe
hello docker
musing_golick 為容器的 NAMES , 839fee657bfe 為容器的ID。通過 docker ps -a 命令檢視。

停止容器

可以使用docker stop來終止一個執行中的容器。

[[email protected] ~] sudo docker stop 839fee657bfe //839fee657bfe為容器有 ID

重動容器

可以使用docker start 重動容器。

[[email protected] ~] sudo docker start 839fee657bfe //839fee657bfe為容器有 ID

刪除容器

通過 docker rm 刪除指定的容器。

[[email protected] ~] 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 命令來將它下載到本地。

[[email protected] ~] sudo docker search ubuntu

使用國內映象

臨時性的使用:

永久性的使用:

修改 /etc/docker/key.json 檔案並新增上 registry-mirrors 鍵值。

{
“registry-mirrors”: [“https://registry.docker-cn.com”]
}
修改儲存後重啟Docker服務以使配置生效。

[[email protected] ~] sudo service docker restart

建立nginx映象

獲取Nginx映象

最簡單的方法就是通過 docker pull nginx 命令來建立 Nginx容器。

[[email protected] ~] sudo docker pull nginx
或者:

其中 registry.docker-cn.com 為國內的官方映象倉庫,速度要好很多,不過對於我們前面添加了中國科學技術大學([email protected])的開源映象sudo docker pull nginx命令也沒什麼影響。

啟動Nginx容器

先檢視映象我們是否真的拉取了:

[[email protected] ~] sudo docker images

啟動 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 執行測試用例。

[[email protected] ~] sudo docker pull selenium/hub

2、下載主node chrome 映象(上海分公司的測試小兵B)

[[email protected] ~] sudo docker pull selenium/node-chrome

3、檢視映象

[[email protected] ~] sudo docker images

4、啟動主hub容器

[[email protected] ~] sudo docker run -d -P --name selenium-hub selenium/hub

-d 表示容器以守護態(Daemonized)形式執行。
-P 表示 Docker 會隨機對映一個 49000~49900 的埠到內部容器開放的網路埠。

5、啟動分支node chrome 容器

[[email protected] ~] sudo docker run -d --link selenium-hub:hub selenium/node-chrome

–link 通過 link 關聯 selenium-hub 容器,併為其設定了別名hub

6、檢視容器

[[email protected] ~] sudo docker images

我們可以看到前面新增的容器已經存在了

然後可以通過 docker ps 命令檢視當前執行的所有容器,來檢視前面兩個容器的埠號(ubuntu使用sudo docker images命令就可以看到了)而centos要下面的命令才能看到。

[[email protected] ~] 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、執行指令碼

[[email protected] ~] python3 grid_demo.py
成功顯示執行結果

安裝Mysql

參考一
參考二

centos實戰

1、獲取centos映象

[[email protected]_0_13_centos ~]# docker pull centos #獲取centos映象

2、確認映象是否ok

[[email protected]_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映象

[[email protected]_0_13_centos ~]# docker run -d -i -t 49f7960eb7e4 /bin/bash #執行centos映象
c8fd9560e87fef4a36e3d92856467f76a5924b39253bedc1ddf2530bc7b18f7e
[[email protected]_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、進入容器

[[email protected]_0_13_centos ~]# docker attach c8fd9560e87f
[[email protected] /]# pwd
/

以上3個步驟就ok了進去隨便搗鼓,exit退出,玩壞了刪掉重來一個

相關推薦

Centos + docker,Ubuntu + docker介紹安裝詳細使用

docker筆記 常用命令 設定docker開機自啟:sudo chkconfig docker on 查所有映象: docker images 刪除某個映象:docker rmi CONTAINER ID(容器ID) 刪除所有映象:docker rmi $(d

docker常用鏡像安裝運行

str star etc edi bsp root work res localtime # redis## 下載鏡像> docker pull daocloud.io/daocloud/dao-redis:master-init ## 運行> docker

Docker-3:nginx安裝負載均衡

一、下載nginx映象: [[email protected] nginx]# docker images REPOSITORY TAG IMAGE ID CREATED

Docker-2:tomcat安裝釋出應用

環境:Centos7系統下     1、搜尋tomcat映象: docker search tomcat     2、下載tomcat映象: docker pull tomcat &

我們一起學docker之二:安裝配置、檔案講解

文章目錄 1.安裝docker環境 2.docker狀態查詢 3.服務啟動停止命令 4.docker虛擬網絡卡 5.docker配置檔案講解 6.docker 日誌檢視(基於docker服務)

Docker(二)安裝常用命令

1、安裝 1、安裝虛擬機器VMWare 連結:https://pan.baidu.com/s/1Xl7ENUm2gapPOFs-iXHpRQ 提取碼:eubm  2、下載centos,我下的是這個版本的 官網連結: http://isoredirect.centos.org/cento

GIT安裝詳細使用

gitLinux安裝Git及詳細使用Git是目前世界上最先進的分布式版本控制系統。Git的與SVN最主要的區別 ,Git是分布式版本控制系統,那麽它就沒有中央服務器的,每個人的電腦就是一個完整的版本庫,只需把各 自的修改推送給對方;SVN是集中式版本控制系統,版本庫是集中放在中央服務器的,集中式版本控制系統是

ubuntu下Pycharm安裝配置

字體大小 creat 配置 註冊 字體 spa tar.gz mark 註冊碼 1.從http://www.jetbrains.com/pycharm/download/下載最新的Pycharm tar xfz pycharm-*.tar.gz,將Pycharm文件夾解壓到

Ubuntu 18.04安裝後續需要安裝的軟件

客戶 ubuntu 指定版本 red 報錯 bin 解決 目前 conf 今天把筆記本安裝了單系統Ubuntu 18.04。因為是單系統,所以格外的好安裝,一直下一步下一步,也不知道後續會不會出問題。 百度了一下安裝完Ubuntu 18.04後續需要做的事件。 1.第一件事

ubuntu環境mosquitto安裝測試最大連線數

ubuntu環境mosquitto安裝及測試最大連線數 #!/bin/bash c=1 -d while [ $c -le 5000 ] do mosquitto_sub -d -t hexiang -k 900 & (( c++ )) done 檢視連線數 ne

centos下Jdk1.8的安裝配置

安裝之前,首先要確定centos是否集成了自帶的openjdk,如果有,我們先要刪除自帶的openjdk,具體步驟如下: 1)在系統終端輸入:rpm -qa|grep java,如果有openjdk的話,會出現類似於XXXX_openjdk_XXX的資訊; 2)

Ubuntu系統 Nginx安裝配置

首先,登入ubuntu系統 首先需安裝nginx依賴庫 1.安裝gcc g++的依賴庫 apt-get install build-essential apt-get install libtool 2.安裝pcre依賴庫 sudo apt-get update sudo apt

學習筆記(一)ubuntu必備軟體安裝主題優化

注:本文非標準教程,僅是總結個人學習過程,可能存在紕漏,如有錯誤之處歡迎留言告知,非常感謝 本機環境是ubuntu16.04 64位 終端中複製是ctrl+shift+C 貼上是ctrl+shift+V 一、主題優化: 1.超級好看的扁平化風格主題f

Ubuntu下gcc安裝使用

在Ubuntu下安裝GCC和其他一些Linux系統有點不一樣。 一、安裝 方法一:sudo apt-get build-dep gcc方法二:sudo apt-get install build-essential安裝完了可以執行如下的命令來檢視版本,gcc -

ubuntu 下rabbitMQ安裝配置遠端訪問web管理介面

#1 更新 apt-get update apt-get upgrade #2 安裝Erlang wget http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc apt-key add erla

CentOS 6.5 圖形介面安裝後續補充:

自己學習用的是字元介面,抱著學習的態度對它做了一次手術: 1. 初始版本為mini版,預設沒有聯網,對network進行配置: # vi /etc/sysconfig/network-scripts/

ubuntu下apktool安裝使用

apktool安裝 1.從官網下載 網址:https://code.google.com/p/android-apktool/downloads/list 或者我已經下載好的 apktool1.5.2.tar.bz2 linux系統下 apktool-install-l

Oracle ODBC驅動安裝詳細配置(不需安裝客戶端)

參考:http://wenku.baidu.com/link?url=plwO4UxEuwyi1VWHQpoKx1yIHCqzQjGYwBdo-pU5T4ocWDaFxGomn3vLGl141yuJErOw6lusuDEgS1nTzvLYy5LxIwjDOUldHBYQTi76jv7

ubuntu安裝使用docker

tar star 自己的 itl 保存 ont 打包 ash linux 關於Docker:   Docker 是一個開源項目,為開發者和系統管理員提供了一個開放的平臺,在任何地方通過打包和運行應用程序作為一個輕量級的容器。Docker 在軟件容器內自動部署應用程序。Doc

Centos環境docker的正確安裝疑難雜癥

文檔 出現 連接 targe daemon digest working bcg for 根據官方文檔:https://docs.docker.com/install/linux/docker-ce/centos/搭建docker 1.卸載docker舊版本: sudo