一、幫助啟動(dòng)類(lèi)命令
啟動(dòng)docker
systemctl start docker
停止docker
systemctl stop docker
重啟docker
systemctl restart docker
查看docker狀態(tài)
systemctl status docker
開(kāi)機(jī)啟動(dòng)
systemctl enable docker
查看docker概要信息
docker info
查看docker總體幫助文檔
docker --help
查看docker命令幫助文檔
docker 具體命令 --help
二、鏡像命令
列出本地主機(jī)上的鏡像
docker images
REPOSITORY(鏡像的倉(cāng)庫(kù)源) TAG(鏡像的標(biāo)簽版本號(hào)) IMAGE ID(鏡像ID) CREATED(鏡像創(chuàng)建時(shí)間) SIZE(鏡像大小)
同一個(gè)倉(cāng)庫(kù)源可以有多個(gè)TAG版本,代表這個(gè)倉(cāng)庫(kù)員的不同個(gè)版本,使用REPOSITORY:TAG來(lái)定義不同的鏡像。如果不指定鏡像的版本標(biāo)簽,默認(rèn)使用latest鏡像。
-a:列出本地所有的鏡像(包含歷史映像層)
-q:只顯示鏡像id
查找鏡像
docker search [OPTIONS] 鏡像名稱(chēng)
NAME(鏡像名稱(chēng)) DESCRIPTION(鏡像說(shuō)明) STARS(點(diǎn)贊數(shù)量) OFFICIAL(是否是官方的) AUTOMATED(是否是自動(dòng)構(gòu)建的)
docker search --limit 5 redis
–limit:只列出N個(gè)鏡像,默認(rèn)25個(gè)
下載鏡像
docker pull 鏡像名稱(chēng)[:TAG]
不寫(xiě)TAG就是最新版,等價(jià)于docker pull 鏡像名稱(chēng):latest
查看鏡像/容器/數(shù)據(jù)卷所占的空間
docker system df
刪除指定鏡像
docker rmi 鏡像名稱(chēng)/鏡像ID
docker rmi -f 鏡像ID
-f:強(qiáng)制刪除
刪除多個(gè)鏡像
docker rmi -f 鏡像名1:TAG 鏡像名2:TAG
刪除全部鏡像
docker rmi -f $(docker images -qa)
三、容器命令
新建并啟動(dòng)容器
docker run [OPTIONS] 鏡像名稱(chēng) [COMMAND] [ARG...]
[OPTIONS]選項(xiàng):
–name=“容器新名稱(chēng)”:為容器指定一個(gè)名稱(chēng)
docker run -it --name=“myu1” ubuntu
后臺(tái)運(yùn)行容器
docker run -d 容器名
docker run -d redis
-d:后臺(tái)運(yùn)行容器并返回容器ID,也就是啟動(dòng)守護(hù)式容器(后臺(tái)運(yùn)行)
交互式運(yùn)行容器
使用鏡像centos:latest以交互模式啟動(dòng)一個(gè)容器,在容器內(nèi)執(zhí)行/bin/bash命令。
docker run -it centos /bin/bash
放在鏡像名后的是命令。要退出終端,直接輸入exit即可
-i,–interactive:以交互模式運(yùn)行容器,通常與-t同時(shí)使用,也就是啟動(dòng)交互式容器(前臺(tái)有偽終端,等待交互)
-t,–tty:為容器重新分配一個(gè)偽輸入終端,通常與-i同時(shí)使用
設(shè)置端口映射
-P:隨機(jī)端口映射
-p:指定端口映射
-p hostPort:containerPort 端口映射 -p 8080:80
-p ip:hostPort:containerPort 配置監(jiān)聽(tīng)地址 -p 10.0.0.100:8080:80
-p ip::containerPort 隨機(jī)分配端口 -p 10.0.0.100::80
-p hostPort:containerPort:udp 指定協(xié)議 -p 8080:80:tcp
-p 81:80 -p 443:443 指定多個(gè)端口映射
列出當(dāng)前所有正在運(yùn)行的容器
docker ps [OPTIONS]
-a:列出當(dāng)前所有正在運(yùn)行的容器和歷史運(yùn)行過(guò)的容器
-l:顯示最近創(chuàng)建的容器
-n:顯示最近n個(gè)創(chuàng)建的容器
-q:靜默模式,只顯示容器編號(hào)
退出容器
有兩種退出方式
exit:run進(jìn)去容器,exit退出,容器停止
ctrl+p+q:run進(jìn)去容器,ctrl+p+q退出,容器不停止
啟動(dòng)已停止運(yùn)行的容器
docker start 容器ID或容器名
重啟容器
docker restart 容器ID或容器名
停止容器
docker stop 容器ID或容器名
強(qiáng)制停止容器
docker kill 容器ID或容器名
刪除已停止的容器
docker rm 容器ID或容器名
強(qiáng)制刪除容器(可以刪運(yùn)行中的容器)
docker rm -f 容器ID或容器名
一次性刪除多個(gè)容器實(shí)例
docker rm -f $(docker ps -qa)
docker ps -qa | xargs docker rm
查看容器日志
docker logs 容器ID或容器名
查看容器內(nèi)運(yùn)行的進(jìn)程
docker top 容器ID或容器名
查看容器內(nèi)部細(xì)節(jié)(可以看到版本號(hào)和容器相關(guān)的信息)
docker inspect 容器ID或容器名
進(jìn)入正在運(yùn)行的容器并以命令行交互
第一種
docker exec [OPTIONS] CONTAINER COMMAND [ARG…]
docker exec -it 容器ID或容器名 bashShell
docker exec -it asset-redis redis-server -v
第二種
docker attach 容器ID或容器名
1.attach直接進(jìn)入容器啟動(dòng)目錄的終端,不會(huì)啟動(dòng)新的進(jìn)程,用exit退出,會(huì)導(dǎo)致容器的停止
2.exec是在容器中打開(kāi)新的終端,并且可以啟動(dòng)新的進(jìn)程,用exit退出,不會(huì)導(dǎo)致容器的停止
一般用-d后臺(tái)啟動(dòng)程序,再用exec進(jìn)入對(duì)應(yīng)容器實(shí)例
從容器內(nèi)拷貝文件到主機(jī)
docker cp 容器ID:容器內(nèi)路徑 目的主機(jī)路徑
導(dǎo)入導(dǎo)出容器
export導(dǎo)出容器的內(nèi)容流作為一個(gè)tar歸檔文件,import從tar包中的內(nèi)容創(chuàng)建一個(gè)新的文件系統(tǒng)再導(dǎo)入為鏡像
docker export 容器ID > 文件名.tar
docker export be13986b4964 > redis.tar
cat 文件名.tar | docker import - 鏡像用戶/鏡像名:鏡像版本號(hào)
cat redis.tar | docker import - cw/redis1:6.2.6
四、Docker安裝MySQL
1.拉取mysql
docker search mysql
docker pull mysql:latest
2.啟動(dòng)容器
docker run -p 3306:3306 --name mysql
–privileged=true
-v /root/cw/mysql/log:/var/log/mysql
-v /root/cw/mysql/data:/var/lib/mysql
-v /root/cw/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456
-d mysql:latest
3.查看
docker ps
4.添加mysql配置文件
cd /root/cw/mysql/conf
vi my.cnf
[client]
default_character_set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8
5.進(jìn)入容器
docker exec -it e780aeb44934 /bin/bash
mysql -uroot -p
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
INSERT INTO `user` (`id`, `name`, `age`) VALUES
(1, 'John', 30),
(2, 'Alice', 25),
(3, 'Bob', 40);
五、Docker安裝Redis
docker pull redis
docker images
docker run -p 6379:6379 --name redis
–privileged=true
-v /root/cw/redis/redis.conf:/etc/redis/redis.conf
-v /root/cw/redis/data:/data
-d redis
redis-server /etc/redis/redis.conf
修改redis.conf文件
1.開(kāi)啟redis驗(yàn)證(可選)
requirepass 123456
2. 允許redis外地連接(必選)
注釋掉 # bind 127.0.0.1
3. daemonize no(必選)
將daemonize yes注釋或設(shè)置daemonize no,該配置會(huì)和docker run中-d參數(shù)沖突,會(huì)導(dǎo)致容器一直啟動(dòng)失敗
4. protected-mode no
protected-mode no
5.開(kāi)啟redis數(shù)據(jù)持久化(可選)
appendonly yes
docker exec -it redis /bin/bash
redis-cli
####################################
######### Zookeeper安裝 ###########
####################################
docker pull zookeeper
docker run -d --restart=always
–log-driver json-file
–log-opt max-size=100m
–log-opt max-file=2
–name zookeeper
-p 2181:2181
-v /etc/localtime:/etc/localtime
zookeeper
docker logs -f zookeeper
docker exec -it zookeeper /bin/bash
####################################
############# Kafka安裝 ###########
####################################
docker pull bitnami/kafka
docker run -d --name kafka
–env KAFKA_ADVERTISED_HOST_NAME=localhost
–env KAFKA_ZOOKEEPER_CONNECT=192.168.10.100:2181
–env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.10.100:9092
–env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092
–env KAFKA_HEAP_OPTS=“-Xmx256M -Xms128M”
–net=host bitnami/kafka
docker logs -f kafka
docker exec -it kafka /bin/bash
cd /opt/bitnami/kafka/bin
查看所有topic
./kafka-topics.sh --bootstrap-server 192.168.10.100:9092 --list
創(chuàng)建topic
./kafka-topics.sh --bootstrap-server 192.168.10.100:9092 --create --replication-factor 1 --partitions 1 --topic test
查看topic詳情
./kafka-topics.sh --bootstrap-server 192.168.10.100:9092 --describe --topic test
修改分區(qū)數(shù)(注意:分區(qū)數(shù)只能增加,不能減少)
./kafka-topics.sh --bootstrap-server 192.168.10.100:9092 --alter --topic test --partitions 3
刪除topic
./kafka-topics.sh --bootstrap-server 192.168.10.100:9092 --delete --topic test
啟動(dòng)生產(chǎn)者
./kafka-console-producer.sh --bootstrap-server 192.168.10.100:9092 --topic test
啟動(dòng)消費(fèi)者
./kafka-console-consumer.sh --bootstrap-server 192.168.10.100:9092 --topic test
把主題中所有的數(shù)據(jù)都讀取出來(lái)(包括歷史數(shù)據(jù))
./kafka-console-consumer.sh --bootstrap-server 192.168.10.100:9092 --from-beginning --topic test
#######################################################################################################
docker pull mysql --下載
docker run --啟動(dòng)
docker ps -a --查看進(jìn)程
docker logs pid --查看某個(gè)pid日志
docker run -p 3306:3306 --name mysql
-v /root/cw/mysql/log:/var/log/mysql
-v /root/cw/mysql/data:/var/lib/mysql
-v /root/cw/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=root
-d mysql:5.7
–在docker中啟動(dòng)mysql服務(wù)
docker run -p 3306:3306 --name mysql
-e MYSQL_ROOT_PASSWORD=root
-d mysql
–在docker中連接mysql
docker exec -it f5fe5e274afa mysql -uroot -proot
–先進(jìn)入docker,然后再連接mysql
docker exec -it cebf88eecddb /bin/bash
mysql -uroot -proot
docker ps --查看當(dāng)前運(yùn)行的進(jìn)程
docker stop pid --停止當(dāng)前運(yùn)行的進(jìn)程
docker rm pid --刪除當(dāng)前運(yùn)行的進(jìn)程
curl localhost:8000
docker中啟動(dòng)redis:
Windows10系統(tǒng)
1、使用命令:docker pull redis 來(lái)下載redis鏡像。
2、通過(guò)命令 docker images來(lái)查看redis鏡像是否安裝成功
3、安裝成功后通過(guò) docker run --name java_redis -d redis 來(lái)運(yùn)行redis
4、通過(guò)命令 docker ps 來(lái)查看redis是否啟動(dòng)成功
5、當(dāng)redis啟動(dòng)成功后,通過(guò)命令 docker exec -it java_redis redis-cli 來(lái)打開(kāi)客戶端
6、當(dāng)客戶端打開(kāi)后,我們就可以使用redis的相關(guān)命令去操作redis數(shù)據(jù)庫(kù)了。
7、我們安裝redis鏡像時(shí)沒(méi)有設(shè)定密碼,我們這里可以進(jìn)行設(shè)置,通過(guò)命令 config set requirepass 密碼 進(jìn)行設(shè)定。
8、此時(shí)我們對(duì)redis數(shù)據(jù)庫(kù)進(jìn)行修改時(shí)則需要提供 認(rèn)證,通過(guò)命令 auth 密碼 來(lái)進(jìn)行驗(yàn)證。
9、此時(shí)我們就完成了redis密碼的設(shè)定,剩下就可以玩轉(zhuǎn)redis了。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-699357.html
10、當(dāng)前市場(chǎng)上Windows系統(tǒng)上有redis的GUI工具Redis Desktop Manager 工具(網(wǎng)上有相應(yīng)的破解版本)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-699357.html
到了這里,關(guān)于docker相關(guān)命令的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!