Docker介绍
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。
安装
curl -sSL https://get.daocloud.io/docker | sh
查看版本
sudo docker version
启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
配置镜像加速
docker官方镜像仓库网速较差,我们需要设置国内镜像服务:
参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://jghuhrwl.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker指令
指令需要使用到管理员权限加上sudo,
dockerhub是镜像仓库,可以去拉取镜像https://hub.docker.com/
拉取镜像
- docker pull 镜像名
- docker pull 镜像名:tag
sudo docker pull mysql
sudo docker pull mysql:8.0
不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本
查看镜像
sudo docker images
可以看到刚刚拉取的两个镜像
删除镜像
- sudo docker rmi <镜像名/镜像名称>
sudo docker rmi 3218b38490ce
删除所有镜像
- docker rmi -f $(docker images -q)
sudo docker rmi -f $(sudo docker images -q)
保存镜像
将容器保存为镜像
- docker commit <容器id> <镜像名>:
首先通过docker ps指令查看容器,找到对应的容器id或者使用容器名
将容器提交保存为镜像
sudo docker commit 3e8771cb5dbc mysql:save
查看镜像。
sudo docker images
将镜像保存为tar包
- docker save -o <tar包名>.tar <镜像名>:
sudo docker save -o mysql.tar mysql:latest
将tar 包导入docker镜像
- docker load -i <tar包名>.tar
sudo docker load -i mysql.tar
制作镜像
Dockerfile
Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
创建Dockerfile
touch Dockerfile
文件内容
FROM ubuntu:20.04
ENV TZ Asia/Shanghai
ENV LANG zh_CN.UTF-8
RUN echo "deb http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse\n \
deb http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse \n \
deb http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse\n \
deb http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse\n"\
> /etc/apt/sources.list \
&& apt update && apt install -y \
openssh-server \
vim \
&& apt clean \
&& rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp* \
&& ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' && cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys \
&& sed -i 's/PermitEmptyPasswords yes/PermitEmptyPasswords no /' /etc/ssh/sshd_config \
&& sed -i 's/PermitRootLogin without-password/PermitRootLogin yes /' /etc/ssh/sshd_config \
&& echo " StrictHostKeyChecking no" >> /etc/ssh/ssh_config \
&& echo " UserKnownHostsFile /dev/null" >> /etc/ssh/ssh_config \
&& echo "root:root" | chpasswd
RUN mkdir /var/run/sshd
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]
构建镜像
sudo docker build -t myubuntu:v1 .
镜像构建成功。
运行容器
- docker run --name <容器名> -e <环境变量> -d <镜像名>:<版本号>
sudo docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
参数解释
--name:容器名(自定义)
-e:指定容器的环境变量(MYSQL_ROOT_PASSWORD这里设置mysql的密码)
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行。
-it:使用交互方式运行,进入容器查看内容
-p:端口映射,冒号左边指容器端口,冒号右边是外部主机端口
查看容器
- 查看当前运行的容器:docker ps
sudo docker ps
加上-a参数可以查询存在过的容器(停止运行的容器)
sudo docker ps -a
删除容器
- docker -rm <容器名/容器id>
sudo docker rm 3e8771cb5dbc
这里由于容器正在运行无法删除,需要先停止容器
强制删除容器
sudo docker rm -f 3e8771cb5dbc
加入-f参数,强制删除容器
停止容器
- docker stop <容器名/容器id>
sudo docker stop 3e8771cb5dbc
此时再执行删除容器的操作,可以删除了
停止所有容器
- docker stop $(docker ps -a -q)
sudo docker stop $(sudo docker ps -a -q)
推送到仓库
dockerhub
docker hub是Docker官方维护的一个公共仓库,大部分需求都可以通过在Docker Hub中直接下载镜像来实现。
注册dockerhub用户
https://hub.docker.com/signup
登录
sudo docker login
推送镜像
推送镜像前,需要将镜像重命名
sudo docker tag 076e31b16af5 chenchongbiao/myubuntu:v1
- 076e31b16af5 是镜像id
- chenchongbiao是在dockerhub注册的用户名
- myubuntu是自定义的镜像名
- v1表示标签,如果不需要可不写
sudo docker push chenchongbiao/myubuntu:v1
Docker可视化管理面板
Portainer
Portainer是一个可视化的容器镜像的图形管理工具,利用Portainer可以轻松构建,管理和维护Docker环境。 而且完全免费,基于容器化的安装方式,方便高效部署。
官方安装说明:https://www.portainer.io/installation/
面板使用英文
docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
远程模式
docker run -d -p 9000:9000 --restart=always --name prtainer portainer/portainer
FAST OS DOCKER
通过可视化界面轻松构建您的docker环境,方便您docker环境的管理,远离命令式操作。大大提高您的工作效率,减少不必要的操作。
面板使用中文文章来源:https://www.toymoban.com/news/detail-402767.html
docker run --restart always --name fast -p 9999:9999 -d -v /var/run/docker.sock:/var/run/docker.sock wangbinxingkong/fast
教程
【狂神说Java】Docker最新超详细版教程通俗易懂
Docker教程
官方文档文章来源地址https://www.toymoban.com/news/detail-402767.html
到了这里,关于UOS安装Docker及简单使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!