docker初戰

雖然已經安裝了docker好久了,但在之前都沒有認真的去學習使用過,只是大概的瞭解了一下原理就放下無論了,在本週的項目中,潘老師要求咱們使用docker來使用數據庫,趁此機會,總算是成功的掌握了docker的基本用法。mysql

什麼是docker
Docker 屬於 Linux 容器的一種封裝,提供簡單易用的容器使用接口。它是目前最流行的 Linux 容器解決方案。
Docker 將應用程序與該程序的依賴,打包在一個文件裏面。運行這個文件,就會生成一個虛擬容器。
程序在這個虛擬容器裏運行,就好像在真實的物理機上運行同樣。有了 Docker,就不用擔憂環境問題。linux

整體來講,Docker 的接口至關簡單,用戶能夠方便地建立和使用容器,把本身的應用放入容器。容器還能夠進行版本管理、複製、分享、修改,就像管理普通的代碼同樣。
上面的解釋引自阮一峯的博客,就個人理解來講docker就是一個特別輕量級的虛擬機,而後以端口映射的方式讓本機訪問它的應用程序,從而避免在本機進行繁瑣的開發環境配置。sql

docker必知必會
下面是使用docker過程當中必用的一些命令,放到這裏固然不是由於他們容易記,而是爲了之後方便查閱。docker

固然要記住下面這些也不難,經過後面的實戰示例再加上一兩次本身的熟悉基本就能記住了。數據庫

docker help 查看幫助,help應該是全部命令行程序最重要的命令了
docker pull 從Docker Hub中拉取或者更新指定鏡像。
docker run
-d 標識是讓 docker 容器在後臺運行。
-p 標識通知 Docker 將容器內部使用的網絡端口映射到咱們使用的主機上。
-it 使用交互模式
--name 定義一個容器的名字,若是在執行docker run時沒有指定Name,那麼deamon會自動生成一個隨機數字符串當作UUID。
-e 設置環境變量,或者覆蓋已存在的環境變量。
–link 鏈接運行的容器
例如:docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql/mysql-server:latestbash

含義:容器的名字爲mysql,將容器的3306端口映射到本機的3306端口,mysql數據庫的密碼爲password ,運行的鏡像爲mysql/mysql-server:latest網絡

docker ps
-a 查看已經建立的容器
-s 查看已經啓動的容器
docker start con_name 啓動容器名爲con_name的容器。
docker stop con_name 中止容器名爲con_name的容器。
docker rm con_name 刪除容器名爲con_name的容器。
docker rmi img_name 刪除鏡像名爲img_name的鏡像。
docker exec -it con_name bash 以bash啓動該容器
在docker中使用mysql
接下來我將會在docker中新建並啓動一個mysql容器,而後以本地訪問。學習

拉取官方鏡像
docker pull mysql:5.7.21
建立一個容器並運行
docker run --name mysql -p 3309:3306 -e MYSQL_ROOT_PASSWORD=test -d mysql:5.7.21
容器的名字爲mysql,將容器的3306端口映射到本機的3309端口,mysql數據庫的密碼爲test ,容器在後臺運行,運行的鏡像爲mysql:5.7.21
查看一下容器的運行狀態
docker ps
clipboard.png命令行

本地訪問試試
clipboard.pngserver

clipboard.png

沒有任何問題

想要直接對容器進行操做?
使用下面的命令就能夠了

docker run -it --link mysql:mysql --rm mysql:5.7.21 sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -p'
clipboard.png

這就直接進入了容器的mysql中。

黃庭祥教了我另外一個方法,能夠理解爲上一步方法的分步執行

首先進入容器

docker exec -it mysql bash
clipboard.png

能夠發現這個容器和咱們的linux基本同樣,各類基礎的命令都能執行

在容器中啓動mysql

mysql -uroot -p -h localhost
clipboard.png

參考文章docker下的Mysql鏡像的使用方法使用docker的mysql鏡像Docker 入門教程

相關文章
相關標籤/搜索