CentOS8下的Docker使用

beeworkshop發表於2020-11-04


一、CentOS8下Docker的安裝

curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
yum install -y https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
yum install -y docker-ce

二、CentOS8下Docker的啟動與停止

啟動命令
systemctl start docker
service docker start

關閉命令
systemctl stop docker
service docker stop

檢視 Docker 狀態
docker info

三、映象加速器配置

1. 訪問阿里雲

https://www.aliyun.com/

2. 配置映象加速地址

進入控制檯
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
檢視配置的映象加速地址

docker info

檢視Registry Mirrors:部分。

四、Docker的基本操作

五、其他技巧

1. docker容器強殺

docker kill 容器 ID 或名稱

2. 檢視docker容器日誌

docker logs -f -t container_name

3. 檢視docker容器中執行了哪些程式

docker top container_name

4. 執行docker容器不自動退出然後進入容器

docker run -d -it 63bd2b510f17 /bin/bash
或者
docker run -id d70eaf7277ea # 有時不靈

docker exec -it 03d80e28c244 /bin/bash

注意,/bin/bash要放在最後。

5. 檢視容器的配置資訊

docker inspect 03d80e28c244

6. 容器與宿主機之間拷貝檔案/目錄

docker cp --help

Usage:	docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
	docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

Copy files/folders between a container and the local filesystem

Use '-' as the source to read a tar archive from stdin
and extract it to a directory destination in a container.
Use '-' as the destination to stream a tar archive of a
container source to stdout.

Options:
  -a, --archive       Archive mode (copy all uid/gid information)
  -L, --follow-link   Always follow symbol link in SRC_PATH

六、IDEA中一鍵打包docker映象

1. 修改 Docker 服務配置

vim /usr/lib/systemd/system/docker.service

找到如下內容
在這裡插入圖片描述
在上圖紅色標記的最後加入如下內容

-H unix:///var/run/docker.sock -H 0.0.0.0:2375

# -H unix:///var/run/docker.sock : 開啟一個對外主機服務,使用 docker.sock 檔案管理。
# -H 0.0.0.0:2375 : 允許什麼客戶端 IP 訪問當前服務,當前服務對外暴露的埠號是什麼。2375是自定義的埠。

systemctl daemon-reload
systemctl restart docker

2. POM檔案中引入相應外掛

<build>
    <plugins>
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>1.2.2</version>
            <configuration>
                <imageName>projects/eureka:1.0</imageName> <!--指定映象名稱 倉庫/映象名:標籤-->
                <baseImage>openjdk:latest</baseImage> <!--指定基礎映象-->
                <dockerHost>http://192.168.74.131:2375</dockerHost> <!-- 指定業務部署伺服器倉庫地址-->
                <entryPoint>["java","-jar","/${project.build.finalName}.jar"]</entryPoint> <!-- 容器啟動執行的命令 -->
                <exposes>
                    <expose>8761</expose><!-- 釋出埠 -->
                </exposes>
                <resources>
                    <resource>
                        <targetPath>/</targetPath> <!-- 指定要複製的目錄路徑,這裡是當前目錄 -->
                        <directory>${project.build.directory}</directory> <!-- 指定要複製的根目錄,這裡是 target 目錄 -->
                        <include>${project.build.finalName}.jar</include> <!-- 指定需要拷貝的檔案,這裡指最後生成的 jar 包 -->
                    </resource>
                </resources>
            </configuration>
        </plugin>
    </plugins>
</build>

如果提示maven外掛無法匯入,可以修改maven的配置檔案conf/settings.xml,新增如下內容:

<pluginGroups>
  <pluginGroup>com.spotify</pluginGroup>
</pluginGroups>

然後
在這裡插入圖片描述
注意在匯入依賴時要先引入依賴包——先不要配置configuration標籤。

3. 新增 IDEA 啟動配置

在這裡插入圖片描述
或者
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

docker run -d -p 8761:8761 --name eureka01 image_name
docker logs -f container_name

七、將本地伺服器的docker映象推送到阿里雲私有倉庫中

1. 建立阿里雲映象倉庫

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

2. 向映象倉庫push你的映象

在這裡插入圖片描述
根據操作指南操作即可。

八、建立本地映象倉庫

1. 新建本地倉庫

本地倉庫也是一個docker容器

docker pull registry

vim /usr/lib/systemd/system/docker.service
========================================================================
找到 Service 節點,在 ExecStart 屬性末尾增加新引數,值為:
--insecure-registry 192.168.74.131:5000

vim /etc/docker/daemon.json
=========================================================================
末尾新增配置內容:
{
"insecure-registries":["192.168.74.131:5000"]
}

systemctl daemon-reload
systemctl restart docker

docker run -p 5000:5000 -v /opt/registry:/var/lib/registry --name registry -d registry

192.168.74.131指代本地業務伺服器地址。

2. 瀏覽器檢視本地倉庫

http://ip:5000/v2

3. push 映象

# 為映象改名
docker tag [ImageId] ip:5000/[映象名稱]:[映象版本號]
docker push ip:5000/[映象名稱]:[映象版本號]

在瀏覽器中檢視 push 結果
http://ip:5000/v2/_catalog

4. pull 映象

docker pull ip:5000/[映象名稱]:[映象版本號]

相關文章