记录docker从安装到构建镜像的旅程

安装docker

环境

我的是ubuntu20.4 last版本,在网上查了很多资料,爬了很多坑。

安装与卸载

移除旧版本docker如果有的话

sudo apt-get remove docker docker-engine docker.io containerd runc

执行安装

执行更新
sudo apt-get update

执行安装
sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common

增加GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88

设置稳定版本仓库

使用以下指令设置稳定版仓库
sudo add-apt-repository
“deb [arch=amd64] https://download.docker.com/linux/ubuntu
$(lsb_release -cs)
stable”

免sudo

查看用户组及成员
sudo cat /etc/group | grep docker

可以添加docker组
sudo groupadd docker

添加用户到docker组
sudo gpasswd -a ${USER} docker

增加读写权限
sudo chmod a+rw /var/run/docker.sock

重启docker
sudo service docker restart

切换当前会话到新 group 或者重启 X 会话
newgrp - docker

卸载

sudo apt-get remove docker docker-engine docker-ce docker.io

使用阿里镜像加速

创建或者修改daemon配置文件/etc/docker/daemon.json来使用加速器
{
“registry-mirrors”: [“https://tvvsxjk6.mirror.aliyuncs.com”]
}
重启
sudo systemctl daemon-reload
sudo systemctl restart docker

拉取ubuntu镜像

拉取镜像

docker pull ubuntu

运行容器

docker run -itd --name ubuntu-test ubuntu

映射SSH端口

docker run --name iubuntu -itd -p 3316:22 ubuntu
参数: –name 指定生成的容器的名称
-i: 以交互模式运行容器,保证容器中STDIN是开启的。通常与 -t 同时使用;
-t: 为容器重新分配一个伪tty终端,通常与 -i 同时使用;
-d: 后台运行容器,并返回容器ID;
-p:可以指定要映射的IP和端口,但是在一个指定端口上只可以绑定一个容器。
支持的格式有 hostPort:containerPort、ip:hostPort:containerPort、 ip::containerPort。
ubuntu 则是镜像名称,镜像ID也可以的

再次进入

docker exec -it ubuntu-test bash

安装SSH

apt-get update
apt-get install openssh-server
这一步是在安装dpkg填写时如果需要配置地域,重启容器后操作的,可以不操作
dpkg --configure -a

安装编辑器
apt-get install vim
配置ssh
vim /etc/ssh/sshd_config
/------
#PermitRootLogin prohibit-password
PermitRootLogin yes
-------/

重启服务
service ssh restart
设置root密码
passwd root

安装jdk1.8

用工具上传jdk-linux安装文件
解压并配置
将解压后的文件夹移到/usr/local目录下
#cd /root/
sudo tar –zxvf jdk-8u181-linux-x64.tar.gz
mkdir env
mv jdk1.8.0_181 env/
vim /etc/profile 在最后添加以下内容
//
#set java env
export JAVA_HOME=/root/env/jdk1.8.0_181
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: J R E H O M E / l i b e x p o r t P A T H = {JRE_HOME}/lib export PATH= JREHOME/libexportPATH={JAVA_HOME}/bin:$PATH
///
刷新配置
source /etc/profile
测试
java -version

容器的备份,生成备份镜像

docker commit -p [容器ID] [镜像名称]
ps: docker commit -p 30b8f18f20b4 container-backup

打包本地镜像,与恢复

使用命令查看本地镜像ID
docker images

保存镜像为文件
docker save [ID] > /路径/名称.tar
ps: docker save 30b8f18f20b4 > /root/backup/container-backup.tar

从镜像备份文件创建镜像
docker load < /路径/名称.tar
ps: docker load < /root/backup/container-backup.tar

镜像的删除

docker rm 容器ID
docker rmi 镜像ID

修改运行容器的映射端口

编辑配置文件
/var/lib/docker/containers/[容器ID]/hostconfig.json
重启容器
systemctl restart docker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值