Cenots上用docker部署Code Server
1、基础环境
centos 7.6
2、安装docker
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-repo源
yum list docker-ce --showduplicates | sort -r #查看docker版本
yum install docker-ce-18.03.1.ce -y #安装docker
3、修改docker配置文件
vim /etc/docker/daemon.json #如果没有配置文件请创建
#修改docker默认网段,国内镜像源
{
"bip":"192.168.0.1/24",
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
systemctl enable docker.service #开机启动docker
systemctl start docker.service #启动docker
4、安装并启动 Code Server 服务
#code-server镜像自带python3.7
[root@localhost ~]# docker run -itd --name my-code -u root -p 80:8080 -v /data/my-code:/home/coder/project -e PASSWORD=123456 codercom/code-server:latest --auth password
714026c0485044c126dfe12940cfb88a351e4496ad4463c4a378a41ee3093289
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
714026c04850 codercom/code-server:latest "dumb-init fixuid -q…" 17 minutes ago Up 17 minutes 0.0.0.0:80->8080/tcp my-code
浏览器访问服务器公网ip,输入密码 123456 即可进入我的Code Server
5、利用nsenter快速进入docker容器
#获取docker的PID
[root@localhost ~]# docker inspect -f "{{ .State.Pid }}"
30810
#用nsenter通过PID连接docker
[root@localhost ~]# nsenter -t 30810 -m -u -i -n -p /bin/bash
root@714026c04850:/#
#脚本实现
#/bin/bash
#Use nsenter to access docker
docker_in(){
NAME_ID=$1
PID=$(docker inspect -f "{{ .State.Pid }}" $NAME_ID)
nsenter -t $PID -m -u -i -n -p /bin/bash
}
docker_in $1
[root@localhost ~]# ./docker_in.sh my-code
root@714026c04850:/#