1. 程式人生 > 實用技巧 >二、Docker入門——容器(映象)的建立、執行

二、Docker入門——容器(映象)的建立、執行

容器的相關命令

一、建立互動式容器

docker run[option]--name=容器名稱映象名稱 [向啟動容器中傳入的命令] /bin/bash

常用引數說明

-i:表示建立並執行容器;

-t:表示容器啟動後會進入其命令列。通常於-i一起使用:-it表示建立並執行容器,且執行之後自動進入為當前應用開啟一個預設終端;

--name :為建立的容器命名;

-v 表示目錄對映關係(前者是宿主機目錄,後者是對映到宿主機上的目錄,即 宿主機目錄:容器中目錄),可以使 用多個-v 做多個目錄或檔案對映。注意:最好做目錄對映,在宿主機上做修改,然後 共享到容器上。

-d 在run後面加上-d引數,則會建立一個守護式容器在後臺執行(這樣建立容器後不 會自動登入容器,如果只加-i -t 兩個引數,建立後就會自動進去容器)。

-p 表示埠對映,前者是宿主機埠,後者是容器內的對映埠。可以使用多個-p 做多個埠對映

-e 為容器設定環境變數

--network=host 表示將主機的網路環境對映到容器中,容器的網路與主機相同

例如:

docker run -it --name=myRedis redis:latest /bin/bash 

  

如上圖所示,相當於我們在容器中顯示地運行了一臺redis。

@×××××就是該容器的ID。

我們可以通過輸入exit或者ctrl+D退出該容器,當我們退出之後,該互動式容器也會隨之停止!

二、建立守護式容器

建立一個守護式容器:如果對於一個需要長期執行的容器來說,我們可以建立一個守護式容器。在容器內部exit退出時,容器也不會停止。

docker run [option] --name=容器名稱映象名稱 [向啟動容器中傳入的命令] /bin/bash

  例如:(這裡已將之前建立的互動式容器刪除)

docker run -id --name=myRedis redis:latest /bin/bash

  建立完成後,通過以下的命令進入該容器

docker exec -it 容器名稱或容器的ID /bin/bash

  

如圖所示,我們就進入了該容器。

三、容器的其他操作命令

1、檢視容器

docker ps #檢視正在執行的容器
docker pa -a #檢視所有的容器

2、啟動和停止容器

docker stop 容器的名稱或者ID
docker start 容器的名稱或者ID

3、刪除容器

刪除容器之前要先停止該容器

docker rm 容器的名稱或者ID

4、拷貝檔案

docker cp 需要拷貝的檔案或目錄容器名稱:容器目錄->把宿主機的檔案拷貝到容器裡
docker cp 容器名稱:容器目錄需要拷貝的檔案或目錄->從容器中拷貝檔案到宿主機

5、目錄的對映

我們可以在建立容器的時候通過-v引數,將宿主機的目錄檔案與容器內的目錄檔案進行對映,這樣我們就可以通過修改宿主機目錄檔案從而去影響容器。

格式:建立容器 –v 宿主機的目錄:容器的目錄

如:docker run -id -v/usr/local/dunm.rdb:/data/dunm.rdb --name=myRedis redis:latest

  ps(如果你共享的是多級的目錄,可能會出現許可權不足的提示。這是因為CentOS7中的安全模組selinux把許可權禁掉了,我們可以新增引數--privileged=true來解決對映目錄沒有許可權的問題)

6、檢視容器的資料

docker inspect 容器名稱(容器ID)

  輸出的資訊很多,如下圖所示的是容器的埠和IP地址。

MySQL的部署

1、拉取MySQL映象

docker pull centos/mysql-57-centos7

可以看到MySQL映象已經下載好了

2、通過下載好的映象建立容器(守護式)

docker run -di --name=docker_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root centos/mysql-57-centos7

注意:

-p前面的埠是宿主機的埠,後面的是容器內部MySQL的預設埠。宿主機的埠可以任意,只是用來對映容器內部的MySQL的,不過通常都是寫成一致的。

-e表示新增容器的環境變數,MYSQL_ROOT_PASSWORD引數表示登入MySQL的root使用者的密碼。

可以由上圖中看出我們建立的容器已經啟動。

3、連線MySQL容器

連線的名稱隨便起;主機名填宿主機的IP地址;埠是宿主機對映容器的埠,即冒號前面的埠;使用配置的root使用者和密碼。

點選連線後可以看到成功建立了一個新的連線。

如果你想在其它機器上使用這個MySQL容器,只需要複製執行即可!

參考https://mp.weixin.qq.com/s/5HK1khkGcTgsH8vKtrR4Pg

參考https://www.cnblogs.com/blog-rui/p/11244023.html