服務器:centos7.4
mysql:5.7
1.下載mysql鏡像
[root@localhost ~]# docker pull mysql
Using default tag: latest
Trying to pull repository docker.io/library/mysql ...
latest: Pulling from docker.io/library/mysql
85b1f47fba49: Pull complete
5671503d4f93: Pull complete
3b43b3b913cb: Pull complete
4fbb803665d0: Pull complete
05808866e6f9: Pull complete
1d8c65d48cfa: Pull complete
e189e187b2b5: Pull complete
02d3e6011ee8: Pull complete
d43b32d5ce04: Pull complete
2a809168ab45: Pull complete
Digest: sha256:1a2f9361228e9b10b4c77a651b460828514845dc7ac51735b919c2c4aec864b7
2.鏡像下載完成后寝贡,查看是否下載成功
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/jenkins latest 3f08dc4f3f5d 3 weeks ago 808.9 MB
docker.io/mysql latest 5709795eeffa 3 weeks ago 408.2 MB
可以看到repository一欄確實有mysql這個鏡像
3.創(chuàng)建并啟動一個mysql容器
[root@localhost ~]# docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Aa123456! mysql
265c55de36095f1938f1aa27dcc2887fc4d1c929e51a932daf5061085632ef76
說明:
-d:以后臺運行容器
--name:指定容器得名稱
-p:將容器得端口映射到宿主機得端口
-e:指定運行參數(shù)厘惦,現(xiàn)在指定得是root得密碼
mysql:鏡像得名稱
4.查看容器運行狀態(tài)
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
265c55de3609 mysql "docker-entrypoint.sh" About a minute ago Up About a minute 0.0.0.0:3306->3306/tcp mysql
3cfe03dd6e31 jenkins "/bin/tini -- /usr/lo" 2 days ago Up 2 days 0.0.0.0:50000->50000/tcp, 0.0.0.0:8081->8080/tcp jenkins
5.驗證
隨便找個mysql客戶端疟丙,輸入剛剛創(chuàng)建得mysql信息嵌巷,然后點擊save,之后可以成功進入mysql就算安裝成功了2.png
6.創(chuàng)建數(shù)據(jù)持久化得mysql容器,首先先建立一個數(shù)據(jù)掛載目錄奠滑,然后進入目錄
[root@localhost home]# mkdir mysql
[root@localhost home]# cd mysql/
7.創(chuàng)建容器丹皱,并且運行
[root@localhost mysql]# docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=Aa123456! -d mysql
158ee4e9bed0220925ed1402a17b504c482f3e5b1ffc62494de0c3b47fb8fa74
8.查看容器狀態(tài)
[root@localhost mysql]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
158ee4e9bed0 mysql "docker-entrypoint.sh" About a minute ago Up About a minute 0.0.0.0:3306->3306/tcp mysql
3cfe03dd6e31 jenkins "/bin/tini -- /usr/lo" 3 days ago Up 3 days 0.0.0.0:50000->50000/tcp, 0.0.0.0:8081->8080/tcp jenkins
9.驗證
雖然看起來并沒有什么差別妒穴,但是這樣做已經(jīng)將數(shù)據(jù)持久化,不會隨著容器消失而丟失數(shù)據(jù)