Docker常用命令
近水楼台先得月,向阳花木易为春。——苏麟《断句》
对docker命令在大部分情境下的使用实验,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来。
根据自己的理解,总的来说分为以下几种:
Docker环境信息 — docker [info | version] | ||||||||
容器生命周期管理 — docker [create | exec | run | start | stop | restart | kill | rm | pause | unpause] |
容器操作运维 — docker [ps | inspect | top | attach | wait | export | port | rename | stat] | |
容器rootfs命令 — docker [commit | cp | diff] | |||||||
镜像仓库 — docker [login | pull | push | search] | ||||||
本地镜像管理 — docker [build | images | rmi | tag | save | import | load] | |||
容器资源管理 — docker [volume | network] | ||||||||
系统日志信息 — docker [events | history | logs] |
Docker环境信息
用于检测Docker是否正确安装
docker version
# 查看docker容器版本
docker version
Client: Docker Engine - Community
Version: 20.10.17
API version: 1.41
Go version: go1.17.11
Git commit: 100c701
Built: Mon Jun 6 23:02:46 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.17
API version: 1.41 (minimum version 1.12)
Go version: go1.17.11
Git commit: a89b842
Built: Mon Jun 6 23:00:51 2022
OS/Arch: linux/amd64
Experimental: false
......
docker info
# 查看docker容器信息
docker info
Client:
Context: default
Debug Mode: false
Plugins:
app: Docker App (Docker Inc., v0.9.1-beta3)
buildx: Docker Buildx (Docker Inc., v0.8.2-docker)
scan: Docker Scan (Docker Inc., v0.17.0)
Server:
Containers: 2
Running: 1
Paused: 0
Stopped: 1
Images: 13
Server Version: 20.10.17
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
......
docker help
Docker帮助命令
# 查看docker命令帮助
docker help
Usage: docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Options:
--config string Location of client config files (default "/root/.docker")
-c, --context string Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set
with "docker context use")
-D, --debug Enable debug mode
-H, --host list Daemon socket(s) to connect to
-l, --log-level string Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
--tls Use TLS; implied by --tlsverify
--tlscacert string Trust certs signed only by this CA (default "/root/.docker/ca.pem")
--tlscert string Path to TLS certificate file (default "/root/.docker/cert.pem")
--tlskey string Path to TLS key file (default "/root/.docker/key.pem")
--tlsverify Use TLS and verify the remote
-v, --version Print version information and quit
Management Commands:
app* Docker App (Docker Inc., v0.9.1-beta3)
builder Manage builds
buildx* Docker Buildx (Docker Inc., v0.8.2-docker)
config Manage Docker configs
container Manage containers
context Manage contexts
image Manage images
manifest Manage Docker image manifests and manifest lists
network Manage networks
node Manage Swarm nodes
plugin Manage plugins
scan* Docker Scan (Docker Inc., v0.17.0)
secret Manage Docker secrets
service Manage services
stack Manage Docker stacks
swarm Manage Swarm
system Manage Docker
trust Manage trust on Docker images
volume Manage volumes
Commands:
# 当前 shell 下 attach 连接指定运行镜像
attach Attach local standard input, output, and error streams to a running container
# 通过 Dockerfile 定制镜像
build Build an image from a Dockerfile
# 提交当前容器为新的镜像
commit Create a new image from a container's changes
# 从容器中拷贝指定文件或者目录到宿主机中
cp Copy files/folders between a container and the local filesystem
# 创建一个新的容器,同 run,但不启动容器,注意,此时,容器的status只是Created
create Create a new container
# 查看 docker 容器变化
diff Inspect changes to files or directories on a container's filesystem
# 从 docker 服务获取容器实时事件,包括容器的创建,启动,关闭等。
events Get real time events from the server
# 在已存在的容器上运行命令
exec Run a command in a running container
# 导出容器的内容流作为一个 tar 归档文件[对应 import ]
export Export a container's filesystem as a tar archive
# 展示一个镜像形成历史
history Show the history of an image
# 列出系统当前镜像
images List images
# 从tar包中的内容创建一个新的文件系统映像[对应 export]
import Import the contents from a tarball to create a filesystem image
# 显示系统相关信息
info Display system-wide information
# 查看容器详细信息,用于查看容器的配置信息,包含容器名、环境变量、运行命令、主机配置、网络配置和数据卷配置等。
inspect Return low-level information on Docker objects
# kill 指定 docker 容器,关于stop和kill的区别,docker stop命令给容器中的进程发送SIGTERM信号,默认行为是会导致容器退出,当然,
容器内程序可以捕获该信号并自行处理,例如可以选择忽略。而docker kill则是给容器的进程发送SIGKILL信号,该信号将会使容器必然退出。
kill Kill one or more running containers
# 从一个 tar 包中加载一个镜像[对应 save]
load Load an image from a tar archive or STDIN
# 注册或者登陆一个 docker 源服务器
login Log in to a Docker registry
# 从当前 Docker registry 退出
logout Log out from a Docker registry
# 输出当前容器日志信息
logs Fetch the logs of a container
# 暂停容器
pause Pause all processes within one or more containers
# 查看映射端口对应的容器内部源端口
port List port mappings or a specific mapping for the container
# 列出容器列表
ps List containers
# 从docker镜像源服务器拉取指定镜像或者库镜像
pull Pull an image or a repository from a registry
# 推送指定镜像或者库镜像至docker源服务器
push Push an image or a repository to a registry
rename Rename a container
# 重启运行的容器
restart Restart one or more containers
# 移除一个或者多个容器
rm Remove one or more containers
# 移除一个或多个镜像[无容器使用该镜像才可删除,否则需删除相关容器才可继续或 -f 强制删除]
rmi Remove one or more images
# 创建一个新的容器并运行一个命令
run Run a command in a new container
# 保存一个镜像为一个 tar 包[对应 load]
save Save one or more images to a tar archive (streamed to STDOUT by default)
# 在 docker hub 中搜索镜像
search Search the Docker Hub for images
# 启动容器
start Start one or more stopped containers
stats Display a live stream of container(s) resource usage statistics
# 停止容器
stop Stop one or more running containers
# 给源中镜像打标签
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
# 查看容器中运行的进程信息
top Display the running processes of a container
# 取消暂停容器
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
# 查看 docker 版本号
version Show the Docker version information
# 截取容器停止时的退出状态值
wait Block until one or more containers stop, then print their exit codes
Docker镜像命令
提示:对于镜像的操作可使用镜像名、镜像长ID和短ID。
docker search
镜像查找
# 搜索仓库MySQL镜像
docker search mysql
# --filter=stars=600:只显示 starts>=600 的镜像
docker search --filter=stars=600 mysql
# --no-trunc 显示镜像完整 DESCRIPTION 描述
docker search --no-trunc mysql
# --automated :只列出 AUTOMATED=OK 的镜像
docker search --automated mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 13440 [OK]
mariadb MariaDB Server is a high performing open sou… 5124 [OK]
......
docker images
镜像查看
# 列出本地images
docker images
# 含中间映像层
docker images -a
# 只显示镜像ID
docker images -q
# 含中间映像层
docker images -qa
# 显示镜像摘要信息(DIGEST列)
docker images --digests
# 显示镜像完整信息
docker images --no-trunc
# 显示指定镜像的历史创建;参数:-H 镜像大小和日期,默认为true;--no-trunc 显示完整的提交记录;-q 仅列出提交记录ID
docker history -H redis
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest feb5d9fea6a5 13 months ago 13.3kB
kindest/node <none> de6eb7df13da 2 years ago 1.25GB
docker pull
镜像下载
# 下载Redis官方最新镜像,相当于:docker pull redis:latest
docker pull redis
# 下载仓库所有Redis镜像
docker pull -a redis
# 下载私人仓库镜像
docker pull bitnami/redis
docker rmi
镜像删除
# 单个镜像删除,相当于:docker rmi redis:latest
docker rmi redis
# 强制删除(针对基于镜像有运行的容器进程)
docker rmi -f redis
# 多个镜像删除,不同镜像间以空格间隔
docker rmi -f redis tomcat nginx
# 删除本地全部镜像
docker rmi -f $(docker images -q)
docker build
镜像构建
# 编写dockerfile
cd /docker/dockerfile
vim mycentos
# 构建docker镜像
docker build -f /docker/dockerfile/mycentos -t mycentos:1.1
容器操作
提示:对于容器的操作可使用CONTAINER ID 或 NAMES。
容器启动
# 新建并启动容器,参数:-i 以交互模式运行容器;-t 为容器重新分配一个伪输入终端;--name 为容器指定一个名称
docker run -i -t --name mycentos
# 后台启动容器,参数:-d 已守护方式启动容器
docker run -d mycentos
注意:此时使用”docker ps -a”会发现容器已经退出。这是docker的机制:要使Docker容器后台运行,就必须有一个前台进程。解决方案:将你要运行的程序以前台进程的形式运行。
# 启动一个或多个已经被停止的容器
docker start redis
# 重启容器
docker restart redis
容器进程
# top支持 ps 命令参数,格式:docker top [OPTIONS] CONTAINER [ps OPTIONS]
# 列出redis容器中运行进程
docker top redis
# 查看所有运行容器的进程信息
for i in `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done
查看容器细节
docker inspect
json格式存储的容器详细细节
容器日志
$ docker logs [OPTIONS] CONTAINER
Options:
--details 显示更多的信息
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
# 查看redis容器日志,默认参数
docker logs rabbitmq
# 查看redis容器日志,参数:-f 跟踪日志输出;-t 显示时间戳;--tail 仅列出最新N条容器日志;
docker logs -f -t --tail=20 redis
# 查看容器redis从2019年05月21日后的最新10条日志。
docker logs --since="2019-05-21" --tail=10 redis
# 查看指定时间后的日志,只显示最后100行
$ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID
# 查看最近30分钟的日志
$ docker logs --since 30m CONTAINER_ID
# 查看某时间之后的日志
$ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID
# 查看某时间段日志
$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID
# 查看最后100行,并过滤关键词Exception
$ docker logs -f --tail=100 CONTAINER_ID | grep "Exception"
容器的进入与退出
# 使用run方式在创建时进入
docker run -it centos /bin/bash
# 关闭容器并退出
exit
# 仅退出容器,不关闭
快捷键:Ctrl + P + Q
# 直接进入centos 容器启动命令的终端,不会启动新进程,多个attach连接共享容器屏幕,参数:--sig-proxy=false 确保CTRL-D或CTRL-C不会关闭容器
docker attach --sig-proxy=false centos
# 在 centos 容器中打开新的交互模式终端,可以启动新进程,参数:-i 即使没有附加也保持STDIN 打开;-t 分配一个伪终端
docker exec -i -t centos /bin/bash
# 以交互模式在容器中执行命令,结果返回到当前终端屏幕
docker exec -i -t centos ls -l /tmp
# 以分离模式在容器中执行命令,程序后台运行,结果不会反馈到当前终端
docker exec -d centos touch cache.txt
查看容器
# 查看正在运行的容器
docker ps
# 查看正在运行的容器的ID
docker ps -q
# 查看正在运行+历史运行过的容器
docker ps -a
# 显示运行容器总文件大小
docker ps -s
# 显示最近创建容器
docker ps -l
# 显示最近创建的3个容器
docker ps -n 3
# 不截断输出
docker ps --no-trunc
# 获取镜像redis的元信息
docker inspect redis
# 获取正在运行的容器redis的 IP
docker inspect --format='' redis
容器的停止与删除
#停止一个运行中的容器
docker stop redis
#杀掉一个运行中的容器
docker kill redis
#删除一个已停止的容器
docker rm redis
#删除一个运行中的容器
docker rm -f redis
#删除多个容器
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
# -l 移除容器间的网络连接,连接名为 db
docker rm -l db
# -v 删除容器,并删除容器挂载的数据卷
docker rm -v redis
生成镜像
# 基于当前redis容器创建一个新的镜像;参数:-a 提交的镜像作者;-c 使用Dockerfile指令来创建镜像;-m :提交时的说明文字;-p :在commit时,将容器暂停
docker commit -a="DeepInThought" -m="my redis" [redis容器ID] myredis:v1.1
容器与主机间的数据拷贝
# 将rabbitmq容器中的文件copy至本地路径
docker cp rabbitmq:/[container_path] [local_path]
# 将主机文件copy至rabbitmq容器
docker cp [local_path] rabbitmq:/[container_path]/
# 将主机文件copy至rabbitmq容器,目录重命名为[container_path](注意与非重命名copy的区别)
docker cp [local_path] rabbitmq:/[container_path]
其它操作
清理环境
# 查询容器列表
docker ps -a
# 停用容器
sudo docker stop [CONTAINER ID]
# 删除容器
sudo docker rm [CONTAINER ID]
# 删除镜像
sudo docker rmi [Image ID]
# 检查是否被删除
sudo docker images
# 停止所有容器
docker stop $(docker ps -a -q)
# 删除所有容器
docker rm $(docker ps -a -q)
# 删除所有镜像
docker rmi $(docker images -q)
文件拷贝
# 从主机复制到容器
sudo docker cp host_path containerID:container_path
# 从容器复制到主机
sudo docker cp containerID:container_path host_path
Docker安装的脚本
#!/bin/bash
# 移除掉旧的版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
# 删除所有旧的数据
sudo rm -rf /var/lib/docker
# 安装依赖包
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
# 添加源,使用了阿里云镜像
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 配置缓存
sudo yum makecache fast
# 安装最新稳定版本的docker
sudo yum install -y docker-ce
# 配置镜像加速器
#sudo mkdir -p /etc/docker
#sudo tee /etc/docker/daemon.json <<-'EOF'
#{
# "registry-mirrors": ["http://hub-mirror.c.163.com"]
#}
#EOF
# 启动docker引擎并设置开机启动
sudo systemctl start docker
sudo systemctl enable docker
# 配置当前用户对docker的执行权限
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker
将文件报错为docker.sh
chmod 777 docker.sh
执行脚本 ./docker.sh
遇到的问题
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
解决ping 不通问题
[root@seckillmysql ~]# vi /etc/resolv.conf
//增加这两行
nameserver 223.5.5.5
nameserver 223.6.6.6
docker创建Alpine镜像
什么是Alpine
Alpine Linux 是一个社区开发的面向安全应用的轻量级Linux发行版,适合用来做Docker镜像、路由器、防火墙、VPNs、VoIP 盒子 以及服务器的操作系统,基于musl libc和Busybox,镜像大小只有5M,并且还提供了包管理工具apk查询和安装软件包。
获取Alpine镜像
$ docker search alpine
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
alpine A minimal Docker image based on Alpine Linux… 5587 [OK]
mhart/alpine-node Minimal Node.js built on Alpine Linux 439
anapsix/alpine-java Oracle Java 8 (and 7) with GLIBC 2.28 over A… 421 [OK]
frolvlad/alpine-glibc Alpine Docker image with glibc (~12MB) 210 [OK]
gliderlabs/alpine Image based on Alpine Linux will help you wi… 180
mvertes/alpine-mongo light MongoDB container 105 [OK]
alpine/git A simple git container running in alpine li… 97 [OK]
yobasystems/alpine-mariadb MariaDB running on Alpine Linux [docker] [am… 46 [OK]
kiasaki/alpine-postgres PostgreSQL docker image based on Alpine Linux 44 [OK]
alpine/socat Run socat command in alpine container 36 [OK]
davidcaste/alpine-tomcat Apache Tomcat 7/8 using Oracle Java 7/8 with… 36 [OK]
zzrot/alpine-caddy Caddy Server Docker Container running on Alp… 35 [OK]
easypi/alpine-arm AlpineLinux for RaspberryPi 32
jfloff/alpine-python A small, more complete, Python Docker image … 26 [OK]
byrnedo/alpine-curl Alpine linux with curl installed and set as … 26 [OK]
hermsi/alpine-sshd Dockerize your OpenSSH-server with rsync and… 23 [OK]
etopian/alpine-php-wordpress Alpine WordPress Nginx PHP-FPM WP-CLI 21 [OK]
hermsi/alpine-fpm-php Dockerize your FPM PHP 7.4 upon a lightweigh… 18 [OK]
bashell/alpine-bash Alpine Linux with /bin/bash as a default she… 13 [OK]
zenika/alpine-chrome Chrome running in headless mode in a tiny Al… 13 [OK]
davidcaste/alpine-java-unlimited-jce Oracle Java 8 (and 7) with GLIBC 2.21 over A… 13 [OK]
spotify/alpine Alpine image with `bash` and `curl`. 9 [OK]
tenstartups/alpine Alpine linux base docker image with useful p… 8 [OK]
rawmind/alpine-traefik This image is the traefik base. It comes fro… 5 [OK]
hermsi/alpine-varnish Dockerize Varnish upon a lightweight alpine-… 1 [OK]
获取Alpine镜像
docker pull 方法
docker pull alpine:latest
latest: Pulling from library/alpine
9d48c3bd43c5: Pull complete
Digest: sha256:72c42ed48c3a2db31b7dafe17d275b634664a708d901ec9fd57b1529280f01fb
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest
dockerfile 文件
mkdir alpine && cd alpine
touch Dockerfile
'''
#escape=
#This docker file uses alpine:latest image
#VERSION 1.0
#Author: Swift
#e-mail: ilyzhaoxin@sina.com
#DateTime: 2019-08-27 21:15
from alpine:latest
RUN apk add --no-cache mysql-client
ENTRYPOINT ['mysql']
'''
docker build .
Docker常用的脚本
Git
FROM alpine/git
MAINTAINER yang <yang@163.com>
# 使用阿里云镜像
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
# Install base packages
RUN apk --no-cache update && \
apk --no-cache upgrade && \
apk --no-cache add curl bash tzdata tar unzip && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone && \
rm -fr /tmp/* /var/cache/apk/*
# Define bash as default command
CMD ["/bin/bash"]
Maven
FROM maven:3.6-jdk-8-alpine
MAINTAINER yang <yang@163.com>
ARG LOCAL_MAVEN_MIRROR=http://maven.aliyun.com/nexus/content/groups/public/
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
ENV MAVEN_SETING_FILE=/usr/share/maven/conf/settings.xml
VOLUME /var/maven/repository
# Install base packages
RUN apk --no-cache update && \
apk --no-cache upgrade && \
apk --no-cache add tzdata unzip git && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone && \
rm -fr /tmp/* /var/cache/apk/*
COPY settings.xml ${MAVEN_SETING_FILE}
# override default maven docker configuration
RUN cat /usr/share/maven/conf/settings.xml > /usr/share/maven/ref/settings-docker.xml
RUN mkdir -p /root/.m2 && cp /usr/share/maven/conf/settings.xml /root/.m2/settings.xml
Mysql5.7
FROM mysql:5.7.33
# 维护者信息
MAINTAINER yang <yang@163.com>
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak
COPY buster.sources.list /etc/apt/sources.list
RUN apt-get update && \
apt-get install -y curl git unzip vim wget && \
apt-get install -y locales kde-l10n-zhcn && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN sed -i 's/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/g' /etc/locale.gen
RUN locale && locale-gen "zh_CN.UTF-8"
# Set environment variables.
ENV LANG=zh_CN.UTF-8 \
LANGUAGE=zh_CN:zh:en_US:en \
LC_ALL=zh_CN.UTF-8 \
TZ=Asia/Shanghai \
DEBIAN_FRONTEND="noninteractive" \
TERM=xterm
RUN ln -fs /usr/share/zoneinfo/$TZ /etc/localtime && \
echo $TZ > /etc/timezone && \
dpkg-reconfigure --frontend noninteractive tzdata && \
dpkg-reconfigure --frontend noninteractive locales
COPY my.cnf /etc/mysql/my.cnf
RUN mkdir -p /etc/mysql/mysql-my.conf.d/
EXPOSE 3306
CMD ["mysqld"]
Elasticsearch
# https://github.com/elastic/elasticsearch-docker
FROM docker.elastic.co/elasticsearch/elasticsearch:5.3.0
USER root
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
# Install base packages
RUN apk --no-cache update && \
apk --no-cache add curl bash tzdata tar unzip && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone && \
echo -ne "Alpine Linux 3.4.4 image. (`uname -rsv`)\n" >> /root/.built && \
rm -fr /tmp/* /var/cache/apk/*
USER elasticsearch
CMD ["/bin/bash", "bin/es-docker"]
EXPOSE 9200 9300
Skywalking
安装服务端:这里介绍服务端的两种存储等式,一种是默认的H2存储,即数据存储在内存中,一种是使用elasticsearch存储,
默认H2存储
输入以下命令,并耐心待下载。
sudo docker run --name skywalking -d -p 1234:1234 -p 11800:11800 -p 12800:12800 --restart always apache/skywalking-oap-server
elasticsearch存储
安装ElasticSearch
sudo docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 --restart always -e "discovery.type=single-node" elasticsearch:6.7.2
安装 ElasticSearch管理界面elasticsearch-hq
sudo docker run -d --name elastic-hq -p 5000:5000 --restart always elastichq/elasticsearch-hq
输入以下命令,并等待下载
sudo docker run --name skywalking -d -p 1234:1234 -p 11800:11800 -p 12800:12800 --restart always --link elasticsearch:elasticsearch -e SW_STORAGE=elasticsearch -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 apache/skywalking-oap-server
安装管理界面:
输入以下命令,并等待下载安装。
sudo docker run --name skywalking-ui -d -p 8080:8080 --link skywalking:skywalking -e SW_OAP_ADDRESS=skywalking:12800 --restart always apache/skywalking-ui
访问管理界验证安装结果
在浏览器里面输入http://192.168.150.134:8080,出现了如下界面,到此Skywalking的安装就大功告成了。
Skywalking8.6.0 脚本
# skywalking-oap-server
docker run \
--name skywalking-oap \
--restart always \
-p 11800:11800 \
-p 12800:12800 -d \
--privileged=true \
-e TZ=Asia/Shanghai \
-e SW_STORAGE=elasticsearch7 \
-e SW_STORAGE_ES_CLUSTER_NODES=10.7.1.39:9200 \
-e SW_NAMESPACE=qjd-sw-online \
-v /etc/localtime:/etc/localtime:ro \
apache/skywalking-oap-server:8.6.0-es7
# skywalking-ui
docker run \
--name skywalking-ui \
--restart always \
-p 8081:8080 -d \
--privileged=true \
--link skywalking-oap:skywalking-oap \
-e TZ=Asia/Shanghai \
-e SW_OAP_ADDRESS=http://10.1.67.88:12800 \
-v /etc/localtime:/etc/localtime:ro \
apache/skywalking-ui:8.6.0
Docker 资源
Docker 资源
- Docker 官方主页: https://www.docker.com
- Docker 官方博客: https://blog.docker.com/
- Docker 官方文档: https://docs.docker.com/
- Docker Store: https://store.docker.com
- Docker Cloud: https://cloud.docker.com
- Docker Hub: https://hub.docker.com
- Docker 的源代码仓库: https://github.com/moby/moby
- Docker 发布版本历史: https://docs.docker.com/release-notes/
- Docker 常见问题: https://docs.docker.com/engine/faq/
- Docker 远端应用 API: https://docs.docker.com/develop/sdk/
Docker 国内镜像
阿里云的加速器:https://help.aliyun.com/document_detail/60750.html
网易加速器:http://hub-mirror.c.163.com
官方中国加速器:https://registry.docker-cn.com
ustc 的镜像:https://docker.mirrors.ustc.edu.cn
daocloud:https://www.daocloud.io/mirror#accelerator-doc(注册后使用)