Docker试玩

1. Ubuntu中安装docker

sudo apt-get update 
sudo apt-get install docker-io

1.1 CentOS7中安装docker

安装docker

yum -y install docker-io

yum list installed | grep docker

启动docker

systemctl restart docker

2. 基于基础镜像Ubuntu制作新镜像

1)下拉基础镜像Ubuntu

docker pull <镜像名称>  如: docker pull ubuntu

2)运行交互式容器

docker run (--name=容器名称,自定义) -it 镜像名 /bin/bash

注意: 如果启动报如下的错误,解决办法如下所示:

错误提示: [root@izj6c0zsm04q86s2tu4e12z /]# docker run -it docker.io/ubuntu:latest /bin/bash
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:235: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused \"Cannot set property TasksAccounting, or unknown property.\"".

解决办法: yum update

3)如果已退出容器,则使用exec参数进行容器,安装相关py库(pip install -r xxx.txt)

docker exec -it 容器名或者容器的id /bin/bash

4)将安装好插件的容器编译好镜像并上传镜像

docker commit -a 作者 -m '注解' 容器名 镜像名:镜像版本号
docker push 镜像名:镜像版本号

3. 容器基本操作

1)查看运行中的容器

docker ps

2)查看建立的容器

docker ps -a 或者 -l

3)停止守护式容器]()

docker stop 容器id/容器名(停止容器,需要等容器处理完逻辑才停止)
docker kill 容器id/容器名(直接停止容器)

4)重新启动停止的容器

docker start 容器id/容器名

5)删除容器

docker rm 容器id/容器名

6)退出容器但不关闭容器

control+p+q键一起按

7)查看镜像

docker images

8)删除镜像

docker rmi 镜像id/镜像名

docker学习网站

http://www.docker.org.cn/

容器常用的操作命令
docker ps

docker ps -a

docker run -it 镜像 /bin/bash

ctrl + p + q

docker -stop

docker -rm 容器id

docker -rmi 镜像
容器安装环境
apt update

apt install python3

apt install python3-pip

apt install vim

apt install git

apt install net-tools

docker commit -a 作者 -m '注解' 容器id 镜像名:镜像版本号

docker run -itdp 8080:5000 blog:v1 /bin/bash
docker 私服搭建
docker pull registery

第一种:

docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry_new registry:latest

第二种(简单的)

docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 docker.io/registry

创建镜像

docker run -it --name='blogv2' blog:v1 /bin/bash
docker commit -a Roctey -m '基础2blog' 容器id 地址:端口/blogbase:v1

上传镜像

修改/etc/docker/daemon.json中的内容,添加镜像仓库地址insecure-registries参数

{
    "registry-mirrors":["https://registry.docker-cn.com"],
     "insecure-registries":["47.240.32.247:5000"]
}
docker push 地址:端口/blogbase:v1
拉镜像
# 在home目录下创建文件夹

touth Dockerfile

# 写文件

FROM 47.240.32.247:5000/blogbase:v1

ADD ./BlogPro /home/BlogPro

WORKDIR /home/BlogPro

ENTRYPOINT ["python3"]

CMD ]["manage.py", "runserver", "0.0.0.0:8000"]   #django

CMD ]["manage.py", "runserver","-h", "0.0.0.0","-p", "8000"]    #flask 

# 创建容器

docker build -t blognew
解决docker容器中文乱码,修改docker容器编码格式

查看配置文件均已经设置成了UTF-8

查看docker容器编码格式: 执行locale命令,可以看到当前编码格式为POSIX,而这种编码格式不支持中文.

locale -a查看容器所有语言环境

C.UTF-8可以支持中文,只需要把容器编码设置为C.UTF-8即可

1.临时修改:

​ locale

​ locale -a

​ LANG=C.UTF-8 (有的是zh_CN.UTF-8,不过我在本地没发现这种编码)

export LC_ALL=C.UTF-8

source /etc/profile

2.永久修改:修改Dockerfile

在Dockerfile中添加一行

ENV LANG C.UTF-8

重新制作docker镜像,docker run -ti [镜像] 进入容器后执行locale发现编码格式已经被修改为C.UTF-8,之前出现的中文文件名乱码问题也没有了。

你可能感兴趣的:(Docker试玩)