安装 docker
如有需要可先卸载可能存在的旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
更新apt包索引
sudo apt-get update
安装以下包以使apt可以通过HTTPS使用存储库(repository)
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
添加Docker官方的GPG密钥
curl -fsSL download.docker.com/linux/ubunt… | sudo apt-key add -
验证您在是否拥有带有指纹的密钥
sudo apt-key fingerprint 0EBFCD88
使用下面的命令来设置stable存储库
sudo add-apt-repository "deb [arch=amd64] download.docker.com/linux/ubunt… $(lsb_release -cs) stable"
再更新一下apt包索引
sudo apt-get update
安装最新版本的Docker CE
sudo apt-get install docker-ce
拉取最新的 ubuntu:16.04 镜像
sudo docker pull ubuntu:16.04
查看镜像
sudo docker images
docker 重命名
sudo docker images
sudo docker tag <image_id> <new name>
sudo docker rmi <原image name>:<原tag>
运行容器,并且可以通过 exec 命令进入 ubuntu 容器
sudo docker run -itd --restart=always --network=host --privileged -v /etc/localtime:/etc/localtime:ro <repository>:<tag> /bin/bash
进入容器
sudo docker exec -it <container id> <command>
进入容器,配置容器环境
- apt-get update
apt install iputils-ping
apt-get install vim
apt-get install git
apt-get install pkg-config
- 创建目录
mkdir ljd
cd ljd
mkdir project
mkdir software
- 安装 go 环境
- 下载、解压
apt-get install wget
wget https://golang.google.cn/dl/go1.16.2.linux-amd64.tar.gz
tar -xzvf go1.16.2.linux-amd64.tar.gz
mv -f go /usr/local/
# 创建Go语言工作目录
mkdir go_project
- 编辑环境变量
vim /etc/profile
export GOPATH=/ljd/software/go_project
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
source /etc/project
- 测试
go version
cd go_project
vim test.go
---------------------------
package main
import (
"fmt"
"runtime"
)
func main() {
fmt.Println("Hello World!", runtime.Version())
}
---------------------------
go run test.go 输出Hellow World 证明成功。
- 安装 webrtc(go)
git clone
- IPFS 安装
- 源码编译
apt-get install libssl-dev
apt-get install gcc
cd go_project/
git clone https://github.com/ipfs/go-ipfs.git
cd go-ipfs
go env -w GOPROXY=https://goproxy.cn,direct
make build GOTAGS=openssl
make install
- 初始化
cmd/ipfs/**ipfs** init
# 以下为命令输出
generating ED25519 keypair...done
peer identity: 12D3KooWFRHcmCNf451T7VjGFBNpo9rGibBnYWYj7mZNokei6tE8
initializing IPFS node at /home/zjkj/.ipfs
to get started, enter:
ipfs cat /ipfs/QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc/readme
修改监听IP地址和端口
vim ~/.ipfs/config
# 确保文件中内容如下所示
"Addresses": {
"Swarm": [
"/ip4/0.0.0.0/tcp/4001",
"/ip6/::/tcp/4001",
"/ip4/0.0.0.0/udp/4001/quic",
"/ip6/::/udp/4001/quic"
],
"Announce": [],
"NoAnnounce": [], i
"API": "/ip4/0.0.0.0/tcp/5005",
"Gateway": "/ip4/0.0.0.0/tcp/9095"
# 后台启动
nohup cmd/ipfs/ipfs daemon > ipfs.log 2>&1 &
ipfs version
- 添加文件
cd ~
vim test.txt
ipfs add test.txt
# ******************** 提示内容001:开始 ********************
added QmeomffUNfmQy76CQGy9NdmqEnnHU9soCexBnGU3ezPHVH test.txt
38 B / 38 B [=================================================================================================================] 100.00%
# ******************** 提示内容001:结束 ********************
# 会显示该文件的hash值
# 我们将/home/ps/.ipfs/config中监听端口修改为9095
# 通过 http://localhost:9095/ipfs/<file_hash> 可以访问到文件的内容
- 配置IPFS API
安装好之后,可以通过 http://localhost:5005/api/v0/add 来访问,可以通过postman来测试添加文件:
- 配置 java 环境
vim /etc/profile
解压后配置 jdk
export JAVA_HOME=/usr/lib/jvm/jdk-14.0.1 ## 这里要注意目录要换成自己解压的jdk 目录
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
使配置生效
source /etc/profile
- 配置 maven
mkdir maven_repo
vim config/setting.xml
添加
<localRepository>/opt/maven/apache-maven-3.6.3/maven-repo</localRepository>
配置国内镜像
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
vim /etc/profile
export MAVEN_HOME=/ljd/software/apache-maven
export PATH=$PATH:$MAVEN_HOME/bin
source /etc/profile
- 配置 node
解压
tar -xvf node...tar.xz
环境变量
export NODE_HOME=/ljd/softwre/node解压目录
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
cd node解压目录
mkdir node_glo
bal
mkdir node_cache
npm config set prefix "node_global"
npm config set cache "node_cache"
#npm仓库淘宝源
npm config set registry https://registry.npm.taobao.org
- 安装live555
sudo apt install build-essential
cd /ljd/software/
sudo apt-get install libssl-dev
wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz
tar -xzvf live555-latest.tar.gz
cd live
./genMakefiles linux
make
cd mediaServer
# 可执行文件为 live555MediaServer
nohup ./live555MediaServer > run.log 2>&1 &
- 配置 Nginx
tar xzvf nginx-1.20.1.tar.gz
mv nginx-1.20.1 /usr/local/nginx-1.20.1
# 进入nginx目录
/usr/local/nginx/nginx-1.20.1
# 执行命令
./configure
# 执行make命令
make
# 执行make install命令
make install
启动
#进入nginx启动目录
cd /usr/local/nginx/sbin
# 启动nginx
./nginx
# 重新加载配置文件
./nginx -s reload
# 关闭
./nginx -s stop
- ps知识点
### docker中run和start的区别
docker run 后面指定的是一个镜像
而docker start指定的是一个容器
docker run是利用镜像生成容器,并启动容器,而docker start是启动一个之前生成过的容器
删除镜像
sudo docker images
sudo docker rmi <镜像id>
或者
sudo docker rmi <repository>:<tag>
查看容器
sudo docker ps -a
停止容器运行
sudo docker stop <容器id>
save 和 load
先commit
sudo docker ps
sudo docker commit -a "提交人" -m "提交信息" <container id> <new_name>:<tag>
sudo docker save <repository>:<tag> -o new_docker_image.tar.gz
sudo docker load -i new_docker_image.tar.gz
配置 vscode 连接 远程docker
正统的方法应该是使用微软官方出的的remote-ssh 和 remote-container,但先ssh再链接docker在官方文档中被定义为非常用需求,所以没有很好的支持。故我们采用另一种办法:使用ssh直接链接到docker上。
-
镜像名称
- develop:v2
-
启动docker开放内部22端口:
- sudo docker run -itd --restart=always -p 5222:22 --privileged -v /mnt:/mnt develop:v2 /bin/bash
-
先用终端进入docker:
- sudo docker exec -it 23d6 /bin/bash
-
(可选)给root账户以ssh权限:
- vim /etc/ssh/sshd_config 并调整PermitRootLogin参数值为yes,取消注释即可
-
开启docker内部ssh服务:
- service ssh start
- 出现Starting OpenBSD Secure Shell server sshd则是成功
-
vscode开启新链接remote-ssh:
- ssh root@192.168.2.x -A -p 5222
idea 连接远程服务器 docker
- 服务器配置允许远程访问 docker
在ExecStart这行后面加上
-H tcp://0.0.0.0:2376 -H unix://var/run/docker.sock
重新加载配置文件和启动:
systemctl daemon-reload
systemctl start docker
- 在 idea 中安装 docker 插件,填写地址:tcp://xxxx.xx.xx.xx:2365
查询
sudo docker ps -a
进入
sudo docker exec -it "id" /bin/bash