一、Docker簡(jiǎn)介
Docker 是一個(gè)開源的應(yīng)用容器引擎,基于Go 語言并遵從 Apache2.0 協(xié)議開源。
Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)輕量級(jí)、可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。
容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口(類似 iPhone 的 app)更重要的是容器性能開銷極低。
Docker支持將軟件編譯成鏡像;在鏡像中支持各種軟件配置好并發(fā)布,其他使用者可以直接使用配置好的鏡像。運(yùn)行中的鏡像稱之為容器,容器啟動(dòng)速度很快。類似于封裝好的Windows系統(tǒng),通過U盤直接安裝即可,不需要進(jìn)行系統(tǒng)配置軟件。
Docker的應(yīng)用場(chǎng)景:
- Web應(yīng)用的自動(dòng)化打包發(fā)布;
- 自動(dòng)化測(cè)試和持續(xù)集成、發(fā)布;
- 在服務(wù)型環(huán)境中部署調(diào)整數(shù)據(jù)庫(kù)或其他的后臺(tái)應(yīng)用;
- 從頭編譯或者擴(kuò)展現(xiàn)有的 OpenShift 或 Cloud Foundry 平臺(tái)來搭建自己的 PaaS 環(huán)境。
Docker的優(yōu)點(diǎn):
- 快速、一致性的交付應(yīng)用程序
- 響應(yīng)式部署和擴(kuò)展
- 充分利用虛擬機(jī)資源
二、Docker核心概念
Docker主機(jī)(Host):安裝了Docker程序的機(jī)器(Docker直接安裝在操作系統(tǒng)中)
Docker客戶端(Client):連接Docker主機(jī)進(jìn)行操作;
Docker容器(Container):鏡像啟動(dòng)后的實(shí)例,獨(dú)立運(yùn)行的一個(gè)或一組應(yīng)用;
Docker鏡像(Image):打包好的軟件,用于創(chuàng)建Docker容器的模板;
Docker倉(cāng)庫(kù)(Respository):用于保存打包好的軟件鏡像;
關(guān)系示意圖:
Docker的基本使用方式:
① 在機(jī)器中安裝Docker;
② 在Docker倉(cāng)庫(kù)中尋找這個(gè)軟件對(duì)應(yīng)的鏡像;
③ 使用Docker運(yùn)行鏡像,生成一個(gè)Docker容器;
④ 容器的啟動(dòng)或停止相當(dāng)于對(duì)軟件的啟動(dòng)和停止;
三、Docker安裝
在Linux中安裝Docker的步驟
1.檢查L(zhǎng)inux內(nèi)核版本,必須是3.10以上
uname -r
若Linux版本內(nèi)核不符合則需要升級(jí)軟件包和內(nèi)核
yum update
2.安裝docker
yum install docker
3.查看docker是否安裝成功
docker -v
4.啟動(dòng)docker容器
systemctl start docker
5.設(shè)置docker開機(jī)啟用
systemctl enable docker
6.停止docker
systemctl stop docker
復(fù)制代碼
設(shè)置docker使用阿里云鏡像加速
訪問阿里云鏡像加速器網(wǎng)址 :阿里云鏡像加速
四、Docker常用操作
1. 鏡像操作
1.1 操作遠(yuǎn)程鏡像
① 查詢遠(yuǎn)程倉(cāng)庫(kù)鏡像
docker search [OPTIONS]
OPTIONS說明:
-
--automated:只列出 automated build類型的鏡像; -
--no-trunc:顯示完整的鏡像描述; -
-s:列出收藏?cái)?shù)不小于指定值的鏡像。
查詢docker遠(yuǎn)程倉(cāng)庫(kù)中的MySQL
[root@izuf6h7blj36dmxbmcj15wz ~]# docker search mysql
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/mysql MySQL is a widely used, open-source relati... 10111 [OK]
docker.io docker.io/mariadb MariaDB is a community-developed fork of M... 3711 [OK]
docker.io docker.io/mysql/mysql-server Optimized MySQL Server Docker images. Crea... 738 [OK]
docker.io docker.io/percona Percona Server is a fork of the MySQL rela... 511 [OK]
docker.io docker.io/centos/mysql-57-centos7 MySQL 5.7 SQL database server 84
docker.io docker.io/mysql/mysql-cluster Experimental MySQL Cluster Docker images. ... 77
docker.io docker.io/centurylink/mysql Image containing mysql. Optimized to be li... 60 [OK]
docker.io docker.io/bitnami/mysql Bitnami MySQL Docker Image 45 [OK]
docker.io docker.io/deitch/mysql-backup REPLACED! Please use http://hub.docker.com... 41 [OK]
......
復(fù)制代碼
② 拉取遠(yuǎn)程倉(cāng)庫(kù)中的鏡像
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
OPTIONS說明:
-
-a:拉取所有 tagged 鏡像 -
--disable-content-trust:忽略鏡像的校驗(yàn),默認(rèn)開啟 -
TAG:用于指定版本號(hào)
拉取tomcat 7.0鏡像
[root@izuf6h7blj36dmxbmcj15wz ~]# docker pull tomcat:7.0
Trying to pull repository docker.io/library/tomcat ...
7.0: Pulling from docker.io/library/tomcat
e4c3d3e4f7b0: Pull complete
101c41d0463b: Pull complete
8275efcd805f: Pull complete
751620502a7a: Pull complete
a59da3a7d0e7: Pull complete
5ad32ac1e527: Pull complete
27c13473e3bd: Pull complete
717370f5d395: Pull complete
84d544041c3b: Pull complete
4cce74688a50: Pull complete
Digest: sha256:9c86a5a1af6f7bdc946a28a39b7f05044abd5eee2eb8cf56b55938c8618c85cb
Status: Downloaded newer image for docker.io/tomcat:7.0
復(fù)制代碼
docker官方鏡像倉(cāng)庫(kù) Docker官方鏡像倉(cāng)庫(kù)中會(huì)介紹使用方法,可以按照官方文檔的說明進(jìn)行操作。
1.2 管理本地鏡像
① 查看本地鏡像列表
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS說明:
-
-a:列出本地所有的鏡像(含中間映像層,默認(rèn)情況下,過濾掉中間映像層); -
--digests:顯示鏡像的摘要信息; -
f:顯示滿足條件的鏡像; -
--format:指定返回值的模板文件; -
--no-trunc:顯示完整的鏡像信息; -
-q:只顯示鏡像ID。
查看本地倉(cāng)庫(kù)的鏡像
[root@izuf6h7blj36dmxbmcj15wz ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/memcached latest 804901da629f 38 hours ago 82.3 MB
docker.io/tomcat 7.0 ae42daf81b8c 2 days ago 533 MB
docker.io/mysql 5.7.32 1b12f2e9257b 6 days ago 448 MB
復(fù)制代碼
② 刪除本地鏡像列表
docker rmi [OPTIONS] IMAGE [IMAGE...]
OPTIONS說明:
-
-f:強(qiáng)制刪除; -
--no-prune:不移除該鏡像的過程鏡像,默認(rèn)移除;
刪除本地倉(cāng)庫(kù)中的tomcat
[root@izuf6h7blj36dmxbmcj15wz ~]# docker rmi tomcat:7.0
Untagged: tomcat:7.0
Untagged: docker.io/tomcat@sha256:9c86a5a1af6f7bdc946a28a39b7f05044abd5eee2eb8cf56b55938c8618c85cb
Deleted: sha256:ae42daf81b8c5fd4b2f009d277d062681171d8d84c9f174aba08f6dbd47ed857
Deleted: sha256:3f394bd52132d1cf758651758ac12ebf02b721921b524123ead1e874a1ed9bd6
Deleted: sha256:1174c29e4d812f6dd04484ae909d5c4451fc7d4ecb8cd0934930876ad68985de
Deleted: sha256:24fdd84b4adf4b922767e2b9d336c96fb31cab90c84fb34f9164f6587473e565
Deleted: sha256:984e8d35fe94a287a0bc4a45e8757c75e17e80c3f4fed0b9f9b0ec6b4b457ebb
Deleted: sha256:254cf71da09bbc16e304f925dee4270ac9069649dee8576423a6a77186ee0061
Deleted: sha256:3383e45b22b2b665b1a2604e375c1e7dc007c540e77d6367b1d7ba79ef0030d8
Deleted: sha256:d5d618196ec30fcdba1d210f135b4911b9dbdc79fdd729a9a9c3683a6a9b9308
Deleted: sha256:4bb57adf9037e4da45f2dbc0f84a7e9d8da6847bef3e63d09c8a9d8465f4d2c6
Deleted: sha256:5173011923d00f0fe606ecceda93ea88f17dc77e0b026df802c9aeb31bc1eac6
Deleted: sha256:9780f6d83e45878749497a6297ed9906c19ee0cc48cc88dc63827564bb8768fd
[root@izuf6h7blj36dmxbmcj15wz ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/memcached latest 804901da629f 38 hours ago 82.3 MB
docker.io/mysql 5.7.32 1b12f2e9257b 6 days ago 448 MB
復(fù)制代碼
2. 容器操作
2.1 容器生命周期管理
① 創(chuàng)建一個(gè)容器并運(yùn)行命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS說明:
-
-a stdin: 指定標(biāo)準(zhǔn)輸入輸出內(nèi)容類型,可選 STDIN/STDOUT/STDERR 三項(xiàng); -
-d: 后臺(tái)運(yùn)行容器,并返回容器ID; -
-i: 以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用; -
-P: 隨機(jī)端口映射,容器內(nèi)部端口隨機(jī)映射到主機(jī)的端口 -
-p: 指定端口映射,格式為:主機(jī)(宿主)端口:容器端口 -
-t: 為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用; -
--name="nginx-lb": 為容器指定一個(gè)名稱; -
--dns 8.8.8.8: 指定容器使用的DNS服務(wù)器,默認(rèn)和宿主一致; -
--dns-search example.com: 指定容器DNS搜索域名,默認(rèn)和宿主一致; -
-h "mars": 指定容器的hostname; -
-e username="ritchie": 設(shè)置環(huán)境變量; -
--env-file=[]: 從指定文件讀入環(huán)境變量; -
--cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定CPU運(yùn)行; -
-m:設(shè)置容器使用內(nèi)存最大值; -
--net="bridge": 指定容器的網(wǎng)絡(luò)連接類型,支持 bridge/host/none/container: 四種類型; -
--link=[]: 添加鏈接到另一個(gè)容器; -
--expose=[]: 開放一個(gè)端口或一組端口; -
--volume , -v: 綁定一個(gè)卷
Docker可以通過一個(gè)鏡像創(chuàng)建多個(gè)容器,各個(gè)容器之間互不干擾,可以同時(shí)運(yùn)行
② 啟動(dòng)、停止、刷新容器
docker start [OPTIONS] CONTAINER [CONTAINER...]
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker restart [OPTIONS] CONTAINER [CONTAINER...]
啟動(dòng)已被停止的容器mysql01
[root@izuf6h7blj36dmxbmcj15wz ~]# docker start mysql01
復(fù)制代碼
停止運(yùn)行中的容器mysql01
[root@izuf6h7blj36dmxbmcj15wz ~]# docker stop mysql01
復(fù)制代碼
重啟容器mysql01shell
[root@izuf6h7blj36dmxbmcj15wz ~]# docker restart mysql01
復(fù)制代碼
③ 刪除容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS說明:
-
-f:通過 SIGKILL 信號(hào)強(qiáng)制刪除一個(gè)運(yùn)行中的容器。 -
-l:移除容器間的網(wǎng)絡(luò)連接,而非容器本身。 -
-v:刪除與容器關(guān)聯(lián)的卷。
④ 創(chuàng)建容器但不啟動(dòng)
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
語法類似與run的語法
⑤ 在運(yùn)行的容器中執(zhí)行命令
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS說明:
-
-d:分離模式: 在后臺(tái)運(yùn)行 -
-i:即使沒有附加也保持STDIN 打開 -
-t:分配一個(gè)偽終端
進(jìn)入到MySQL中操作
[root@izuf6h7blj36dmxbmcj15wz ~]# docker exec -it mysql-test /bin/bash
root@86afbc58bd27:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.7.32 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
復(fù)制代碼
2.2 容器管理
① 列出所有容器
docker ps [OPTIONS]
OPTIONS說明:
-
-a:顯示所有的容器,包括未運(yùn)行的。 -
-f:根據(jù)條件過濾顯示的內(nèi)容。 -
--format:指定返回值的模板文件。 -
-l:顯示最近創(chuàng)建的容器。 -
-n:列出最近創(chuàng)建的n個(gè)容器。 -
--no-trunc:不截?cái)噍敵觥?/li> -
-q:靜默模式,只顯示容器編號(hào)。 -
-s:顯示總的文件大小。
② 查看容器運(yùn)行日志
docker logs [OPTIONS] CONTAINER
OPTIONS說明:
-
-f: 跟蹤日志輸出 -
--since:顯示某個(gè)開始時(shí)間的所有日志 -
-t: 顯示時(shí)間戳 -
--tail:僅列出最新N條容器日志
查看tomcat運(yùn)行日志
[root@izuf6h7blj36dmxbmcj15wz ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b88d05801048 tomcat:9.0.39 "catalina.sh run" 17 minutes ago Up 10 minutes 0.0.0.0:8090->8080/tcp tomcat9.0
f7d14d73ec4a memcached "docker-entrypoint..." 5 days ago Up 5 days 0.0.0.0:11211->11211/tcp memcache
86afbc58bd27 mysql:5.7.32 "docker-entrypoint..." 5 days ago Up 5 days 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-test
[root@izuf6h7blj36dmxbmcj15wz ~]# docker logs tomcat9.0
2020-11-03T01:45:26.595757000Z 03-Nov-2020 01:45:26.593 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/local/openjdk-11
2020-11-03T01:45:26.595845000Z 03-Nov-2020 01:45:26.593 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 11.0.9+11
2020-11-03T01:45:26.595933000Z 03-Nov-2020 01:45:26.593 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
2020-11-03T01:45:26.596033000Z 03-Nov-2020 01:45:26.593 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /usr/local/tomcat
2020-11-03T01:45:26.605849000Z 03-Nov-2020 01:45:26.600 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /usr/local/tomcat
2020-11-03T01:45:26.636942000Z 03-Nov-2020 01:45:26.634 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
2020-11-03T01:45:26.637118000Z 03-Nov-2020 01:45:26.634 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED
2020-11-03T01:45:26.637215000Z 03-Nov-2020 01:45:26.634 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
2020-11-03T01:45:26.637307000Z 03-Nov-2020 01:45:26.634 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
2020-11-03T01:45:26.637411000Z 03-Nov-2020 01:45:26.634 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
2020-11-03T01:45:26.637510000Z 03-Nov-2020 01:45:26.634 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
2020-11-03T01:45:26.637603000Z 03-Nov-2020 01:45:26.634 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
2020-11-03T01:45:26.637691000Z 03-Nov-2020 01:45:26.634 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
2020-11-03T01:45:26.637780000Z 03-Nov-2020 01:45:26.635 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
2020-11-03T01:45:26.637897000Z 03-Nov-2020 01:45:26.635 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
2020-11-03T01:45:26.638002000Z 03-Nov-2020 01:45:26.635 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
2020-11-03T01:45:26.638094000Z 03-Nov-2020 01:45:26.635 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
2020-11-03T01:45:26.654483000Z 03-Nov-2020 01:45:26.652 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [1.2.25] using APR version [1.6.5].
......
復(fù)制代碼
查看全部容器
[root@izuf6h7blj36dmxbmcj15wz ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f7d14d73ec4a memcached "docker-entrypoint..." 43 hours ago Up 43 hours 0.0.0.0:11211->11211/tcp memcache
86afbc58bd27 mysql:5.7.32 "docker-entrypoint..." 46 hours ago Up 45 hours 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-test
復(fù)制代碼
docker操作命令:Docker 命令大全
3. 安裝MySQL
① 查詢遠(yuǎn)程MySQL鏡像
[root@izuf6h7blj36dmxbmcj15wz ~]# docker search mysql
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/mysql MySQL is a widely used, open-source relati... 10111 [OK]
docker.io docker.io/mariadb MariaDB is a community-developed fork of M... 3711 [OK]
docker.io docker.io/mysql/mysql-server Optimized MySQL Server Docker images. Crea... 739 [OK]
docker.io docker.io/percona Percona Server is a fork of the MySQL rela... 511 [OK]
docker.io docker.io/centos/mysql-57-centos7 MySQL 5.7 SQL database server 84
docker.io docker.io/mysql/mysql-cluster Experimental MySQL Cluster Docker images. ... 77
docker.io docker.io/centurylink/mysql Image containing mysql. Optimized to be li... 60 [OK]
docker.io docker.io/bitnami/mysql Bitnami MySQL Docker Image 45 [OK]
docker.io docker.io/deitch/mysql-backup REPLACED! Please use http://hub.docker.com... 41 [OK]
docker.io docker.io/tutum/mysql Base docker image to run a MySQL database ... 35
docker.io docker.io/databack/mysql-backup Back up mysql databases to... anywhere! 31
docker.io docker.io/prom/mysqld-exporter 31 [OK]
docker.io docker.io/schickling/mysql-backup-s3 Backup MySQL to S3 (supports periodic back... 29 [OK]
docker.io docker.io/linuxserver/mysql A Mysql container, brought to you by Linux... 26
docker.io docker.io/centos/mysql-56-centos7 MySQL 5.6 SQL database server 20
docker.io docker.io/circleci/mysql MySQL is a widely used, open-source relati... 19
docker.io docker.io/mysql/mysql-router MySQL Router provides transparent routing ... 17
docker.io docker.io/arey/mysql-client Run a MySQL client from a docker container 15 [OK]
docker.io docker.io/fradelg/mysql-cron-backup MySQL/MariaDB database backup using cron t... 10 [OK]
docker.io docker.io/openshift/mysql-55-centos7 DEPRECATED: A Centos7 based MySQL v5.5 ima... 6
docker.io docker.io/devilbox/mysql Retagged MySQL, MariaDB and PerconaDB offi... 3
docker.io docker.io/ansibleplaybookbundle/mysql-apb An APB which deploys RHSCL MySQL 2 [OK]
docker.io docker.io/jelastic/mysql An image of the MySQL database server main... 1
docker.io docker.io/widdpim/mysql-client Dockerized MySQL Client (5.7) including Cu... 1 [OK]
docker.io docker.io/monasca/mysql-init A minimal decoupled init container for mysql 0
復(fù)制代碼
② 拉取MySQL鏡像
可以指定安裝鏡像的版本號(hào),如果不指定的話默認(rèn)拉取最新的版本
[root@izuf6h7blj36dmxbmcj15wz ~]# docker pull mysql
Using default tag: latest
Trying to pull repository docker.io/library/mysql ...
latest: Pulling from docker.io/library/mysql
bb79b6b2107f: Already exists
49e22f6fb9f7: Already exists
842b1255668c: Already exists
9f48d1f43000: Already exists
c693f0615bce: Already exists
8a621b9dbed2: Already exists
0807d32aef13: Already exists
a56aca0feb17: Pull complete
de9d45fd0f07: Pull complete
1d68a49161cc: Pull complete
d16d318b774e: Pull complete
49e112c55976: Pull complete
Digest: sha256:8c17271df53ee3b843d6e16d46cff13f22c9c04d6982eb15a9a47bd5c9ac7e2d
Status: Downloaded newer image for docker.io/mysql:latest
復(fù)制代碼
查看已經(jīng)獲取的本地鏡像倉(cāng)庫(kù)
[root@izuf6h7blj36dmxbmcj15wz ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/memcached latest 804901da629f 2 days ago 82.3 MB
docker.io/mysql 5.7.32 1b12f2e9257b 7 days ago 448 MB
docker.io/mysql latest db2b37ec6181 7 days ago 545 MB
復(fù)制代碼
③ 創(chuàng)建并運(yùn)行MySQL容器
[root@izuf6h7blj36dmxbmcj15wz ~]# docker run --name=mysql-test -it -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.32
[root@izuf6h7blj36dmxbmcj15wz ~]# 86afbc58bd27
復(fù)制代碼
--name:指定容器名稱
-it:創(chuàng)建終端并以交互模式運(yùn)行容器
-p:指定端口映射格式為 主機(jī)(宿主)端口:容器端口
-e:設(shè)置環(huán)境變量
-d:后臺(tái)運(yùn)行容器,并返回ID
④ 查看正在運(yùn)行的容器
[root@izuf6h7blj36dmxbmcj15wz ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f7d14d73ec4a memcached "docker-entrypoint..." 45 hours ago Up 45 hours 0.0.0.0:11211->11211/tcp memcache
86afbc58bd27 mysql:5.7.32 "docker-entrypoint..." 47 hours ago Up 47 hours 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-test
復(fù)制代碼
⑤ 進(jìn)入MySQL容器操作
[root@izuf6h7blj36dmxbmcj15wz ~]# docker exec -it mysql-test /bin/bash
root@86afbc58bd27:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 28
Server version: 5.7.32 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
復(fù)制代碼
若在云服務(wù)中操作,注意打開服務(wù)器3306端口
在服務(wù)器中部署完成后使用navicat客戶端連接
使用Docker安裝其他的鏡像與安裝MySQL操作基本相似,恭喜你學(xué)會(huì)了Docker操作ヾ(≧▽≦*)o
作者:RealPluto
鏈接:https://juejin.cn/post/6962057970066653191
來源:掘金
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。