柚子快報激活碼778899分享:Docker安裝及常用命令
柚子快報激活碼778899分享:Docker安裝及常用命令
docker常用命令
docker操作命令
systemctl start?docker ?????????啟動docker服務(wù) systemctl stop?docker ?????????停止docker服務(wù) systemctl restart docker ????????重啟docker服務(wù) systemctl enable docker ????????設(shè)置開機啟動 sudo systemctl status docker ? ????????查看docker啟動狀態(tài) sudo docker -v ????????查看docker版本 docker network ls? ? ? ? ?查看docker網(wǎng)絡(luò)列表 docker volume ls? ? ? ? ?查看docker持久化存儲情況
image操作命令
docker login --username=lucifer_ztl registry.cn-hangzhou.aliyuncs.com ????????登錄遠程倉庫 docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/lucifer-k8s/lucifer-k8s-repository:[鏡像版本號] ????????給鏡像打標簽 docker push registry.cn-hangzhou.aliyuncs.com/lucifer-k8s/lucifer-k8s-repository:[鏡像版本號] ????????推送鏡像到遠程倉庫 docker images ?????????查看docker鏡像 docker pull mysql:5.7 ?????????拉取mysql5.7版本的鏡像 docker run image?????????運行鏡像
# -d后臺啟動,--name設(shè)置容器名稱,-p端口映射,-v將容器內(nèi)的數(shù)據(jù)持久化保存在宿主機上/root/data/mysql位置,-e添加環(huán)境變量設(shè)置密碼
docker run -d --name mysql -p 3306:3306 -v /root/data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7
docker run -d --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --privileged mysql:5.7?????????運行mysql5.7版本鏡像并創(chuàng)建容器,需指定密碼 docker exec -it ????????容器id bash 進入某個容器 docker image rm [imageid] ????????根據(jù)鏡像id刪除某個鏡像 docker rmi -f [imageid]?????????根據(jù)鏡像id刪除某個鏡像 docker rmi -f $(docker image ls) ????????刪除所有鏡像
容器操作命令
docker start 容器id/容器名稱 ????????根據(jù)容器id或者名稱啟動容器 docker exec -it 容器id bash ????????進入某個容器 service mysql status ????????查看mysql狀態(tài)【前提是先進入mysql容器】 service mysql start ????????啟動mysql【前提是先進入mysql容器】 mysql -uroot -p ????????連接mysql
mysql> create database testdb; #創(chuàng)建數(shù)據(jù)庫testdb
mysql> show databases; #查看數(shù)據(jù)庫列表
mysql> use testdb; #使用數(shù)據(jù)庫testdb
mysql> show tables; #查看數(shù)據(jù)庫中的表
mysql> create table `user`(
-> `id` bigint(20) NOT NULL,
-> `name` varchar(100) NOT NULL,
-> `email` varchar(200) DEFAULT NULL,
-> `address` varchar(255) DEFAULT NULL,
-> `phone` varchar(20) DEFAULT NULL,
-> PRIMARY KEY(`id`)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> insert into `user`(`id`,`name`,`email`,`address`,`phone`) values(1,'Lucifer','xxx123456@qq.com','xian','123456789');
mysql> select * from user;
+----+---------+------------------+---------+-----------+
| id | name | email | address | phone |
+----+---------+------------------+---------+-----------+
| 1 | Lucifer | xxx123456@qq.com | xian | 123456789 |
+----+---------+------------------+---------+-----------+
1 row in set (0.00 sec)
mysql>
docker ps ????????查看運行中的容器 docker ps -a?????????查看所有容器 docker ps -aq ????????查看所有容器 docker rm 容器id? ? 刪除某個容器 docker rm -f $(docker ps -a)?????????刪除所有容器 docker stop 容器id/容器名稱?????????停止某個容器 docker top 容器id/容器名稱?????????列出容器中運行進程 docker rename 舊容器名稱 新容器名稱? ? ? ? ?修改容器名稱 docker logs 容器id/容器名稱? ? ? ? ?查看容器服務(wù)的實時日志 docker logs --tail 20 容器id/容器名稱? ? ? ? ?查看容器服務(wù)后20行日志 docker inspect 容器id ????????查看容器詳細信息 docker stats 容器id ????????查看容器詳情(CPU占用、內(nèi)存使用、IO數(shù))
docker數(shù)據(jù)持久化命令
-v mysql-volume:/var/lib/mysql? ? ? ? 通過volume將物理機/var/lib/docker/volumes/mysql-volume/_data目錄和容器虛擬機/var/lib/mysql目錄綁定-v /root/data/mysql:/var/lib/mysql? ? ? ? ? 直接將物理機/root/data/mysql目錄和容器虛擬機/var/lib/mysql目錄綁定
docker volume ls? ? ? ? ?查看docker持久化存儲情況 docker exec -it mysql bash? ? ? ? ?進入mysql容器中 ls /var/lib/mysql? ? ? ? ?可以在這個目錄下查看到mysql的數(shù)據(jù) docker volume inspect volume_name? ? ? ? ?可以查看到物理機中的目錄 ls /var/lib/docker/volumes/eefab808edf91781c5605f4d8c1e42074af848c8ebb112305fcf2a4d8769a663/_data? ? ? ? ?可以發(fā)現(xiàn)物理機目錄下和mysql容器/var/lib/mysql目錄下內(nèi)容相同 docker volume create mysql-volume? ? ? ? ?創(chuàng)建volume docker run -d --name mysql5.7 -v mysql-volume:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7? ? ? ? ?創(chuàng)建容器并使用自定義的volume ls /var/lib/docker/volumes/mysql-volume/_data? ? ? ? ?查看自定義volume對應(yīng)的物理機目錄下內(nèi)容 -v mysql-volume:/var/lib/mysql就等同于在Dockerfile中定義的VOLUME命令
驗證持久化效果:
mysql> create database db_test;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db_test |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql> exit
Bye
root@29d465c7bc45:/# exit
exit
[root@localhost ~]# docker exec -it mysql5.7 bash
root@29d465c7bc45:/# ls /var/lib/mysql
auto.cnf ca.pem client-key.pem ib_buffer_pool ib_logfile1 ibtmp1 performance_schema public_key.pem server-key.pem
ca-key.pem client-cert.pem db_test ib_logfile0 ibdata1 mysql private_key.pem server-cert.pem sys
root@29d465c7bc45:/# exit
exit
[root@localhost ~]# ls /var/lib/docker/volumes/mysql-volume/_data
auto.cnf ca.pem client-key.pem ib_buffer_pool ib_logfile0 ibtmp1 performance_schema public_key.pem server-key.pem
ca-key.pem client-cert.pem db_test ibdata1 ib_logfile1 mysql private_key.pem server-cert.pem sys
[root@localhost ~]#
防火墻相關(guān)命令
systemctl ?stop firewalld ?????????關(guān)閉防火墻 systemctl disable firewalld ????????禁止開機啟動防火墻 systemctl status ?firewalld ?????????查看是否關(guān)閉防火墻
搭建jenkins
docker pull jenkins? ? ? ? ?拉取jenkins鏡像 docker tag jenkins myjenkins? ? ? ? ?給鏡像重命名 mkdir -p /opt/jenkins 創(chuàng)建目錄/opt/jenkins chmod 777 /opt/jenkins? ? ? ? ?對文件夾進行授權(quán) docker run -d --name jenkins -p 10240:8080 -v /opt/jenkins:/var/jenkins_home jenkins? ? ? ? 根據(jù)jenkins鏡像創(chuàng)建容器并啟動 docker start jenkins? ? ? ? ?啟動jenkins容器 docker exec -it jenkins bash? ? ? ? ?進入jenkins容器 cat /var/jenkins_home/secrets/initialAdminPassword? ? ? ? ?查看jenkins admin password
docker 安裝及修改docker根目錄
1、centos7簡單安裝docker
查看Linux服務(wù)器的系統(tǒng)是CentOS7.4的
[root@VM_82_178_centos ~]# cat /etc/RedHat-release
CentOS Linux release 7.4.1708 (Core)
#安裝依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2
#添加Docker軟件包源
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
#docker yum源:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#上面為官方源,下面為阿里源,二選一?
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安裝Docker CE
yum install docker-ce -y
#啟動docker
systemctl start docker
#設(shè)置開機啟動
systemctl enable docker
#查看Docker信息
docker info
2、設(shè)置docker數(shù)據(jù)根目錄
通過?docker info?命令來進行查看Docker Root Dir值,可以發(fā)現(xiàn)Docker服務(wù)默認的數(shù)據(jù)目錄Docker Root Dir是/var/lib/docker
#確保停止Docker服務(wù)
systemctl stop docker.service
將原先目錄下所有的文件和目錄拷貝到新目錄下
cp -rf /var/lib/docker/* /mnt/soft/docker # 該路徑為你指定的大容量空間路徑
修改/etc/docker/daemon.json文件值,文件不存在需手動創(chuàng)建
vim /etc/docker/daemon.json
# 新增以下內(nèi)容
{
"data-root": "/mnt/soft/docker"
}
啟動docker服務(wù)
systemctl start docker.service
驗證Docker Root Dir 的值是否已修改為/mnt/soft/docker
3、centos7安裝docker engine
(1)卸載之前的docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
(2)安裝yum-utils,設(shè)置docker倉庫
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
(3)查看可以安裝的版本
yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:20.10.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.7-3.el7 @docker-ce-stable
docker-ce.x86_64 3:20.10.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.3-3.el7 docker-ce-stable
(5)安裝最新或指定版本
安裝最新版本:
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
安裝指定版本20.10.7:
sudo yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io docker-compose-plugin
(6)啟動docker并設(shè)置為開機啟動
sudo systemctl start docker && sudo systemctl enable docker
(7)測試docker安裝是否成功
sudo docker run hello-world
(8)配置鏡像加速器
設(shè)置方式參照:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
4、Docker安裝tomcat和mysql
(1)tomcat:8.0
# 拉取鏡像:
docker pull tomcat:8.0
# 根據(jù)鏡像創(chuàng)建容器:
docker run -d --name tomcat01 -p 8088:8080 tomcat:8.0
(2)mysql
# -d設(shè)置后臺啟動, --name給容器命名, -p端口映射, -e添加環(huán)境變量
docker run -d --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=jack666 --
privileged mysql:5.7
鏡像、容器操作
1、將jar包制作鏡像
(1)創(chuàng)建一個Spring Boot項目,寫一個controller
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello Docker!!!";
}
}
注意在項目的pom.xml中一定要加下面配置,否則啟動jar鏡像會報錯:no main manifest attribute
(2)mvn clean package,并在target下找到j(luò)ar包,如"springboot-demo2-1.0-SNAPSHOT.jar"
(3)上傳"springboot-demo2-1.0-SNAPSHOT.jar"到centos,并創(chuàng)建Dockerfile文件
FROM openjdk:8
COPY springboot-demo2-1.0-SNAPSHOT.jar sb-jar-image.jar
CMD ["java","-jar","sb-jar-image.jar"]
或者
# 基礎(chǔ)鏡像使用java
FROM java:8
#將jar包添加到容器中并更名為: sb-jar-image.jar
ADD springboot-demo2-1.0-SNAPSHOT.jar sb-jar-image.jar
#運行jar包
RUN bash -c 'touch sb-jar-image.jar'
ENTRYPOINT ["java","-jar","sb-jar-image.jar"]
#暴露端口
EXPOSE 8080
(4)基于Dockerfile構(gòu)建鏡像并查看
docker build -t sb-jar-image .
docker images
(5)基于image創(chuàng)建container
docker run -d --name sb-jar -p 8080:8080 sb-jar-image
(6)查看啟動日志:docker logs sb-jar
(7)宿主機上訪問curl localhost:8080/hello
[root@localhost ~]# curl localhost:8080/hello
Hello Docker!!![root@localhost ~]#
或者主機瀏覽器訪問虛擬機ip:8080/hello
2、阿里鏡像倉庫
阿里鏡像倉庫地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
(1)進入個人實例:https://cr.console.aliyun.com/cn-hangzhou/instance/dashboard
(2)創(chuàng)建命名空間,比如 lucifer-k8s
(3)在centos上登錄
[root@localhost ~]# sudo docker login --username=lucifer_ztl registry.cn-hangzhou.aliyuncs.com
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
(4)給image打tag
[root@localhost ~]# sudo docker tag 84ea3746c8e6 registry.cn-hangzhou.aliyuncs.com/lucifer-k8s/lucifer-k8s-repository:v1.0
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
sb-jar-image latest 84ea3746c8e6 2 days ago 678MB
registry.cn-hangzhou.aliyuncs.com/lucifer-k8s/lucifer-k8s-repository v1.0 84ea3746c8e6 2 days ago 678MB
openjdk 8 e24ac15e052e 11 months ago 526MB
hello-world latest feb5d9fea6a5 14 months ago 13.3kB
java
(5)推送鏡像到鏡像倉庫
[root@localhost ~]# sudo docker push registry.cn-hangzhou.aliyuncs.com/lucifer-k8s/lucifer-k8s-repository:v1.0
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/lucifer-k8s/lucifer-k8s-repository]
0634aee8ab8a: Pushed
a0d2245cc87f: Pushed
35c20f26d188: Pushed
c3fe59dd9556: Pushed
6ed1a81ba5b6: Pushed
a3483ce177ce: Pushed
ce6c8756685b: Pushed
30339f20ced0: Pushed
0eb22bfb707d: Pushed
a2ae92ffcd29: Pushed
v1.0: digest: sha256:55044767d6a5abcf62595732449f3dafb3cc7ce09f5ac222f37e56d915211003 size: 2424
(6)下載鏡像并運行
[root@localhost ~]# docker pull registry.cn-hangzhou.aliyuncs.com/lucifer-k8s/lucifer-k8s-repository:v1.0
[root@localhost ~]# docker run -d --name docker01 -p 8081:8081 registry.cn-hangzhou.aliyuncs.com/lucifer-k8s/lucifer-k8s-repository:v1.0
mysql高可用集群保證數(shù)據(jù)一致性:
(1)從庫連接主庫,(2)主庫dump線程獲取binlog發(fā)送給從庫,(3)從庫IO線程寫數(shù)據(jù)到relay log,(4)sql線程讀取relay log執(zhí)行sql更新數(shù)據(jù)到從庫
PXC
Percona Xtradb Cluster
多主+同步復(fù)制+強一致性
篩選 -> 網(wǎng)上填表 -> 筆試(算法,選擇) -> 面試(公司介紹+個人介紹+架構(gòu)設(shè)計+基礎(chǔ))? -> 體檢
柚子快報激活碼778899分享:Docker安裝及常用命令
相關(guān)閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。